Обычная версия или Pro
Возможности Pro для ODNFC и LuaTerm: память, BLE для датчиков и маяков, SSH, почта, расширенные библиотеки и SQLite. Выбор базы для локальной истории.
Pro — исполнение с увеличенной памятью, расширенным набором библиотек, BLE, SSH и SQLite. Оно подходит для программ, которые хранят много данных, обрабатывают большие ответы сервера или работают с электронной почтой.
Такой набор расширений используется в ODNFC-LAN Pro и LuaTerm Mini Pro. Назначение входов, выходов, питание и проводные интерфейсы определяются моделью устройства. Опцию выбирают под программу: например, для SQL-базы событий, приёма BLE-датчиков или сетевой диагностики через SSH.
Сравнение версий
| Возможность | Обычная версия | Pro |
|---|---|---|
| Встроенное хранилище для пользовательских файлов | 256 КБ | 8 МБ |
| Свободная ОЗУ после запуска системы | около 100 КБ | около 2 МБ |
| BLE | выключен | включён |
| SSH | нет | есть |
| Встроенные библиотеки | основной набор для устройства | почти все библиотеки, доступные для платформы |
| Электронная почта | возможности зависят от свободной памяти и состава прошивки | проще отправлять и получать письма, обрабатывать более крупные сообщения |
| SQLite | нет | есть |
Свободная ОЗУ зависит от модели, версии прошивки, запущенных служб и подключённых библиотек. Значения в таблице помогают выбрать исполнение, но не заменяют замер памяти в готовой программе.
Что дают дополнительные возможности
BLE: датчики, кнопки и маяки
В совместимых прошивках BLE-модуль принимает широковещательные пакеты BTHome v2, iBeacon и Eddystone UID/URL/TLM. Программа может получать показания, обрабатывать нажатия кнопок, обнаруживать маяки и передавать результат дальше по сети. Модуль также позволяет передавать маяки; для собственного формата доступна работа с исходными данными пакета.
Это не универсальное сопряжение с любым Bluetooth-устройством. Формат пакета, фильтры, обработку повторов и условия приёма выбирают для конкретного передатчика. Практические примеры на ODNFC и справочник BLE.
SSH: интерактивное обслуживание
SSH даёт доступ к консоли установленного устройства по сети. В
документированном порте доступны одно клиентское соединение и пользователь
root; SCP и запуск отдельных удалённых команд не поддерживаются. Пароль
и службу настраивают перед использованием.
Порядок подключения.
Почта: уведомления и отчёты
Pro добавляет ресурсы и средства для отправки и получения электронной почты. Прикладная программа определяет события для уведомлений, содержимое отчётов и реакцию на входящие сообщения. Нужны почтовый сервер, учётные данные и обработка ошибок связи. Размер сообщений, вложения и TLS-соединения должны укладываться в память.
Библиотеки и память
Расширенный набор библиотек полезен, когда одна программа одновременно собирает данные, сохраняет историю и обменивается с несколькими службами. Внешние Lua-библиотеки могут требовать отдельной загрузки: наличие Pro не означает, что в прошивку включён любой пакет. Например, библиотеку Telegram загружают вместе с прикладным проектом.
Дополнительную память делят программа, сетевые буферы, библиотеки и базы. Проверяйте запас после запуска всех функций и при обработке наиболее крупных сообщений, предусмотренных вашим протоколом.
FlashDB и SQLite для локальных данных
FlashDB предоставляет компактные базы ключ-значение и временных рядов. TSDB подходит для циклической истории показаний и событий: по умолчанию после заполнения заменяются самые старые секторы. Доступность модуля и лимиты базы зависят от модели и сборки прошивки, их нужно подтвердить для выбранной поставки.
SQLite доступна в Pro. Она подходит для таблиц с несколькими полями, SQL-выборок, индексов и транзакций. Например, в ODNFC можно связать пользователей и права, а в LuaTerm — выбирать события терминала по времени и типу, считать срабатывания или хранить состояние очереди отправки.
| Требование | Подходящее хранилище |
|---|---|
| Последние события и показания в ограниченном объёме | FlashDB TSDB |
| Постоянные пары «ключ — значение» | FlashDB KVDB |
| Структурированные записи, запросы и связанные изменения | SQLite в Pro |
SQLite не очищает старую историю автоматически. Правила удаления, архивирования и синхронизации с сервером задаёт программа. Для базы, журнала транзакций и временных файлов требуется свободное место; 8 МБ хранилища не равны допустимому размеру одного файла базы.
Когда достаточно обычной версии
Обычная версия подходит для типовых задач: передать UID карты на сервер, опросить несколько входов или датчиков, переключить выход, обработать небольшие сообщения. Чтобы программа укладывалась в доступную память, заранее ограничьте размеры очередей, журналов и сетевых буферов.
Когда выбрать Pro
Выбирайте Pro, если устройству нужно больше памяти или дополнительные функции:
- хранить крупные журналы, очереди, справочники или другие рабочие файлы;
- обрабатывать большие ответы сервера и объёмы данных;
- отправлять и получать электронную почту;
- использовать локальную базу SQLite;
- работать с BLE или обслуживаться по SSH;
- одновременно использовать несколько библиотек и сетевых функций.
В Pro больше места для данных и развития программы. При этом в рабочем проекте нужно ограничивать рост файлов и очередей, обрабатывать ошибки сети и проверять свободную память при длительной работе.
Для LuaTerm Mini выбор Pro и актуальная цена доступны в карточке контроллера. Сценарий, исполнение и состав прошивки для локальной базы можно согласовать с техподдержкой.