Функциональность MQTT в routerOS для работы в режиме, подобном IoT, да, да, с возможностью иметь несколько экземпляров, подписанных на разные брокеры/темы, нет, я использую скрипты и/или магию крови, чтобы имитировать эту функциональность, нет, я все разобрал с API, нет, мне ничего подобного не нужно. 0 голосов. Я создал окружение в routerOS, которое позволяет работать в режиме, подобном IoT (т.е. сервер не общается с роутером, а роутер общается с сервером). Это работает в разумных пределах, но я думаю, было бы лучше иметь полноценную реализацию MQTT-клиента на устройстве, которая позволила бы подписываться и отправлять сообщения на темы: данные о производительности, состояние, логи, не знаю — в общем, "переменная routerOS" запускает скрипт/подает ввод события, которое отправляется на подписанную тему. Я считаю, что это не должно быть большой проблемой по производительности, поскольку крошечные микроконтроллеры могут это выполнить и продолжить работать. Поэтому я решил спросить сообщество скриптеров, не вызовет ли это интерес и не создаст ли спрос, чтобы в следующем небольшом обновлении RouterOS (или, возможно, #RouterOS7) эта функциональность вдруг появилась. Мое объяснение в том, что я не хочу отслеживать устройства, возможно, я не смогу с ними общаться (за NAT, за файрволом), но во многих случаях они могли бы просто говорить с моим сервером. Это также могло бы позволить создать нечто вроде ZTP/ZTO окружения. Представьте что-то вроде /system script
add name=handler1 source=":log info message=\"received: $mqtt_input on $mqtt_topic\""
/mqtt brokers
add name=broker1 server=fqdn.of.the.broker port=6969
add name=broker2 server=this.is.another.broker port=1183
/mqtt topics
add name=topic1 broker=broker1 mode=publish topic=topicname
add name=topic2 broker=broker2 mode=subscriber topic=controller script=handler1 и вы сможете использовать скрипт, чтобы записать переменную routerOS или просто строку в тему в режиме публикации: /mqtt post topic="topic1" message=$myvar.
add name=handler1 source=":log info message=\"received: $mqtt_input on $mqtt_topic\""
/mqtt brokers
add name=broker1 server=fqdn.of.the.broker port=6969
add name=broker2 server=this.is.another.broker port=1183
/mqtt topics
add name=topic1 broker=broker1 mode=publish topic=topicname
add name=topic2 broker=broker2 mode=subscriber topic=controller script=handler1 и вы сможете использовать скрипт, чтобы записать переменную routerOS или просто строку в тему в режиме публикации: /mqtt post topic="topic1" message=$myvar.
