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

**URL:** <https://support.wirenboard.com/t/ip-vynos-ili-obedinenie-kontrollerov-v-setku/6186>\
**Category:** Программное обеспечение\
**Created:** [November 4, 2020, 7:34am UTC](https://support.wirenboard.com/t/ip-vynos-ili-obedinenie-kontrollerov-v-setku/6186 "2020-11-04T07:34:17Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![cu6apum](https://avatars.discourse-cdn.com/v2/letter/c/74df32/32.png) [@cu6apum](https://support.wirenboard.com/u/cu6apum)\
**Post date:** [November 4, 2020, 7:34am UTC](https://support.wirenboard.com/t/ip-vynos-ili-obedinenie-kontrollerov-v-setku/6186/1 "2020-11-04T07:34:17Z")

</div>

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

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

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

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [November 4, 2020, 9:16am UTC](https://support.wirenboard.com/t/ip-vynos-ili-obedinenie-kontrollerov-v-setku/6186/2 "2020-11-04T09:16:35Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![cu6apum](https://avatars.discourse-cdn.com/v2/letter/c/74df32/32.png) [@cu6apum](https://support.wirenboard.com/u/cu6apum)\
**Post date:** [November 4, 2020, 11:23am UTC](https://support.wirenboard.com/t/ip-vynos-ili-obedinenie-kontrollerov-v-setku/6186/3 "2020-11-04T11:23:27Z")

</div>

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

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

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [November 4, 2020, 11:30am UTC](https://support.wirenboard.com/t/ip-vynos-ili-obedinenie-kontrollerov-v-setku/6186/4 "2020-11-04T11:30:53Z")

</div>

> [@cu6apum](#):
>
> Удаленный тоже должен отслеживать связь и по ее падению на всякий пожарный отключать присоединенное оборудование

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

---

<div class="post-metadata">

**Author:** ![cu6apum](https://avatars.discourse-cdn.com/v2/letter/c/74df32/32.png) [@cu6apum](https://support.wirenboard.com/u/cu6apum)\
**Post date:** [November 4, 2020, 11:36am UTC](https://support.wirenboard.com/t/ip-vynos-ili-obedinenie-kontrollerov-v-setku/6186/5 "2020-11-04T11:36:38Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [November 4, 2020, 12:45pm UTC](https://support.wirenboard.com/t/ip-vynos-ili-obedinenie-kontrollerov-v-setku/6186/6 "2020-11-04T12:45:45Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![BrainRoot](https://avatars.discourse-cdn.com/v2/letter/b/c2a13f/32.png) [@BrainRoot](https://support.wirenboard.com/u/BrainRoot)\
**Post date:** [November 5, 2020, 8:01am UTC](https://support.wirenboard.com/t/ip-vynos-ili-obedinenie-kontrollerov-v-setku/6186/7 "2020-11-05T08:01:57Z")

</div>



---

<div class="post-metadata">

**Author:** ![cu6apum](https://avatars.discourse-cdn.com/v2/letter/c/74df32/32.png) [@cu6apum](https://support.wirenboard.com/u/cu6apum)\
**Post date:** [November 14, 2020, 9:45pm UTC](https://support.wirenboard.com/t/ip-vynos-ili-obedinenie-kontrollerov-v-setku/6186/8 "2020-11-14T21:45:55Z")

</div>

> [@BrainRoot](#):
>
> notification\_topic

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

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

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