Приветствую всех !
Кто-нибудь имеет хоть какой-нибудь опыт использования Микротик KNOT ?
Поделитесь, пожалуйста, если есть время ...
KNOT (IoT шлюз MikroTik RB924i-2nD-BT5&BG77)
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
-
- Сообщения: 1995
- Зарегистрирован: 09 июл 2014, 12:33
Они в доках не описывают главного.
Создали механизмы взаимодействия, внедрили поддержку протоколов, но дальше предлагают использовать скрипты, но в части этих нововведений ничего не описано.
Вот, например, фрагмент
https://help.mikrotik.com/docs/display/ ... ter+device
можно видеть, что цифровой порт GPIO в скриптах - это /iot gpio digital
Так и дальше, видимо, ждать случайно опубликованных примеров.
Создали механизмы взаимодействия, внедрили поддержку протоколов, но дальше предлагают использовать скрипты, но в части этих нововведений ничего не описано.
Вот, например, фрагмент
https://help.mikrotik.com/docs/display/ ... ter+device
можно видеть, что цифровой порт GPIO в скриптах - это /iot gpio digital
Так и дальше, видимо, ждать случайно опубликованных примеров.
-
- Сообщения: 1995
- Зарегистрирован: 09 июл 2014, 12:33
С модбасом проще.
В этой части микротик просто конвертор.
Из протокола Modbus-TCP (через эзернет) в протокол Modbus-RTU (через последовательный порт).
И соственно подклбючаешь к последовательному порту модбас-устройство, которым нужно управлять по TCP, читаешь описание устройства, и управляешь.
Самим микротиком по модбасу управлять не получится.
https://help.mikrotik.com/docs/pages/vi ... d=61046813
Есть ли у микротиковских GPIO адреса modbus информации не нашел.
Если таки нет - фу.
В этой части микротик просто конвертор.
Из протокола Modbus-TCP (через эзернет) в протокол Modbus-RTU (через последовательный порт).
И соственно подклбючаешь к последовательному порту модбас-устройство, которым нужно управлять по TCP, читаешь описание устройства, и управляешь.
Самим микротиком по модбасу управлять не получится.
https://help.mikrotik.com/docs/pages/vi ... d=61046813
Есть ли у микротиковских GPIO адреса modbus информации не нашел.
Если таки нет - фу.
Последний раз редактировалось Erik_U 29 янв 2024, 20:16, всего редактировалось 1 раз.
-
- Сообщения: 1995
- Зарегистрирован: 09 июл 2014, 12:33
С MQTT поинтереснее.
Это протокол, который позволяет записывать или читать сообщения в топиках на MQTT брокере.
Одно устройство какой-нибудь параметр при изменениях публикует в топике, другое считывает значения, и реагирует в соответствии с логикой, которая к MQTT уже отношения не имеет.
MQTT - это только сам обмен информацией.
Но что именно публиковать - тут руки развязаны, любой параметр микротика можно по идее публиковать на брокере.
И какой нибудь сервер умного дома на этом же брокере сможет прочитать изменения этих параметров, и отреагировать согласно программам.
Вроде предполагалось, что будет еще предложена масса блютуз датчиков всякого-разного, для пользования ими посредством микротика через этот MQTT
Но не нашел описания, может ли микротик ЧИТАТЬ топики MQTT.
Если может - то получится и самим микротиком поуправлять.
Нашел. Может.
https://help.mikrotik.com/docs/display/ROS/MQTT
Это протокол, который позволяет записывать или читать сообщения в топиках на MQTT брокере.
Одно устройство какой-нибудь параметр при изменениях публикует в топике, другое считывает значения, и реагирует в соответствии с логикой, которая к MQTT уже отношения не имеет.
MQTT - это только сам обмен информацией.
Но что именно публиковать - тут руки развязаны, любой параметр микротика можно по идее публиковать на брокере.
И какой нибудь сервер умного дома на этом же брокере сможет прочитать изменения этих параметров, и отреагировать согласно программам.
Вроде предполагалось, что будет еще предложена масса блютуз датчиков всякого-разного, для пользования ими посредством микротика через этот MQTT
Но не нашел описания, может ли микротик ЧИТАТЬ топики MQTT.
Если может - то получится и самим микротиком поуправлять.
Нашел. Может.
https://help.mikrotik.com/docs/display/ROS/MQTT
RouterOS может выступать в качестве издателя и подписчика MQTT (начиная с версии 7.11beta2 ).
-
- Сообщения: 1657
- Зарегистрирован: 15 сен 2017, 09:03
Erik, во-первых, спасибо большое Вам за ответ.
Всё что Вы описываете мне понятно. Насчёт скриптов в "GPIO части", в частности, там сложностей на самом деле нет, эта часть как раз самая простая, скрипты я теперь могу написать любые (почти ...
было бы время).
С /iot gpio пакетом с точки зрения скриптинга опыт уже есть.
Вот modbus я никогда не занимался, знаю об этом только "понастышке", разбираться детально с протоколом времени нет. Раз там всё просто, как Вы пишите, значит можно использовать.
Мне был интересен именно личный опыт применения, если у кого-то из форумчан, он есть.
Может кто-то откликнется ещё ...
Вероятно самое простое (для меня) это будет купить этот KNOT и его опробовать ...
Всё что Вы описываете мне понятно. Насчёт скриптов в "GPIO части", в частности, там сложностей на самом деле нет, эта часть как раз самая простая, скрипты я теперь могу написать любые (почти ...

С /iot gpio пакетом с точки зрения скриптинга опыт уже есть.
Вот modbus я никогда не занимался, знаю об этом только "понастышке", разбираться детально с протоколом времени нет. Раз там всё просто, как Вы пишите, значит можно использовать.
Мне был интересен именно личный опыт применения, если у кого-то из форумчан, он есть.
Может кто-то откликнется ещё ...
Вероятно самое простое (для меня) это будет купить этот KNOT и его опробовать ...
фрагменты скриптов, готовые работы, статьи, полезные приемы, ссылки
viewtopic.php?f=14&t=13947
viewtopic.php?f=14&t=13947
-
- Сообщения: 1995
- Зарегистрирован: 09 июл 2014, 12:33
Микротик работает только как мост. "Использовать" модбас на самом микротике не получится.
Использовать нужно на каком то внешнем сервере, который будет по протоколу Modbus-TCP управлять устройством Modbus-RTU, подключенным к последовательному порту микротика.
Для того, чтобы "разобраться", потребуется инструкция оконечного устройства.
И KNOT дороговат для этих целей
https://aliexpress.ru/popular/modbus-tc ... erter.html
А вот российский программный продукт
https://www.krug2000.ru/products/ppr/op ... S_v3_0.zip
Можно бесплатно даже небольшую MODBUS систему построить.
Или такой бесплатный сервер УД
https://intrahouse.ru/ih-smart-home/
с таким бесплатным же плагином модас
https://docs.intrahouse.ru/ru/plugin-modbus
На нем вообще практически без ограничений.
Плюс скрипты на полноценном JavaScript.
-
- Сообщения: 13
- Зарегистрирован: 22 сен 2024, 13:24
- Контактная информация:
Подниму тему, может, кому пригодится.
Modbus можно использовать на любом Микротике при наличии USB порта, работают практически любые USB/RS485 адаптеры, в том числе самые дешёвые с Алиэкспресс. Ставим пакет IoT и получаем контроллер с богатым функционалом. Адаптеры USB/RS485 можно брать на чипе Prolofic, CH340, FTDI, многие другие могут так же опознаться, на RouterOS x86 будет работать всё, на MIPS только распространённые. При наличии на устройстве свободного RS232 порта, не консольного, должны работать адаптеры RS232/RS485.
После перезагрузки Микротика сбрасывается настройка порта Modbus, в шедулере добавляем скрипт с исполнением на startup:
Есть KNOT, отрабатывал на нём следующую схему:
https://forum.mikrotik.com/viewtopic.php?t=203211
Работа с блутуз датчиками в условиях городской квартиры, когда Микротик под сотню устройств вокруг видит, существенно нагружает MIPS платформу, справляется, но KNOT работающий с блутуз датчиками не стоит использовать в качестве сетевого шлюза, исключительно в роли шлюза IoT. Модбас линия на 9600 работает очень шустро, MIPS работающий в роли сетевого шлюза особо не заметит дополнительной нагрузки, если модбас устройств не слишком много и не писать сложную логику в скриптах.
KNOT имеет смысл только для работы с блутуз датчиками, но умеет он их только читать, что не позволяет работать с blt протоколами требующими авторизации и выдающими данные по запросу, данные всегда должны быть в эфире. Зато приём у него уверенный, телефоны и бытовуху с блутузом всех соседей видно. LoRa пока реализована только на уровне шлюза, датчики в скриптах не почитать, не интересно.
Фирменные датчики MikroTik и Teltonika - дорого, но круто, работают без нареканий, экономно расходуют батарею, качество во всём, образцовые изделия. Есть простор для фантазии и реализации собственных устройств, но учитывая открытость протокола и риску подвергнуться фишингу, не стоит рассматривать blt на ответственные роли. Modbus и проще, и надёжнее.
Пример чтения данных датчика температуры и влажности RS485 у которого в регистре 0 хранится значение температуры и в регистре 1 значение влажности - самый распространенный вариант, читаем 2 регистра с адреса 0:
или
address=адрес датчика в сети модбас
function=3 - read holding registers - функция чтения регистров
values=0,0,0,2 - первые два байта - старший и младший байты адреса регистра с которого начинаем чтение, следующие два - старший и младший байты количества читаемых регистров
data=00000002 - то же самое в шестнадцатеричном виде
REST API
Ничто не мешает подключить несколько адаптеров USB/RS485 на хаб, перед обращением к модбас устройствам выбирать нужный hardware-port - это может быть полезным, если есть устройства поддерживающие не совместимые режимы скорости или иные отличия в линиях.
REST API
список портов
Modbus можно использовать на любом Микротике при наличии USB порта, работают практически любые USB/RS485 адаптеры, в том числе самые дешёвые с Алиэкспресс. Ставим пакет IoT и получаем контроллер с богатым функционалом. Адаптеры USB/RS485 можно брать на чипе Prolofic, CH340, FTDI, многие другие могут так же опознаться, на RouterOS x86 будет работать всё, на MIPS только распространённые. При наличии на устройстве свободного RS232 порта, не консольного, должны работать адаптеры RS232/RS485.
После перезагрузки Микротика сбрасывается настройка порта Modbus, в шедулере добавляем скрипт с исполнением на startup:
Код: Выделить всё
/iot modbus set disabled=no hardware-port=имя порта с адаптером
https://forum.mikrotik.com/viewtopic.php?t=203211
Работа с блутуз датчиками в условиях городской квартиры, когда Микротик под сотню устройств вокруг видит, существенно нагружает MIPS платформу, справляется, но KNOT работающий с блутуз датчиками не стоит использовать в качестве сетевого шлюза, исключительно в роли шлюза IoT. Модбас линия на 9600 работает очень шустро, MIPS работающий в роли сетевого шлюза особо не заметит дополнительной нагрузки, если модбас устройств не слишком много и не писать сложную логику в скриптах.
KNOT имеет смысл только для работы с блутуз датчиками, но умеет он их только читать, что не позволяет работать с blt протоколами требующими авторизации и выдающими данные по запросу, данные всегда должны быть в эфире. Зато приём у него уверенный, телефоны и бытовуху с блутузом всех соседей видно. LoRa пока реализована только на уровне шлюза, датчики в скриптах не почитать, не интересно.
Фирменные датчики MikroTik и Teltonika - дорого, но круто, работают без нареканий, экономно расходуют батарею, качество во всём, образцовые изделия. Есть простор для фантазии и реализации собственных устройств, но учитывая открытость протокола и риску подвергнуться фишингу, не стоит рассматривать blt на ответственные роли. Modbus и проще, и надёжнее.
Пример чтения данных датчика температуры и влажности RS485 у которого в регистре 0 хранится значение температуры и в регистре 1 значение влажности - самый распространенный вариант, читаем 2 регистра с адреса 0:
Код: Выделить всё
/iot modbus transceive address=3 function=3 values=0,0,0,2
Код: Выделить всё
/iot modbus transceive address=3 function=3 data=00000002
function=3 - read holding registers - функция чтения регистров
values=0,0,0,2 - первые два байта - старший и младший байты адреса регистра с которого начинаем чтение, следующие два - старший и младший байты количества читаемых регистров
data=00000002 - то же самое в шестнадцатеричном виде
REST API
Код: Выделить всё
POST http://router/rest/iot/modbus/transceive
{"address":3,"function":3,"values":"0,0,0,2"}
REST API
Код: Выделить всё
POST http://router/rest/iot/modbus/set
{"hardware-port":"имя порта с адаптером"}
Код: Выделить всё
GET http://router/rest/port