IP вынос или объединение контроллеров в сетку?

Я, как всегда, с экзотикой. Привет.

Есть задача управлять тремя однотипными узлами на изрядном расстоянии, скорее всего будет L2 туннель к каждому от головного узла.
В головном узле инфа от удаленных в принципе должна восприниматься как от местных датчиков, исполнительные устройства также управляться непосредственно, т.е. строится система IP-выносов для головного wb6.

Вот думаю, есть ли на данный момент штатные средства устроить такую сеть выносов, или придется кумекать свои. В принципе, можно утоптаться в стандартный mqtt стек, только добавить подтверждение наличия связи и аварию по ее падению.

Тут как раз и напрашивается объединение удаленных контроллеров с основным с помощью MQTT бриджа. Будет доступ у центрального к данным любого. А пропадание связи диагностировать так:
Периферийный контроллер раз в N секунд публикует в свой топик датувремя. Центральный проверяет топики периферийных и если разница между текущей и хранимой в топике больше N*x - тогда авария.

Удаленный тоже должен отслеживать связь и по ее падению на всякий пожарный отключать присоединенное оборудование до разрешения вопроса.

Идея понятна больмень, спасибо. Пойду колупать.

Ну, так “центральный” тоже может публиковать. Периферийные точно так же проверяют актуальность.
Будут вопросы - помогу.

1 лайк

Спасибо.
Я пока пытаюсь увязать в голове два направления работы москита в центральном вайрене: на брокер диспетчерской (где идет общий сбор телеметрии) и на собственные периферийные контроллеры. Можно, конечно, всё рулить через диспетчерскую, но автономность снизится: всё умрет при падении связи локалки с диспетчерской.

Вообще, про публикацию даты-времени я погорячился. Можно испоьзовать штатную возможность “notification_topic” при настройке бриджа.

1 лайк

Ну в общем да. Осталось мне понять, как прислюнявить это к rule engine, и вопрос вчерне решен. Пока в голову приходит только virtual device, который должен повторять статус соединения, и на базе этого статуса уже решается и алярма на головном контроллере, и выключение релеек на ведомых. Или есть менее окольное решение? :wink: Мне-то проще это на сях написать, но надо как-то соблюдать platform etiquette…

Вообще, надежность должна быть танковая, а про rule engine я на этом форуме видел много вопросов. Может, не нужно ее тут?

Спасибо за мнения.