ПО контроллера Inspark Lite работает на процессоре ESP32, код для контроллеров представляет собой бинарный файл, который прошивается на плату.
В настойщее время выпускаются 3 вида прошивки:
После подачи питания контроллер находится в режиме начального конфигурирования. Обнаружить контроллер можно в списке WiFi сети.
Обычно, Wifi сеть должна иметь название DRON-<SN контроллера>.
Контроллер всегда можно перевести в режим начального конфигурирования путем нажатия на кнопку сброса конфигурации больше 10 сек.
Для подключения к контроллеру необходимо найти его AP Wifi и подключится к нему по адресу 10.10.10.1
.
Перейти на вкладку Settings и задать обязательные параметры:
Параметр | значения | Комментарии |
---|---|---|
MQTT брокер | IP адрес | обязательный параметр, без его ввода, контроллер не перейдет в рабочий режим |
MQTT user | пользователь MQTT брокера | |
MQTT password | пароль MQTT брокера | |
WIFI режим | AP, STA | STA режим требует задания WPA пароля |
Режим совместимости | 0,1,2 | 0- только Ethernet, 1 - только Wifi, 2 - Оба |
BLE | Да/нет | подключать ли стек BLE |
Zigbee | Да/нет | подключать ли стек Zigbee, при наличии платы расширения |
Дата/Время | Формат даты времени | Необязательный параметр, метка времени не используется в работе контроллера |
Нажать на кнопку Save и после сообщения об успешном соранении нажать кнопку Restart.
Если не введено значение для MQTT брокера, контроллер автоматически загрузится в режим начальной конфигурации.
Если режим совместимости выбран 1 (только WiFi) и режим AP, контроллер загрузится в режим начальной конфигурации. Лучше всего устанавливать режим совместимости в Ethernet (0).
Для большого количества контроллеров режим ручной настройки может быть неудобен и занимать значительное время. В этом случае, настройка большого количества контроллеров можно проводить автоматически по BLE протоколу при создании MESH сети.
Порядок настройки режима первоначальной настройки:
В настойщее время существует только один метод передать конфигурацию опроса контроллеру.
Формат команды:
mosquitto_pub -t /Controller/In/Command -f <файл конфигурации> -h <MQTT-брокер>
Если брокер требует авторизацию, то включите в командную строку опции -u И -P
Файл должен быть построен по следующим правилам:
C;111;DRVCONF_DRONE;<SN контроллера>;<json конфигурация опроса устройств>
где,
C - признак команды;
111 - произвольный номер;
DRVCONF_DRONE - команда на обновление конфигурации опроса;
<SN контроллера> - серийный номер контроллера, его можно узнать на web странице контроллера, вкладка Info, либо подписаться на MQTT брокере на топиу /system/#
<json конфигурация опроса устройств> - специальный формат для описания опроса устройств. Формат описан в разделе Универсального драйвера п.3.
Следует учесть, что Inspark-Lite поддерживает только ModBus RTU, Modbus TCP и ZigBee (при наличии платы Inspark-Zigbee).
Пример конфигурационного файла для опроса 2-х датчиков по ModBus RTU приведен ниже:
C;111;DRVCONF_DRONE;d8bc38e8ffd4;[
{
"connection": {
"enabled": true,
"baud_rate": 115200,
"com_options": "7E1",
"name": "rs_2",
"poll_interval": 60000,
"rto": 2000,
"sto": 2000,
"type": "base.rs"
},
"devices": [
{
"name": "hvac-1",
"sid": "16",
"type": "mb-rtu",
"cname": "msw2"
},
{
"name": "hvac-2",
"sid": "27",
"type": "mb-rtu",
"cname": "msw2"
}
],
"parameters": [
{
"cname": "msw2",
"config": {
"channels": [
{
"name": "Temperature", "reg_type": "input", "reg_addr": 0, "value_type": "i16", "scale": 0.1,"error_value": "0x7FFF"
},
{
"name": "Humidity", "reg_type": "input", "reg_addr": 1, "value_type": "i16","scale": 0.1,"error_value": "0xFFFF"
},
{
"name": "Sound Level", "reg_type": "input", "reg_addr": 3, "value_type": "u16", "scale": 0.01
},
{
"name": "CO2","reg_type": "holding","reg_addr": 8,"value_type": "u16","error_value": "0xFFFF"
},
{
"name": "Illuminance", "reg_type": "input", "reg_addr": 9, "value_type": "u32","scale": 0.01,"error_value": "0xFFFFFFFF"
},
{
"name": "Input Voltage", "reg_type": "input","reg_addr": 121,"value_type": "u16","scale": 0.001
},
{
"name": "External Sensor 1", "reg_type": "input","reg_addr": 6, "value_type": "i16","scale": 0.0625,"error_value": "0x7FFF"
},
{
"name": "External Sensor 2", "reg_type": "input", "reg_addr": 7, "value_type": "i16","scale": 0.0625,"error_value": "0x7FFF"
}
]
}
}
]
}
]
Результат опроса контроллер отправляет в топики
/devices/msw2_16/controls/#
/devices/msw2_27/controls/#
Описание выходных топиков приведено в разделе Универсального драйвера п.1
Переход в режим контроля осуществляется однократным нажатием на кнопку сброса.
Контролле перезагрузится в режим WiFi сети AP. Подключится к контроллеру можно по адресу 10.10.10.1
. На вкладке Configure будет идти лог контроллера и справа в окне конфигурация опрашиваемых устройств.
Для выход из режима контроля необходимо нажать на кнопку перезагрузки на вкладке Configure
Материал на проверке
Работа дрона с беспроводными устройствами по Zigbee протоколу реализована на отдельной плате «INSPARK Lite ZB» модулем ESP32-C6, работающем в режиме шлюза и предоставляющим основной транспортно-прикладной функционал для обеспечения согласованного функционирования всех узлов Zigbee сети. Zigbee плата устанавливается на основную плату дрона посредством колодок разъемного штыревого соединения. Информационный обмен с основной платой обеспечен посредством стандартного UART протокола и проприетарным прикладным протоколом в формате JSON.
{
"adm": {
"cmd": "add"
}
}
Шлюз открывает Zigbee сеть на 30 секунд для процедуры сопряжения.
Перевести устройство в режим сопряжения нажатием на его скрытую кнопку и удержанием в течение 5 секунд, после чего устройство будет мигать встроенным светодиодом до окончания процедуры привязки.
По завершению процедуры привязки индикация на устройстве выключается, а сам шлюз отправляет информацию о новом устройстве в дрон
{
"new": {
"name": "znode001"
}
}
Пример датчика температуры
{
"meas": {
"name": "znode001",
"cmd": 0,
"name_param": "tmp",
"value": 2345
}
}
Пример 4х кнопочного пульта
{
"meas": {
"name": "znode002",
"cmd": 0,
"name_param": "rem",
"value": 2
}
}
Все зарегистрированные устройства отправляют на дрон свои параметры под своими уникальными именами (znode001-znode064).
Каждый параметр отправляется в отдельной посылке поочередно друг за другом.
Имена параметров «name_param» закодированы короткими именами.
Параметры измерения:
Параметры управления:
Емкость шлюза на модуле ESP32-C6 составляет 64 zigbee устройства, поэтому для освобождения от неиспользуемых зарегистрированных узлов необходимо использовать соответствующую процедуру.
{
"adm": {
"cmd": "del",
"names": [
"znode001",
"znode024",
"znode055"
]
}
}
Применяется для изменения режимов работы или включения/выключения исполнительных устройств (умные розетки, лампы, реле, диммеры)
{
"adm": {
"cmd": "set",
"name": "znode001",
"param": "onoff",
"value": 1
}
}
В прикладном режиме функционирования Zigbee сети для конечного пользователя существуют только имена устройств, все остальные параметры при необходимости могут быть запрошены специальными командами и предоставляют информацию обо всех зарегистрированных на шлюзе именах устройств и их адресах.
{
"adm": {
"cmd": "get",
"name": "znode001",
"param": "name_param"
}
}
{
"resp": {
"name": "znode001",
"param": "name_param",
"value": 50
}
}
{
"adm": {
"cmd": "get",
"name": "znode001",
"addr": "short"
}
}
{
"resp": {
"name": "znode001",
"addr": "short",
"value": "34ab"
}
}
{
"adm": {
"cmd": "allnodes"
}
}
{
"resp": {
"names": [
"znode001",
"znode002",
"znode003"
]
}
}
{
"adm": {
"cmd": "allparams",
"name": "znode001"
}
}
{
"resp": {
"name": "znode001",
"params": [
{
"name_param": "tmp",
"value": 2345
},
{
"name_param": "hum",
"value": 5376
},
{
"name_param": "bat",
"value": 341
}
]
}
}
На контроллере предусмотрены две внешние сигнальные лампы для сигнализации состояния устройства:
Схема индикации отображена ниже:
Коды состояния сигнализируются следующим образом:
Если сбой на режиме инициализации -2, режим «конфигурирование» - 3, итого код 23, десятки моргания - 2, единицы - 3.
Индикация будет следующей:
две вспышки с интервалом 0,5сек. - 1 сек. - три вспышки с интервалом 0,5сек. - 3 сек;
Сбой HTTP сервера - код 51, десятки моргания 5, единиц -1
Индикация будет следующей:
5 вспышек с интервалом 0,5сек. - 1сек. - вспышка - 3 сек.
Если сбоев нет - красный индикатор погашен.
Зеленый горит при переходе в штатный режим и моргает зеленым в случаях попыток подключения к сети.