Годун Дмитро
Науковий керівник: кандидат технічних наук, доцент кафедри інформатики, Присяжнюк О.В.
Кіровоградський державний педагогічний університет імені Володимира Винниченка
Анотація: В статті розглядаються основні поняття про QR-код, а також популярні бібліотеки для роботи з QR-кодом в операційній системі Android.
Ключові слова: Андроїд, QR-код, віртуальний музей, швидка відповідь.
Одним з найбільш перспективних та таких, що активно розвиваються на сьогоднішній день, є ринок мобільних технологій. Використання QR-коду пришвидшує занесення та обробку інформації у мобільних додатках. Сфери застосування QR – коду сьогодні численні: кафе, ресторани, бібліотеки, музеї, виставкова діяльність, туризм. Для дешифрування потрібне виконання таких умов: наявність мобільного пристрою з камерою і програмного забезпечення. Тому дослідження перспектив зчитування та обробки QR-коду в мобільних додатках для швидкого перегляду медіа контенту є актуальним з точки зору перспектив подальшого розвитку мобільного програмного забезпечення.
Мета дослідження полягає у розробці та впровадженні функціоналу зчитування QR-коду у Android додатку «віртуальний музей». Для досягнення мети поставлено такі завдання:
- Дослідити найбільш розповсюджені бібліотеки, що використовуються для роботи з QR-кодом.
- Впровадити у Android додаток «віртуальний музей» зчитування та декодування QR-коду.
- Одержати інформацію про експонат з серверу по декодованому ідентифікатору.
QR-код можна інтерпретувати як автономне гіперпосилання. Так як і гіперпосилання в інтернеті за допомогою яких можна відкрити бідь-який контент.
QR-код має деякі переваги порівняно зі звичайним штрих-кодом. У звичайному штрих коді дані кодуються і зчитуються тільки по вертикалі в свою чергу QR-код можна кодувати як вертикально так і горизонтально, і зчитати його можна з будь-якого ракурсу. QR-код стійкий до пошкоджень його можна зчитати навіть, якщо частина коду відсутня або пошкоджена. Абревіатура QR означає Quick Response, тобто «швидка відповідь». Головна особливість даного типу коду у тому, що він легко розшифровується не тільки за допомогою спеціального сканеру, а й за допомогою будь-якого смартфону, який оснащений звичайною камерою і простим та легким програмним забезпеченням, це відкриває достатньо широкі перспективи його використання у повсякденному житті. QR-коди описані та опубліковані у якості стандартів ISO/IEC 18004:200 [1].
На відміну від звичайного штрих-коду, який сканують тонким променем, QR-код визначається сенсором як двовимірне зображення. Три квадрати в кутах зображення та менші синхронізуючі квадратики по всьому коду дозволяють нормалізувати розмір зображення і його орієнтацію, а також кут, під яким сенсор розташований до поверхні зображення. Точки переводяться в двійкові числа з перевіркою контрольних сум. Приклад QR-коду у якому закодована фраза «Hello world» (Рис.1.).
Рис.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);
Рис.2. QrActivity
При зверненні до класу QrActivity викликається метод QRScanner() в якому у свою чергу створюється новий екземпляр бібліотечного класу ZXingScannerView, за допомогою створеного екземпляру можна керувати автофокусом, світлодіодним фотоспалахом, вибором камери для використання, а також вмикання та вимикання камери. Після успішного декодування QR-коду відкривається нове Activity з потрібним експонатом, його описом, зображенням і характеристиками.
Висновки. У роботі виконано порівняння сучасних бібліотек для роботи з QR-кодом у середовищі операційної системи Android, які дозволяють створювати та зчитувати QR-коди. Аналіз існуючих бібліотек показав, що доцільніше використовувати бібліотеку ZXING, адже вона дозволяє швидко застосувати функціонал роботи з QR-кодом у Android додатку. Було впроваджено в Android додаток «віртуальний музей» (музей історії і техніки на базі Кіровоградського державного педагогічного університету імені Володимира Винниченка) функціоналу зчитування та декодування QR-коду. Це дозволяє одержувати інформацію про експонат з серверу по декодованому ідентифікатору та відкривати інформацію про експонат у додатку по зчитаному та декодованому QR-коду.
Список літератури:
- Information technology — Automatic identification and data capture techniques — QR Code (ISO/IEC 18004:2000): ДСТУ – ISO/IEC 18004:2000 [Действителен с 2000г.]. – ISO copyright office, 2000. – 140с. – (Международный стандарт).
- Waters J. QR Codes For Dummies / Joe Waters. – New Jersey: John Wiley & Sons, Inc., 2012. – 120 с.
- Sean O. Official ZXing ("Zebra Crossing") [Електронний ресурс] / Owen Sean. – 2016. – Режим доступу до ресурсу: https://github.com/zxing/zxing.
- Maguluru D. Barcode Scanner Libraries for Android [Електронний ресурс] / Dushyanth Maguluru. – 2016. – Режим доступу до ресурсу: https://github.com/dm77/barcodescanner.
Відомості про авторів:
Годун Дмитро Олександрович – студент VI курсу фізико-математичного факультету Кіровоградського державного педагогічного університету імені Володимира Винниченка.