IOT менеджера с брокером можно и на OpenWrt поднять локально, по второй ссылке кажется. Читал
https://geektimes.ru/post/259248/
вроде тут писали что хорошей скорости добились. У меня на опенврт был какой-то демон или не знаю как его назвать, он дергал файл serial.php раз в секунду и посылал команды в ардуино а потом ждал ответа. Бэкап нашел, но он не последний надо на роутере поискать. Я туда даже графи прикрутил, не могу вспомнить толком ничего, потому что плохо разобрался
<?php
include "php_serial.class.php";
$read = '';
$serial = new phpSerial;
//«адаем путь к Arduino (” вас может быть совсем по другому)
$serial->deviceSet("/dev/ttyUSB0");
//Ёто стандарт
$serial->confBaudRate(9600);
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->confFlowControl("none");
$serial->deviceOpen();
//ќтправл€ем команду
$serial->sendMessage($_GET['action']);
//„итаем ответ Arduino
$read = $serial->readPort();//$read = substr($read,0,-1);
$serial->deviceClose();//«ыкрываем соединение
echo $read;
?>