ПО RFID Cube Base реализовано на языке Python 2.7.x и предназначено для работы под управлением ОС Linux.
ПО состоит из нескольких модулей:
-
LLRP модуль (работает с Zebra FX9500 и Impinj R420, имеет функции чтения, записи, блокировки и уничтожения меток),
-
Веб-сервер (на базе Flask),
-
модуль управления USB-контроллером (управление светофором).
Общая структура программы.
При запуске создаётся ряд процессов (один для LLRP, один для веб-сервера, один/по числу считывателей для управления контроллером) и общих для этих процессов структур данных.
Процесс, управляющий считывателем, работает на базе асинхронного движка twisted, соответственно значительная часть функций реализована в паттерне «создай функцию-объект, привяжи её к протокольному триггеру и забудь»