Отмороженное введение в #полоумныйдом
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-блоках, триггерах, логических операциях и прочего:
Скриптовая обвязка, понятно, может быть совершенно любой, как и сценарии обработки. Сами исполнительные блоки по сути тоже могут быть любыми, но на мой вкус – с определенной долей автономности, условно – включение и выключение должно быть доступно всегда. Например, есть вполне приличные импульсные реле Меандр РИО-1, с групповым управлением, “статусом” – увы, не подходят именно из-за отсутствия автономности.
Цели – позднее 😉