|
Пользовательский интерфейс на основе QR-кода
для торгового автомата, банкомата и лифта
Хотя мы по-прежнему используем сенсорный экран или пользовательский интерфейс на основе кнопок для банкоматов, торговых автоматов или лифтов, в наши дни бесконтактные системы стали важным требованием на рынке. Поэтому мы будем создавать решение, которое отображает пользовательский интерфейс на телефоне и может, таким образом, использоваться в качестве входных данных для любого устройства, такого как банкоматы, торговые автоматы, лифты или объекты, требующие бесконтактного взаимодействия.
Предпосылка
Подготовьте ОС Raspbian для Raspberry Pi, чтобы вы могли получить доступ к его пользовательскому интерфейсу рабочего стола через дисплей VNC или HDMI. Затем установите модули и библиотеки, необходимые для проекта. Здесь мы используем веб-сервер Apache для размещения страницы, содержащей пользовательский интерфейс, PHP для создания пользовательского интерфейса и WiringPi для преобразования ввода пользовательского интерфейса в электронный цифровой вход для электронного банкомата или торгового автомата.
Наряду с этим нам нужен генератор QR-кода, который создает QR-код, который пользователи могут получить с помощью пользовательского интерфейса. После установки всех из них откройте терминал Linux и выполните следующие команды:
sudo pip3 install pyqrcode
sudo apt-get install php
sudo git clone https://github.com/WiringPi/WiringPi.git
cd WiringPi
./build
Кодирование
Создайте код, который преобразует URL-адрес страницы пользовательского интерфейса, размещенной на WiringPi, в читаемый и сканируемый QR-код. Для этого напишите код Python для создания QR-кода.
QR код
Чтобы сгенерировать QR-код для страницы пользовательского интерфейса, размещенной на веб-сервере, импортируйте модуль pyqrcode в Python. Затем установите строку для имени URL-адреса страницы PHP. После этого сохраните сгенерированный код в формате файла .png или .svg, чтобы его можно было распечатать и позже использовать для сканирования.
Рис 1. Код Python для QR-кода
Затем создайте код PHP, который управляет вводом-выводом машины. Для этого создайте пользовательский интерфейс в .php, используя CSS и HTML. В коде установите функции кнопки, чтобы мы могли использовать GPIO или Raspberry Pi для ввода данных в банкомат или торговый автомат. Итак, когда мы нажимаем определенную кнопку на телефоне, значения GPIO меняются с 0 на 1 на несколько секунд. При отпускании кнопки значение вернется к 0.
Рис 2. Управление PHP GPIO
Чтобы создать код для пользовательского интерфейса, установите список кнопок для ввода. Количество и цвет выравнивания могут отличаться в зависимости от необходимости. Сделайте пользовательский интерфейс для ввода-вывода банкомата аналогичным интерфейсу реального банкомата. Для торговых автоматов создайте кнопки для выбора и отмены выбора продуктов питания / напитков.
Рис 3. Код PHP
Рис 4. Макет пользовательского интерфейса
Тестирование
После создания QR-кода распечатайте и вставьте его в машину (с написанным SCAN ME). Затем откройте браузер телефона, перейдите к инструментам и нажмите «Сканировать QR-код» (или вы можете загрузить любое приложение для сканирования QR-кода на свой телефон и использовать его).
Рис 5. Сгенерированный QR-код.
Рис 6. Сканирование QR-кода
На экране телефона появится страница пользовательского интерфейса, с помощью которой вы можете управлять банкоматом, торговым автоматом, лифтом и т. Д. Нажмите кнопки, видимые на экране телефона, чтобы обеспечить ввод для устройства.
В целях тестирования я использовал здесь тестовый код торгового автомата. Просто выберите напиток, который вы хотите, и нажмите на его название. Контакт GPIO переключается, и реле переключается в положение ON, чтобы запустить клапан продажи напитков.
Рис 7.QR-код для управления освещением в холле