Skip to main content

Отмороженное введение в #полоумныйдом

Disclaimer: это пост-памятка, а не руководство к действию 😉 В некоторых углах квартиры требуется максимально надежная работа домашней автоматики, и по сути никаких контроллеров из лабаза по 150 р., датчиков с али, беспроводных сетей и прочей современной шелупони быть не должно в принципе – только жесткая прямая связь, с аппаратными причинно-следственными связями – сначала отключаем, а разбираемся потом 😉 Но есть места, где хочется всего и сразу – отчасти свет, отчасти – приточная вентиляция – там, где нет необходимости обеспечения функциональности 24/7 и есть возможность “поиграться” с разными технологиями, беря лучшее из возможного, сообразно доступности и цене. Отсюда и пост. К промрешениям – датчикам, актуаторам и прочему у меня вопросов особо нет, это дорого, богато, надежно и проверено – не совсем мой случай 😉

Невменяемость – это:

  • собрать данные с датчика #BMP280, подключенного 1-wire к #ESP8266
  • собрать данные с датчика #DHT22, подключенного к #ESP8266
  • передать полученные данные c #ESP8266 в #MQTT сервер, собранный на коленке в #Solaris114, с QoS 0 (нам нужны проблемы, большие проблемы 😉
  • передать полученные данные в контроллер PLC #Segnetics #Pixel, подключенный по MODBUS RTU/RS-485 к физическому COM-порту на #Solaris114, программирование которого возможно только из под win, с заранее нарисованной FD-программой
  • уже с PLC поуправлять блоками реле (сведтодиодное освещение), контакторами (вытяжно-приточная вентиляция) и аналоговыми выходами (для управления твердотельными реле, диммеры)

В принципе, реально:

  • для тонких ценителей и желающих разобраться, что такое MODBUS, RTU, FC, койлы и регистры – можно рискнуть начать читать вот это
  • с MQTT на Solaris все относительно просто, ранее, с помощью танцев с бубном удалось наладить какой-то безумно кривой, но работающий сборочный процесс Mosquitto
  • NodeMCU чуднО дружит с обоими типами датчиков и MQTT, здесь без засады, Deep Sleep тоже реализуем почти без заморочек, я позорно “сливаюсь” и использую автобилды отсюда, не готов воевать с проприентарщиной и помойкой компиляторов (пока, да)
  • есть отличная библиотека libmodbus, которая успешно собирается и работает и на Linux, и на Solaris, но имеет, на мой вкус, совсем неважнецкую документацию (по сути – эту библиотеку используют с пониманием нижележащих процессов, посему у меня возникла масса проблем – я делал заход из интернетов, а не с инженерной стороны)
  • есть приличная, но кривоватая, реализация основных комманд MODBUS (мне интересно чтение-запись регистров и койлов) modbus-tools, которая в оригинале сыровата – поправленная версия лежит здесь

Собственно, все, дальше все ограниченно только полетом фантазии и мутными воспоминаниями о Ladder-блоках, триггерах, логических операциях и прочего:
fd

io

#полоумныйдом

Скриптовая обвязка, понятно, может быть совершенно любой, как и сценарии обработки. Сами исполнительные блоки по сути тоже могут быть любыми, но на мой вкус – с определенной долей автономности, условно – включение и выключение должно быть доступно всегда. Например, есть вполне приличные импульсные реле Меандр РИО-1, с групповым управлением, “статусом” – увы, не подходят именно из-за отсутствия автономности.

Цели – позднее 😉