|
lacteApp
C++17 service for Lacte hardware
|
Хранилище — SQLite. По умолчанию файл БД находится в каталоге /rood/lacte.bd (рекомендуемый постоянный путь).
Хранит основные элементы (board_data) и служебные события.
возможные данные
Хранит информацию из пакета InfoPacketType.
История срабатываний флагов ошибок.
Справочник с описаниями и версиями кодов.
Пример наполнения:
| table_name | field_name | type | allowed_values | description |
|---|---|---|---|---|
| stat | status | INTEGER | 0=IDLE; 1=CALIBRATION; 2=ERROR; 3=READY; 4=WORK | Текущее состояние платы |
| stat | n_RFID | INTEGER | любое число | Номер RFID метки |
| stat | mqtt_status | BOOL | True; False | Отправка записи в MQTT |
| errors | error | INTEGER | 0=Calibration; 1=Motor; 2=RFID; 3=RFID_NoCard; 4=RFID_BadCard;5=InvalidTime;6=ShelfLifeExceeded;7=UsageTimeExceeded | Код ошибки |
| errors | value | INTEGER | 0=Cleared; 1=Set | Состояние ошибки |
| errors | mqtt_status | BOOL | True; False | Отправка записи в MQTT |
| service_info | field | TEXT | version, uid, lacte_sn, update_complete, update_path, … | Имя поля из board_data/события |
| service_info | value | TEXT | строка или число | Значение поля |
| service_info | mqtt_status | BOOL | True; False | Отправка записи в MQTT |
| dictionary | area | TEXT | status; error; update_path | Категория справочника |
| dictionary | code | INTEGER | зависит от area | Код |
| dictionary | description | TEXT | человекочитаемое имя | Текстовое описание |
| dictionary | version | INTEGER | kDictVersion | Версия записи |
Справочник позволяет однозначно интерпретировать значения всех полей, включая статусные, ошибочные и служебные ( status, errors, update_complete и т.д.).
Принцип записи: если значение не изменилось, новая запись в соответствующую таблицу не создаётся ( идемпотентность по изменению).