Годун Дмитро

Науковий керівник: кандидат технічних наук, доцент кафедри інформатики, Присяжнюк О.В.

Кіровоградський державний педагогічний університет імені Володимира Винниченка

Анотація: В статті розглядаються основні поняття про QR-код, а також популярні бібліотеки для роботи з QR-кодом в операційній системі Android.

Ключові слова: Андроїд, QR-код, віртуальний музей, швидка відповідь.

Одним з найбільш перспективних та таких, що активно розвиваються на сьогоднішній день, є ринок мобільних технологій. Використання QR-коду пришвидшує занесення та обробку інформації у мобільних додатках. Сфери застосування QR – коду сьогодні численні: кафе, ресторани, бібліотеки, музеї, виставкова діяльність, туризм. Для дешифрування потрібне виконання таких умов: наявність мобільного пристрою з камерою і програмного забезпечення. Тому дослідження перспектив зчитування та обробки QR-коду в мобільних додатках для швидкого перегляду медіа контенту є актуальним з точки зору перспектив подальшого розвитку мобільного програмного забезпечення.

Мета дослідження полягає у  розробці та впровадженні функціоналу зчитування QR-коду у Android додатку «віртуальний музей». Для досягнення мети поставлено такі завдання:

  1. Дослідити найбільш розповсюджені бібліотеки, що використовуються для роботи з QR-кодом.
  2. Впровадити у Android додаток «віртуальний музей» зчитування та декодування QR-коду.
  3. Одержати інформацію про експонат з серверу по декодованому ідентифікатору.

QR-код можна інтерпретувати як автономне гіперпосилання. Так як і гіперпосилання в інтернеті за допомогою яких можна відкрити бідь-який контент.

QR-код має деякі переваги порівняно зі звичайним штрих-кодом. У звичайному штрих коді дані кодуються і зчитуються тільки по вертикалі в свою чергу QR-код можна кодувати як вертикально так і горизонтально, і зчитати його можна з будь-якого ракурсу. QR-код стійкий до пошкоджень його можна зчитати навіть, якщо частина коду відсутня або пошкоджена. Абревіатура QR означає Quick Response, тобто «швидка відповідь». Головна особливість даного типу коду у тому, що він легко розшифровується не тільки за допомогою спеціального сканеру, а й за допомогою будь-якого смартфону, який оснащений звичайною камерою і простим та легким програмним забезпеченням, це відкриває достатньо широкі перспективи його використання у повсякденному житті. QR-коди описані та опубліковані у якості стандартів ISO/IEC 18004:200 [1].

На відміну від звичайного штрих-коду, який сканують тонким променем, QR-код визначається сенсором як двовимірне зображення. Три квадрати в кутах зображення та менші синхронізуючі квадратики по всьому коду дозволяють нормалізувати розмір зображення і його орієнтацію, а також кут, під яким сенсор розташований до поверхні зображення. Точки переводяться в двійкові числа  з перевіркою контрольних сум. Приклад QR-коду у якому закодована фраза «Hello world» (Рис.1.).

image001 

 Рис.1. – приклад QR-коду

QR-код досить поширений у країнах Азії, Китаю, поступово розвивається в Європі та Північній Америці. Найбільше визнання він отримав серед користувачів мобільного зв'язку — встановивши програму-розпізнавач, користувач може миттєво заносити в свій телефон текстову інформацію, додавати контакти в адресну книгу, переходити по web-посиланнях, відправляти SMS-повідомлення, зчитувати географічні координати, здійснити оплату, почати перегляд відео, відтворити аудіо, відкрити документ, перейти на сторінку у соц-мережі, завантажити додаток для смартфону, отримати купон на знижку тощо. Також деякі програми можуть розпізнавати файли GIF, JPG, PNG або MID менше 4 КБ і зашифрований текст, але ці формати не отримали популярності. QR-коди застосовуються для розміщення в рекламі, пошуку інформації, привітань зі святами, обміну контактами, авторизації та реєстрації в сервісах, підключення до WiFi в публічних місцях — для будь-яких дій, що мають на увазі інтерактив з власником смартфону [2].

Огляд існуючих бібліотек для роботи з QR-кодом

ZXING – це бібліотека з відкритим вихідним кодом, має багато форматну 1D/2D обробку зображень штрих-кодів реалізована на Java, а також портована на інші мови[3]. Бібліотека підтримує різні стандарти штрих-коду, а також QR-коди:

Товари 1D

-           UPC-A, UPC-E, EAN-8, EAN-13

Виробничі 1D

-           Code 39, Codabar, RSS-14

2D

-           QR Code, Data Matrix, Aztec (beta), PDF 417 (beta)

ZBAR library – це бібліотека з відкритим вихідним кодом, полегшена альтернатива бібліотеки Zxing, дуже проста у використанні, але досить добре виконує свою роботу. Це крос платформена бібліотека, яка реалізована в Linux, Windows, Android, IOS. Підтримує такі стандарти:

-           EAN-13/UPC-A,

-           UPC-E, EAN-8,

-           Code 128, Code 39,

-           QR Code.

QRCodeReaderView – це бібліотека заснована на ZXING спрощена для швидкого підключення та використання. У бібліотеці реалізовано свій layout- елемент, що спрощує використання бібліотеки.

Зчитування QR-коду у додатку. Для підключення бібліотеки використовується Gradle

dependencies {

compile 'me.dm7.barcodescanner:zxing:1.9'

}

Для правильної роботи бібліотеки ZXING у AndroidManifest-файлі додатку необхідно додати дозвіл на використання камери смартфону [4].

<uses-permission android:name="android.permission.CAMERA" />

Приклад виклику QR модулю з класу MainActivity (рис.2.).

Intent qrScanner = new Intent(MainActivity.this, QrActivity.class);
startActivity(qrScanner);

 image002

Рис.2. QrActivity

При зверненні до класу QrActivity викликається метод  QRScanner() в якому у свою чергу створюється новий екземпляр бібліотечного класу ZXingScannerView, за допомогою створеного екземпляру можна керувати автофокусом, світлодіодним фотоспалахом, вибором камери для використання, а також вмикання та вимикання камери. Після успішного декодування QR-коду відкривається нове Activity з потрібним експонатом, його описом, зображенням і характеристиками.

Висновки. У роботі виконано порівняння сучасних бібліотек для роботи з QR-кодом у середовищі операційної системи Android, які дозволяють створювати та зчитувати QR-коди. Аналіз існуючих бібліотек показав, що доцільніше використовувати бібліотеку ZXING, адже вона дозволяє швидко застосувати функціонал роботи з QR-кодом у Android додатку. Було впроваджено в Android додаток  «віртуальний музей» (музей історії і техніки на базі Кіровоградського державного педагогічного університету імені Володимира Винниченка) функціоналу зчитування та декодування QR-коду. Це дозволяє одержувати інформацію про експонат з серверу по декодованому ідентифікатору та          відкривати інформацію про  експонат у додатку по зчитаному та декодованому QR-коду.

 

Список літератури:

  1. Information technology — Automatic identification and data capture techniques — QR Code (ISO/IEC 18004:2000): ДСТУ – ISO/IEC 18004:2000 [Действителен с 2000г.]. – ISO copyright office, 2000. – 140с. – (Международный стандарт).
  2. Waters J. QR Codes For Dummies / Joe Waters. – New Jersey: John Wiley & Sons, Inc., 2012. – 120 с.
  3. Sean O. Official ZXing ("Zebra Crossing") [Електронний ресурс] / Owen Sean. – 2016. – Режим доступу до ресурсу: https://github.com/zxing/zxing.
  4. Maguluru D. Barcode Scanner Libraries for Android [Електронний ресурс] / Dushyanth Maguluru. – 2016. – Режим доступу до ресурсу: https://github.com/dm77/barcodescanner.

 

Відомості про авторів:

Годун Дмитро Олександрович – студент VI курсу фізико-математичного факультету Кіровоградського державного педагогічного університету імені Володимира Винниченка.