Есть задача управлять тремя однотипными узлами на изрядном расстоянии, скорее всего будет L2 туннель к каждому от головного узла.
В головном узле инфа от удаленных в принципе должна восприниматься как от местных датчиков, исполнительные устройства также управляться непосредственно, т.е. строится система IP-выносов для головного wb6.
Вот думаю, есть ли на данный момент штатные средства устроить такую сеть выносов, или придется кумекать свои. В принципе, можно утоптаться в стандартный mqtt стек, только добавить подтверждение наличия связи и аварию по ее падению.
Тут как раз и напрашивается объединение удаленных контроллеров с основным с помощью MQTT бриджа. Будет доступ у центрального к данным любого. А пропадание связи диагностировать так:
Периферийный контроллер раз в N секунд публикует в свой топик датувремя. Центральный проверяет топики периферийных и если разница между текущей и хранимой в топике больше N*x - тогда авария.
Спасибо.
Я пока пытаюсь увязать в голове два направления работы москита в центральном вайрене: на брокер диспетчерской (где идет общий сбор телеметрии) и на собственные периферийные контроллеры. Можно, конечно, всё рулить через диспетчерскую, но автономность снизится: всё умрет при падении связи локалки с диспетчерской.
Ну в общем да. Осталось мне понять, как прислюнявить это к rule engine, и вопрос вчерне решен. Пока в голову приходит только virtual device, который должен повторять статус соединения, и на базе этого статуса уже решается и алярма на головном контроллере, и выключение релеек на ведомых. Или есть менее окольное решение? Мне-то проще это на сях написать, но надо как-то соблюдать platform etiquette…
Вообще, надежность должна быть танковая, а про rule engine я на этом форуме видел много вопросов. Может, не нужно ее тут?