Atena Aztec Reader – prezentacja usługi w chmurze (czyli dlaczego warto zrobić zdjęcie dowodu rejestracyjnego)

Aztek_popr

Czy wyobrażacie sobie usługę webową, dzięki której by wyliczyć składkę za komunikacyjne ubezpieczenie OC, wystarczy przytrzymać dowód rejestracyjny przed kamerą internetową? Albo by wystawić ogłoszenie o sprzedaży samochodu, po prostu zrobić zdjęcie dowodu, zamiast wypełniać te wszystkie formularze? Weźmy jeszcze inną sytuację: poszukujemy części do swojego auta w internetowym sklepie motoryzacyjnym, lecz nie pamiętamy ani typu pojazdu, ani właściwej wersji… Czy nie byłoby wygodnie za pomocą smartfonu sczytać dane z dowodu i o nic więcej się nie martwić? Dzisiaj te marzenia się spełniają, ponieważ z pomocą przychodzi nasze oprogramowanie. Zapraszam do zapoznania się z produktem Atena Aztec Reader.

Na łamach tego bloga opisywałem już nasze wysiłki zmierzające do automatyzacji odczytu danych z dowodów rejestracyjnych, poprzez skanowanie zawartych w nich kodów Aztec. Opublikowałem wówczas test czytników http://blog.atena.pl/test-odczytu-kodow-aztec, oraz test kamer internetowych http://blog.atena.pl/odczyt-kodow-aztec-c-d. Od tamtego czasu, listopada 2011 roku, minęło już trochę czasu, a wytworzone przez nas oprogramowanie ewoluowało do usługi udostępnionej w modelu Software as a Service (SaaS), czyli w chmurze. W praktyce oznacza to, że nasz komponent można osadzić w dowolnej aplikacji webowej lub natywnej mobilnej, na zasadzie wtyczki zagnieżdżanej wewnątrz innej aplikacji.

Ale może zacznijmy od podstaw…

Czym są kody Aztec?

Cytując za Wikipedią, kod Aztec to „alfanumeryczny dwuwymiarowy matrycowy kod kreskowy”. Posiada on kwadratowy kształt, z charakterystycznym elementem w centrum (rdzeniem), który kojarzy się z widzianą z góry piramidą schodkową – stąd się wzięła nazwa „Aztec”. Żeby nie zanudzać zanadto Czytelników teorią, ułatwię sobie wyjaśnienia przykładową ilustracją, która przedstawia pewien tekst zapisany w kodzie Aztec.

Przykładowy kod Aztec

Przykładowy kod Aztec

Odczyt tego kodu pozostawiam dociekliwym Czytelnikom. Dla ułatwienia dodam, że w dalszej części artykułu można znaleźć na to kilka sposobów… 🙂

O kodach Aztec można powiedzieć coś jeszcze: można je znaleźć w każdym polskim dowodzie rejestracyjnym, wydanym po 1 października 2004 roku. Dlatego właśnie na nich skupiliśmy naszą uwagę, wytwarzając nowe oprogramowanie,  któremu poświęcony jest niniejszy artykuł.

Odczyt danych z dowodu rejestracyjnego

Proces odczytu danych z dowodu rejestracyjnego można podzielić na 4 etapy, z których każdy kolejny jako informację wejściową otrzymuje wynik przetwarzania etapu poprzedniego.

  1. Skanowanie – wprowadzenie do pamięci komputera obrazu ze skanera lub pliku graficznego. Ten etap polega na wykonaniu zdjęcia dowodu rejestracyjnego lub zeskanowaniu go przy pomocy urządzenia skanującego. W przypadku odczytu za pomocą kamery internetowej ta czynność może być wykonywana nawet kilkadziesiąt razy na sekundę.
  2. Digitalizacja (odczyt bitmapy) – na pozyskanym obrazie lokalizowany jest kod Aztec i zostaje podjęta próba jego odczytania. Jeżeli jakość obrazu na to pozwala, informacja graficzna zostaje przekształcona na dane w postaci macierzy zero-jedynkowej, będącej cyfrową wersją odczytanego kodu.
  3. Dekodowanie – przekształcenie macierzy zero-jedynkowej w dane tekstowe, czyli ciąg znaków ASCII, za pomocą algorytmów zawartych w specyfikacji kodu Aztec. Na tym etapie kończą swoje działanie wszystkie czytniki kodów kreskowych. Zdekodowany ciąg znaków jest tekstową reprezentacją odczytanego kodu.
  4. Deszyfrowanie (lub deszyfracja) – ekstrakcja danych wynikowych z zaszyfrowanego ciągu znaków tekstowych, przy zastosowaniu algorytmu deszyfrującego. Ostatni etap przekształca ciąg niezrozumiałych znaków tekstowych na dane odczytane z dowodu rejestracyjnego.
Etapy skanowania kodu Aztec

Etapy skanowania kodu Aztec

Ostatni etap występuje tylko w przypadku kodów pochodzących z dowodów rejestracyjnych.

Atena Aztec Reader

Pomysł na wytworzenie tego produktu narodził się przy próbie ubezpieczenia nowo zakupionego samochodu. Ponieważ wielu ubezpieczycieli oferuje sprzedaż bezpośrednią, postanowiłem skorzystać z tej opcji, licząc na niższą składkę. Ku mojemu zdziwieniu, na każdej z dostępnych stron typu „Direct”, musiałem wypełniać te same, wyczerpujące informacje o pojeździe. Po przebrnięciu przez kalkulację składki u dwóch pierwszych ubezpieczycieli, miałem już tej czynności serdecznie dość i straciłem ochotę na sprawdzanie kolejnych ofert. Wówczas w mojej głowie pojawiła się myśl, od której zaczęła się nasza przygoda z kodami Aztec: czemu nie użyć kamery internetowej? W ten sposób w laboratorium Ateny zaczęliśmy badać możliwość odczytu kodów Aztec przy zastosowaniu różnych urządzeń. Tak powstał prototyp aplikacji, która obsługuje kamery i czytniki. Następnie zajęliśmy się odczytem kodów ze zdjęć i obsługą skanerów. Wychodząc naprzeciw potrzebom klientów, przygotowaliśmy wersję webową, uruchamianą w oknie przeglądarki. Ostatnim krokiem było udostępnienie tej usługi w chmurze.

Wersja webowa

Webowa wersja aplikacji dostępna jest na stronie http://aztec.atena.pl/. Przygotowaliśmy tę usługę tak, aby komponent odczytujący kody Aztec mógł być osadzany na dowolnej stronie internetowej. I znowu, aby nie zanudzać teorią, zaprezentuję praktyczne działanie aplikacji. Poniżej powinien pojawić się w pełni sprawny i działający komponent Atena Aztec Reader, do którego przetestowania serdecznie zapraszam.


Działanie komponentu

Aby komponent webowy zadziałał, trzeba zainstalować w przeglądarce wtyczkę Microsoft Silverlight. Jeśli przeglądarka nie jest w nią wyposażona, w miejscu komponentu pojawi się informacja o konieczności jej doinstalowania. Obszerna pomoc dotycząca sposobów korzystania z powyższego komponentu dostępna jest na stronie http://aztec.atena.pl w postaci FAQ. Na potrzeby tego artykułu ograniczę się jedynie do krótkiego omówienia dostępnych opcji odczytu.

  • Czytnik – odczyt kodu za pomocą urządzenia skanującego podłączonego do komputera przez port USB.
  • Kamera – opcja ta umożliwia odczytanie kodu za pomocą kamery internetowej. Wymagana jest zgoda użytkownika na dostęp do kamery z poziomu komponentu Silverlight.
  • Skaner – jeśli w systemie operacyjnym rozpoznano skanujące urządzenie zewnętrzne, można skorzystać z tej opcji, aby odczytać kod bezpośrednio ze skanu.
  • Zdjęcie – w tym trybie wskazujemy zapisany na dysku plik graficzny lub zdjęcie zawierające kod Aztec.
  • Smartfon – do skorzystania z tej opcji wymagana jest zainstalowana na smartfonie wersja mobilna aplikacji, którą opiszę nieco dalej.
  • Tekst – umożliwia odczyt danych zawartych w dowodzie rejestracyjnym poprzez wklejenie odczytanego wcześniej ciągu znaków ASCII.

Niektóre z powyższych opcji mogą być niedostępne (wyszarzone ikony), jeśli w systemie nie wykryto odpowiedniego urządzenia zewnętrznego. Do obsługi skanerów i czytników wymagane jest zainstalowanie dodatkowego sterownika, który można ściągnąć stąd.

Co się dzieje po udanym odczycie kodu?

To już zależy od miejsca, w którym umieszczono nasz komponent. W powyższym przykładzie wybrane dane prezentowane są bezpośrednio na stronie. W innym przypadku odczytane dane mogą się pojawić w formularzu albo np. w przygotowanej do tego celu tabeli lub zestawieniu (jak w wersji demonstracyjnej na stronie http://aztec.atena.pl). Sam komponent zwraca odczytane dane sformatowane do pliku XML, który następnie może być przetworzony i wykorzystany dowolnie w dalszej obsłudze procesu.

Wersja mobilna

Jedną z opcji do wyboru w wersji webowej jest skorzystanie ze smartfonu lub tabletu jako urządzenia odczytującego kod Aztec. Używanie urządzenia mobilnego jako skanera kodów kreskowych to wielka wygoda. Czynność skanowania kodu przypomina trochę robienie zdjęcia w trybie makro (z bliskiej odległości). Po kilku odczytach łatwo nabiera się wprawy. Warunkiem prawidłowego działania aplikacji jest dostęp do kamerki z funkcją autofocusa, oraz połączenie internetowe.

Co się dzieje po udanym odczycie kodu?

Na ekranie urządzenia mobilnego pojawia się komunikat zawierający wybrane dane odczytane z kodu Aztec. Jeśli chcielibyśmy przekazać je do komponentu webowego (na przykład w trakcie wypełniania formularza na stronie internetowej skorzystaliśmy z opcji „smartfon”), wystarczy we wskazanym polu wpisać kod, który pojawi się na urządzeniu mobilnym razem z odczytanymi danymi. Użytkownik ma na to ograniczony czas: jeśli w ciągu 30 minut nie wykorzysta udostępnionego kodu, identyfikator odczytu zostanie automatycznie usunięty z bufora, a odczytane dane bezpowrotnie utracone. Ten mechanizm ma na celu uniknięcie przechowywania jakichkolwiek danych z odczytywanych kodów po wygaśnięciu sesji przeglądarki, zarówno danych osobowo-adresowych, jak i danych pojazdu.

Aplikacja Atena Aztec Reader w wersji mobilnej może też być „osadzana” w innych aplikacjach mobilnych jako biblioteka zewnętrzna lub wręcz „wywoływana” z poziomu innej aplikacji, do której zwróci odczytane dane w formacie XML. W podobny sposób działa wiele aplikacji mobilnych, np. z poziomu aparatu fotograficznego można przejść do galerii zdjęć itp.

 

Odczyt kodu Aztec przy pomocy tabletu

Odczyt kodu Aztec przy pomocy tabletu

Serdecznie zapraszam do testów! Aplikacja do ściągnięcia z Google Play jest dostępna tutaj: https://play.google.com/store/apps/details?id=pl.atena.aztecreader

W dniu publikacji tego artykułu, we wrześniu 2013 roku, dostępna jest tylko wersja na Androida. Do zakończenia testów będzie ona opatrzona etykietą „beta”, dlatego jeśli Czytelnicy trafią na jakiekolwiek błędy lub niedociągnięcia, będziemy wdzięczni za informację, która pomoże nam rozwiązać problem. Jednocześnie pracujemy nad tym, by umieścić w App Store wersję na iOS, zatem już niedługo użytkownicy urządzeń firmy Apple również będą mogli korzystać z naszej aplikacji.

Co nas wyróżnia?

Atena Aztec Reader jest kompleksowym, obsługującym wiele urządzeń, działającym niezależnie, publicznie dostępnym oprogramowaniem. Do komunikacji z chmurą używamy bezpiecznych połączeń, a odczytanych danych w żaden sposób nie przetwarzamy ani nie przechowujemy. Moim zdaniem Atena Aztec Reader jest jedynym takim rozwiązaniem dostępnym na naszym rynku. Bycie pierwszym zobowiązuje, dlatego nie zatrzymujemy się miejscu. Ciągle rozwijamy nasz produkt. Wszystkie usprawnienia wprowadzamy z myślą o wygodzie użytkowników, aby wizja powszechności tego rozwiązania, nakreślona we wstępie tego artykułu, mogła stać się rzeczywistością.

Podsumowanie

Jak widać, odczyt danych z dowodu rejestracyjnego jest dziecinnie prosty i, co najważniejsze, dostępny dla każdego. Warto zatem dla własnej wygody mieć w swym komputerze zapisany skan lub zdjęcie własnego dowodu rejestracyjnego. Może się to nam przydać szybciej, niż myślimy…

Zapewne niektórym z Was przyszło do głowy pytanie: „Hej, czemu by tego samego nie zrobić z dowodem osobistym?”. My też na to wpadliśmy. Nie zdradzając zbyt wiele, na razie mogę powiedzieć, że pierwsze doniesienia z naszego laboratorium są całkiem obiecujące…

A może macie jeszcze ciekawsze przemyślenia? Zapraszam do komentowania tekstu i czekam na Wasze wiadomości.

Źródła

Wikipedia – opis kodu 2D Aztec.

Skuteczność zabezpieczeń polskich dowodów rejestracyjnych – archiwalny artykuł z kwartalnika Człowiek i Dokumenty.

„Skanowanie aparatowe” kodu 2D AZTEC – rekomendacja nr 2/2007 Polskiej Izby Ubezpieczeń z 1 października 2007 roku.

Test odczytu kodów Aztec – artykuł na blogu technologicznym Ateny na temat czytników kodów kreskowych (listopad 2011 roku).

Odczyt kodów Aztec – c.d. – artykuł będący kontynuacją powyższego wpisu, na temat odczytu kodów Aztec za pomocą kamer internetowych (listopad 2011 roku).

Atena Aztec Reader – działająca w systemie Android aplikacja Ateny służąca do odczytu kodów Aztec, dostępna w Google Play.

http://aztec.atena.pl/ – domowa strona projektu Atena Aztec Reader.


Jarosław Fostacz

O Jarosław Fostacz

Od 2003 roku jestem związany z firmą ATENA - początkowo jako programista, następnie projektant. Aktualnie jestem kierownikiem Zespołu ds. Rozwoju i Technologii, oraz opiekunem niniejszego Bloga Technologicznego. Moją siłą napędową jest nieustanne poszukiwanie innowacji oraz nowych technologii.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *