Инженер-теплотехник рассказывает, как построил домашнюю автоматизацию на промышленном контроллере ПР200, одноплатном компьютере Orange Pi и Zigbee-устройствах. Из статьи можно узнать об архитектуре с двумя контурами (проводной защитный и беспроводной комфортный), интеграции ПР200 через шлюз Elphin EW11, использовании MQTT, Node-RED и разработке мобильного приложения на Flutter.
- Система разделена на два независимых контура: проводной на ПР200 для критических функций и беспроводной на Orange Pi для мониторинга.
- ПР200 связан с Orange Pi через конвертер Elphin EW11, который преобразует Modbus RTU в Modbus TCP по Wi-Fi.
- На Orange Pi развёрнуты Mosquitto MQTT, Zigbee2MQTT, Modbus-поток и Node-RED для сбора и обработки данных.
- Для удалённого доступа используется бесплатный публичный MQTT-брокер Clusterfly, куда дублируются локальные топики.
- Мобильное приложение на Flutter разработано с помощью ИИ и позволяет просматривать показания датчиков, управлять краном и настраивать топики.
- Автор отмечает, что при наличии понимания физики процессов и навыков поиска информации можно освоить смежные IT-технологии.
- ПР200
- Orange Pi
- Zigbee
- Modbus RTU
- Modbus TCP
- MQTT
- Node-RED
- Elphin EW11
- Flutter
- Clusterfly
Кому полезно: Инженерам АСУ ТП и КИПиА, интересующимся домашней автоматизацией и смежными IT-технологиями.
- Статья Как теплотехник в 50 лет стер границу между КИПиА и IT: пишем универсальный Android‑SCADA движок на Flutter
- Статья Работаем с Zigbee-устройствами через Zigbee2mqtt и Node-RED
- Статья Азы Node-Red: Subflow — зачем нужны и пример использования для управления умным светом
Первоисточник: habr.com
Выжимка составлена редакцией сайта с помощью ИИ по тексту статьи.
Месяц назад я опубликовал свою первую статью о том, как в 50 лет написал универсальный Android-SCADA движок на Flutter для промышленных ИТП. Честно скажу — я не ожидал такой теплой поддержки в комментариях. Мозг снова ожил, и я решил: раз уж я стер границу между КИПиА и IT в рабочих проектах, пора навести порядок дома.
Домашней автоматизацией я никогда не занимался. У меня был свободный ПР200, и я решил построить на нем автоматику собственного дома, подтянув туда технологии умного дома, о которых раньше только читал: Linux, MQTT, Zigbee и Node-RED.
О том, как промышленный инженер продирался сквозь дебри консоли Linux с помощью Google, и как старая SCADA-идея эволюционировала в домашнюю систему — читайте под катом.
Архитектура: Разделяй и властвуй
Как инженер, я сразу заложил железобетонный принцип: критическая инфраструктура не должна зависеть от операционной системы сервера. Если Orange Pi зависнет, заглючит Linux или отвалится Wi-Fi — дом не должен замерзнуть или утонуть.
Поэтому я разделил систему на два независимых контура:
- Проводной контур безопасности (Нижний уровень): Котельная и ввод ХВС. Всё самое важное заведено на ОВЕН ПР200. Логика защиты от протечек зашита прямо в него через OwenLogic. Если датчик на полу видит воду — реле закрывает кран без всякого участия Linux.
- Беспроводной контур комфорта (Верхний уровень): Датчики в комнатах и логика мониторинга. Работает на Orange Pi и беспроводных датчиках.
Железо проекта:
- ОВЕН ПР200 — сердце проводной части.
- Датчики давления (4-20 мА) — установлены на котле и на вводе холодной воды.
- Накладные датчики температуры PT1000 — два штуки (на подачу и обратку котла).
- Кран с электроприводом (220В) — на вводе ХВС.
- Orange Pi (взял б/у на Авито) + Zigbee-USB координатор («свисток»).
- Беспроводные Zigbee-датчики: протечка на кухне и в ванной, температура/влажность в коридоре пока решил остановиться на этих трех.





Как подружить ПР200 с Wi-Fi: Elphin EW11
ПР200 общается по Modbus RTU через RS-485. Тянуть провод через весь дом к Orange Pi не хотелось. Проблему решил миниатюрным конвертером Elphin EW11.
Он подключается к порту ПР200, ловит домашний Wi-Fi и выступает прозрачным шлюзом Modbus RTU в Modbus TCP. Теперь контроллер виден в локальной сети, и с него можно забирать регистры по TCP.
Столкновение с неизведанным: Бой с Linux и Node-RED
Если во Flutter и Dart с помощью ИИ вьезжать было относительно комфортно, то мир Linux встретил меня сурово. Мои знания консоли были равны нулю. Я просто понимал общую концепцию (кто куда должен передавать данные) и начал нещадно гуглить каждый шаг.
Этот этап отнял у меня больше всего времени. В КИПиА как? Скачал OwenLogic или софт для панелей EKF, нажал пару кнопок инсталлятора — и работаешь. В Linux «просто установить программу» — это квест из конфигурационных файлов, прав доступа и пакетов.
На Orange Pi я развернул настоящий ИТ-зоопарк:
- Mosquitto MQTT — локальный брокер (сердце обмена данными).
- Zigbee2MQTT — демон, который слушает свисток, забирает данные с датчиков протечки/климата и кидает их в топики Mosquitto.
- Modbus-поток — опрашивает по Modbus TCP наш Elphin EW11 и перекладывает данные с ПР200 в те же MQTT-топики.
- Node-RED — визуальная среда, где я настраивал логику.
Именно с Node-RED я возился дольше всего. То не ставились нужные ноды (пакеты), то они не хотели запускаться из-под нужного пользователя, то отваливались права на чтение портов. Пришлось познать дзен SSH-сессий и выучить команду sudo chmod, чтобы выдать права на запуск сервисов.
Зато когда на экране Node-RED выстроились связи, и данные с датчика давления 4-20 мА, подключенного к ПР200, побежали в MQTT-топик параллельно с беспроводным датчиком климата — это был чистый инженерный кайф.


Новое приложение на Flutter: Привет, Clusterfly!
Иметь систему автоматизации и не видеть ее параметры за пределами дома — скучно. Белый IP или сложные VPN городить не хотелось. Я нашел простое решение: бесплатный публичный MQTT-брокер Clusterfly. Node-RED на Orange Pi дублирует туда все локальные топики.
А дальше встал вопрос визуализации. Ставить тяжелый Home Assistant не хотелось — я же автор собственного SCADA-движка! Готовые утилиты из сторов сначала поставил, но потом захотелось своего.
Я снова открыл VS Code, позвал своего проверенного «цифрового джуна» (нейросеть) и на базе своего прошлого опыта написал кастомное мобильное приложение на Flutter. Теперь уже писал по советам из комментариев со встроенной нейросетью прямо в VS code. Стало еще удобнее чем копипаст из Deepsek chat. Особенно оценил существенное сокращение времени на поиск багов. Но обратная сторона еще меньше контроля и своего погружения. Когда разбираешься с тем же ИИ делая копи паст невольно приходится параллельно разбираться и самому и каждый баг становится твоим маленьким опытом. Когда ИИ встроена в среду разработки, многие вещи вообще проходят мимо, не работало раз и заработало. Вообщем двоякое мнение. Но скорость на порядок выше.
ИИ помогал мне писать функции для работы с протоколом MQTT по SSL, верстать интерфейс и обрабатывать входящие пакеты. Также по аналогии с конфигурациями ИТП в предыдущей статье сделал возможность сохранять конфигурацию топиков и настроек брокер в json файле чтобы в случае переустановки на другой телефон заново не настраивать. В итоге получился аккуратный интерфейс, где на экранах я вижу показания своих датчиков давлений и температур, могу закрыть кран с холодной водой, посмотреть аварии. А также могу настроить новые топики или подредактировать уже существующие. Всё это обновляется мгновенно из любой точки мира через Clusterfly. Сам интерфейс на первых порах тестирования сделал скромным, возможно потом можно будет его приукрасить манометрами, термометрами для наглядности.




Выводы
Проект успешно работает, и это мое второе серьезное погружение в смежные IT-области.
Если у вас есть понимание физики процессов (как работают датчики, что такое Modbus и зачем нужен клапан) и умение упорно гуглить — вы сможете запустить любой стек технологий понятно что сначала на каком то любительском уровне. Да, на коленке, да, набив кучу шишек об Linux. Но этот «Франкенштейн» из промышленного ПР200, б/у платы с Авито и кода, созданного в тандеме с ИИ, работает пока без сбоев, не просит подписок и надеюсь спасет от протечек)). Но главное удовольствие что в наше время ИИ и доступа к разнообразной технической информации можно сделать самому то, что раньше скорей всего либо было обречено на провал, либо заняло очень много времени.
Коллеги-автоматизаторы, не бойтесь выходить из зоны комфорта известных вам технологий! На примере этих двух статей хотел сказать что в наше время можно смело погружаться в смежные области вашей основной профессии и все получится на своем уровне. Пусть это будет не идеально, но идеально с первого раза не бывает никогда. Потом если появятся еще задачи в этой области будет пролучаться все лучше и лучше. Если нет, то все равно пригодится любая область в которой что то сделал обогащает твой опыт и в основной профессии. Всем удачи!
Источник: https://habr.com/ru/articles/1101298/