- Правила пользования QR кодом и его сканирование
- Что такое QR-код
- Что нужно для сканирования QR-кода
- Как пользоваться
- Программы для распознавания QR-кодов
- QR Droid Code Scanner
- Barcode Scanner
- Читаем QR код
- Шаг 0. QR код
- Шаг 1. Чтение 5 бит системной информации
- Шаг 2. Маска для системной информации
- Шаг 3. Чтение заголовка данных
- Шаг 4. Применение маски к заголовку
- Шаг 5. Чтение данных
Правила пользования QR кодом и его сканирование
На узор из черно-белых квадратов сегодня можно наткнуться в самых ожидаемых и неожиданных местах. Для того чтобы понять, как пользоваться QR-кодом, необходимо знать, что эта за технология, зачем она нужна и какие удобства открывает пользователям. Каким образом открыть зашифрованную информацию, которую несет в себе такой штрих-код, что для этого нужно и каким требованиям должен соответствовать мобильный гаджет. Разберем все по порядку.
Что такое QR-код
QR-код — это 2D штрих-код, несущий в себе зашифрованную полезную информацию. Его можно встретить на этикетках в магазине, разных квитанциях, на страницах интернет-сервисов, в музеях и даже на памятниках архитектуры. Шифр настолько универсален, его возможности безграничны, что может иметь разные размеры и без проблем наноситься на любую плоскую поверхность.
Аббревиатура QR-код расшифровывается, как «быстрый отклик». Современная технология очень удобная для использования в разных сферах, позволяя получить быстрый доступ к необходимой информации. Считать закодированную информацию с черно-белого квадрата можно при помощи камеры смартфона или планшета, на которые установлена специальная программа для сканирования.
При помощи специальной программы можно зашифровать любые сведения: товарный чек, интернет-ссылку, контактные данные, веб-адреса сайтов. Отсканированный код перекидывает пользователя согласно закодированной информации, если это адрес веб-сайта – мгновенно открывается в браузере. Зашифрованный текстовый файл, фото или изображение сразу же выводится на дисплей гаджета. Товарный чек – даст возможность перейти на ресурс производителя, открыть доступ к акционному купону или воспользоваться скидкой.
Одним из основных преимуществ QR-шифра является скорость получения информации. Это качество оценили товаропроизводители и банковский сектор. Потребителям стало гораздо легче совершать оплату приобретенных товаров, просто сканируя код, не нужно больше использовать банковскую карту, вводить реквизиты или пин-код. QR-технология, размещенная на рекламном сайте, мгновенно перекидывает пользователя на страницу для оформления заказа или проведения платежа за товар.
Универсальная технология пользуется широким применением, имеет большую популярность, предлагая пользователям комфорт, надежность и безопасность в проведении любых финансовых операций.
Что нужно для сканирования QR-кода
Пользоваться технологией можно только после того, как на Android, iPhone или iPad будет установлено специальное приложение. Принцип действия заключается в сканировании и расшифровки информации с QR-сервиса. После сканирования программа выводит на дисплей гаджета раскодированный результат, вся операция занимает буквально несколько секунд.
Инструкция для новичков:
- Произведите установку специального приложения для сканирования на мобильный гаджет с камерой;
- сфокусируйте объектив камеры на черно-белый квадратик, чтоб он полностью оказался в кадре;
- отсканированная информация через несколько секунд будет выведена на экран;
- если информация не выводится автоматом, нажмите вручную функцию «Snapshot».
Как видно для полноценного сканирования QR-квадрата, нужно иметь современный мобильный гаджет с хотя бы одной рабочей камерой, а также установленную программу для распознавания зашифрованной информации.
Как пользоваться
Для примера воспользуемся смартфоном известной фирмы Хуавей с фронтальной камерой и попробуем зайти при помощи отсканированного шифра в любой популярный интернет-банкинг. Пошаговые действия:
- Установите на смартфон мобильное приложение банка.
- Пройдите авторизацию в приложении.
- Кликните по вкладке «Безконтакт».
- Откройте на ПК главную веб-страницу банкинга.
- Наведите камеру на QR-квадрат и сканируйте.
- Добро пожаловать в личный кабинет.
Самый простой способ оплатить покупку в обычном гипермаркете:
- скачайте приложение, через которое данная торговая точка принимает платежи через QR-код;
- авторизуйтесь в приложении;
- наведите камеру на этикетку товара с кодом, сканируйте;
- выберите привязанную к мобильному номеру смартфона кредитку, с которой будет произведена оплата;
- кликните «Оплатить».
Использовать QR-технологию можно для удобной оплаты онлайн в интернет-сервисах. Как это происходит:
- авторизуйтесь в личном кабинете онлайн-банкинга;
- выберите товар в интернет-магазине, оформите заказ, нажмите «Оплата»;
- в личном кабинете, выберите раздел «Сервисы», дальше кликните на кнопку «Безконтакт»;
- сканируйте код выбранного товара;
- подтвердите проведение платежа.
Все финансовые операции, проведенные при помощи технологии сканирования QR-шифра, являются быстрыми, надежными и безопасными. Широкое распространение Hi-tech технологии намного упрощает, ускоряет и удешевляет многие процессы как проведение денежных платежей, так и получение необходимой информации.
Программы для распознавания QR-кодов
Сегодня в интернет-пространстве разработчиками предлагается большой выбор приложений для распознавания информации с QR-кода, для гаджетов с разными операционными системами. Остановим выбор на самых популярных, которым пользователи отдают большее предпочтение.
QR Droid Code Scanner
Бесплатное эффективное приложение с русским интерфейсом. Скачать сканер кодов для Андроид устройств можно с официального магазина приложений Google Play. Опция имеет небольшой удобный размер для установки на мобильный гаджет 13.42 Mb.
Сервис обладает массой преимуществ, не только сканировать 2D-шифры, но и поможет в создании собственных. Пользователь сможет закодировать любые контактные данные, электронные адреса, ссылки на страницы соцсетей, текстовые документы, гиперссылки на игровой контент и другое. «Умное» приложение запоминает все отсканированные или созданные QR-коды.
Barcode Scanner
Официальное бесплатное приложение из Google Market Play представляет собой быструю и простую программу, способную распознать, отследить и отсканировать любой 2D-шифр телефоном. Опция устанавливается на Android версии 2 и выше, имеет небольшой размер 4,4 Mb, русский понятный интерфейс.
Установка приложения не требует каких-либо дополнительных манипуляций или настроек. Эффективность функционала позволит клиентам создавать собственные QR-коды с информацией любого содержания, по необходимости разослать коды своим друзьям, коллегам и знакомым.
Скоростной и мощный сервис из App Store для установки на мобильные устройства iPhone и iPad. Многие производители модели iPhone X выпускают гаджеты с предустановленным приложением. Цифровой продукт распознает все известные типы 2D-штрихов (UPC, EAN, ISBN). Опция поддерживает русский интерфейс, обладает небольшим размером 10,5 MB.
К сожалению, не все модели айфонов обеспечивают полноценную поддержку данного интерфейса. Чтобы эффективно отсканировать код телефоном, рекомендуется воспользоваться устройствами из модельного ряда iPhone X. Более устаревшие модели не смогут обеспечить необходимое разрешение или полноценную фокусировку для проведения сканирования.
Данный код является высокотехнологическим универсальным инструментом, который имеет много преимуществ и полезных характеристик. Если знать, как пользоваться QR-кодом правильно, то с его помощью можно творить чудеса. Отсканировав информацию с продукта, каждый клиент сможет узнать подробную информацию о товаре и производителе, проводить быструю оплату товаров и услуг, оплачивать коммунальные платежи, совершать денежные переводы в любую точку земного шара. Все финансовые операции проводятся без очередей, без ввода реквизитов банковской карты, больше не нужно на это тратить время.
Источник
Читаем QR код
В статье рассмотрены базовые особенности QR кодов и методика дешифрирования информации без использования вычислительных машин.
Иллюстраций: 14, символов: 8 510.
Для тех, кто не в курсе что такое QR код, есть неплохая статья в английской Wikipedia. Также можно почитать тематический блог на Хабре и несколько хороших статей по смежной тематике, которые можно найти поиском.
Решение задачи непосредственного чтения информации с QR-картинки рассмотрим на примере двух кодов. Информация была закодирована в online-генераторе QR Coder.ru.
Чтобы понять, как извлечь данные из кода, нужно разобраться в алгоритме. Существует несколько стандартов в семействе QR кодов, с их базовыми принципами можно ознакомиться в спецификациях. Кратко поясню: данные, которые необходимо закодировать, разбиваются на блоки в зависимости от режима кодирования. К разбитым по блокам данным прибавляется заголовок, указывающий на режим и количество блоков. Существуют и такие режимы, в которых используется более сложная структура размещения информации. Данные режимы рассматривать не будем ввиду того, что извлекать вручную из них информацию нецелесообразно. Однако, основываясь на тех принципах, которые описаны ниже, можно адаптироваться и к этим режимам.
На случай некорректного чтения данных, в QR применяются специальные коды, которые способны исправить недочёты при чтении. Это так называемые коды Рида-Соломона. Принцип вычисления кодов, а также исправление ошибок в блоках информации рассматривать не будем, это тема отдельной статьи. Корректирующие ошибки коды Рида-Соломона (RS) записываются после всех информационных данных. Это очень упрощает задачу непосредственного чтения информации: можно просто считать данные, не трогая коды. Как показывает практика, обычно бОльшую часть QR -матрицы занимают корректирующие RS-коды.
По стандарту, данные с RS-кодами перед записью в картинку «перемешиваются». Для этих целей используют специальные маски. Существует 8 алгоритмов, среди которых выбирается наилучший. Критерии выбора основаны на системе штрафов, о которых можно также почитать в спецификации.
«Перемешанные» данные записываются в особой последовательности на шаблонную картинку, куда добавляется техническая информация для декодирующих устройств. Исходя из описанного алгоритма, можно выделить схему извлечения данных из QR кода:
Здесь зелёным фломастером подчёркнуты пункты, которые нужно будет выполнить при непосредственном чтении кода. Остальные пункты можно опустить ввиду того, что считывание производит человек.
Шаг 0. QR код
Взглянув на картинки, можно заметить несколько отчётливых областей. Эти области используются для детектирования QR кода. Эти данные не представляют интереса с точки зрения записанной информации, но их нужно вычеркнуть или просто запомнить их расположение, чтобы они не мешали. Всё остальное поле кода несёт уже полезную информацию. Её можно разбить на две части: системная информация и данные. Также существует информация о версии кода. От версии кода зависит максимальный объём данных, которые могут быть записаны в код. При повышении версии – добавляются специальные блоки, например как здесь:
По ним можно сориентироваться и понять какая версия QR перед вами. Коды высоких версий обычно также нецелесообразно считывать вручную.
Размещение системной информации показано на рисунке:
Системная информация дублируется, что позволяет значительно понизить вероятность возникновения ошибок при детектировании кода и считывании. Системная информация – это 15 бит данных, среди которых первые 5 — это полезная информация, а остальные 10 — это BCH(15,5) код, который позволяет исправлять ошибки в системных данных. К классу BCH кодов относят и RS коды. Обратите внимание, что на рисунке две полоски по 15 бит не пересекаются.
Шаг 1. Чтение 5 бит системной информации
Как уже говорилось, интерес представляют только первые 5 бит. Из которых 2 бита показывают уровень коррекции ошибок, а остальные 3 бита показывают какая маска из доступных 8 применяется к данным. В рассматриваемых QR кодах системная информация содержит:
Шаг 2. Маска для системной информации
Кроме уже озвученных схем защиты системной информации, вдобавок, используется статическая маска, которая применяется к любой системной информации. Она имеет вид: 101010000010010. Так как имеет интерес только первые 5 бит, то маску можно сократить и легко запомнить: 10101 (десять — сто один). После применения операции «исключающего или» (xor) получаем информацию.
Возможные уровни коррекции ошибок:
| 000 | (i + j) mod 2 = 0 |
| 001 | i mod 2 = 0 |
| 010 | j mod 3 = 0 |
| 011 | (i + j) mod 3 = 0 |
| 100 | ((i div 2) + (j div 3)) mod 2 = 0 |
| 101 | (i j) mod 2 + (i j) mod 3 = 0 |
| 110 | ((i j) mod 2 + (i j) mod 3) mod 2 = 0 |
| 111 | ((i+j) mod 2 + (i j) mod 3) mod 2 = 0 |
Шаг 3. Чтение заголовка данных
Чтобы понять с какими данными предстоит иметь дело, необходимо изначально прочитать 4-х битный заголовок, который содержит в себе информацию о режиме. Специфика чтения данных изображена на картинке:
Список возможных режимов:
| ECI | 0111 |
| Числовые | 0001 |
| Буквенно-числовые | 0010 |
| 8-битный (байтный) | 0100 |
| Kanji | 1000 |
| Структурированное дополнение | 0011 |
| FNC1 | 0101 (1-я позиция) 1001 (2-я позиция) |
Шаг 4. Применение маски к заголовку
После извлечения 4-х бит, описывающих режим, необходимо к ним применить маску.
В нашем случае для двух кодов используются разные маски. Маска определяется выражением, приведённым в таблице выше. Если данное выражение сводится к TRUE (верное) для бита с координатами (i,j), то бит инвертируется, иначе всё остаётся без изменений. Начало координат в левом верхнем углу (0,0). Взглянув на выражения, можно заметить в них закономерности. Для рассматриваемых QR кодов, маски будут выглядеть так:
Шаг 5. Чтение данных
После получения данных о режиме можно приступать к чтению информации. Надо оговорить, что наиболее интересно считывать числовые и буквенно-числовые данные, так как они легко интерпретируются. Но также не стоит бояться 8-битных. Это может быть также легко интерпретируемая информация. Например, многие онлайн генераторы QR текст кодируют в этом режиме, используя ASCII. Ещё одна причина, почему следует изначально прочитать режим, это то, что от него зависит количество пакетов данных. Которая также зависит и от версии кода. Для версий с первой по девятую длины блоков для более читабельных режимов:
| Числовые | 10 бит / 4 бита |
| Буквенно-числовые | 9 бит |
| 8-битный (байтный) | 8 бит |
Первый блок после указателя режима — это количество символов. Для числового режима количество закодировано в 10 следующих битах, а для 8-битного режима в 8 битах (прошу прощения за тавтологию).
На рисунке видно, что в левом QR коде, как и отмечалось, записана цифра 5. Это видно по указателю количества символов и последующим после него 4 битам. В числовом режиме наряду с 10-битными блоками используются 4-х битные блоки для экономии места, если в 10-битном объёме нет необходимости. В правом коде зашифровано 4 символа. На данный момент неизвестно что зашифровано в нём. Поэтому необходимо перейти к чтению следующего столбца для извлечения всех 4-х блоков информации.
На рисунке видно, все 4 пакета представляют собой коды ASCII латинских букв, образующие слово «habr»
Естественно наилучшим способом остаётся достать телефон из кармана и, наведя камеру на QR-картинку, считать всю информацию. Однако в экстренных случаях может пригодиться и описанная методика. Конечно, в голове не удержишь все указатели режимов и типов масок, а также ASCII символы, но популярные комбинации запомнить (хотя бы те, что рассмотрены в статье) под силу.
Источник