home

Использование RFID-считывателя с KioskBrowser в Linux

Предположим у вас есть сайт, на который надо передать RFID-метку, чтобы обеспечить какое-либо действие используя RFID для аутентификации.

Пусть это будет URL: https://example.com/actionByCard/FFFFFF

Для реализации этой задачи можно использовать KioskBrowser (или KOO Browser) и его возможность при помощи HTTP-запроса открывать на нем некоторый URL.

Напишем скрипт считывания кода RFID из /dev/ttyUSB0 и команды KioskBrowser открыть сайт с использованием RFID в URL:

#!/bin/sh

SECRET=************************

while true; do
       read -n 14 -t 1 LINE < /dev/ttyUSB0
       CARDSHORT=$(echo $LINE|cut -b9-)
       if [[ $CARDSHORT != '' ]]; then
               URL=https://example.com/actionByCard/$CARDSHORT
               wget -o /dev/null -O /dev/null "http://127.0.0.1:8080/setUrl?key=$SECRET&url=$URL"
       fi;
done

Здесь SECRET - секретный ключ, при помощи которого ограничивается кто может задавать URL KioskBrowser, в строке read -n 14 ... значение 14 равно числу символов, которые будем считывать с RFID (у вас, возможно, число будет другим и его надо будет подобрать).

Этот файл надо поместить в автоматическую загрузку.

Дальше надо настроить автозапуск KioskBrowser и включение удаленного управления им.

Для включения удаленного управления в ~/.KioskBrowser/config.js создаем файл:

var config = {
  homeUrl:"https://example.com",
  httpServer: {isEnabled: true, secret: "************************", hostname: "127.0.0.1", port: 8080}
}

module.exports = config;

Теперь можно запустить браузер и попробовать использовать RFID.

При возникновении проблем вначале убедитесь, что чтение данных у вас происходит корректно.

Автозапуск скрипта и браузера настраиваются в зависимости от операционной системы. Для Calculate Linux 18.12 есть инструкция: https://elibsystem.ru/node/251.

Данная инструкция проверена на считывателе "0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC" (просмотреть можно командой lsusb).