Статья

Chipperb. Простейший контроллер для проводной домашней автоматизации на esp32

Покончив с реверансами, приступаем к теме. Итак, как я вообще докатился до идеи создания простого контроллера и почему esp32, я описывал на своем телеграмном канале, а тут будем без лирики. Только для людей со стороны поясню, зачем такой девайс вообще понадобился. 

В итоге, у нас есть esp32, свободное время и желание помастерить. А что теперь нужно? Конечно, мир во всем мире! А точнее: 

  • коробку, чтобы можно было крепить устройство либо на din-рейку, либо на стену, в зависимости от конкретной ситуации 
  • чтобы не искать экзотические источники питания, хотим запитывать девайс от 12В - очень распространенный безгеморный вольтаж 
  • нужно много входов и выходов для минимизации необходимого количества контроллеров при масштабной автоматизации. Для полива одного каштана - это не сильно необходимо, а вот если нам захочется реализовать все задумки и прям вот так по-взрослому заавтоматизировать, то по моим примерным подсчетам получилось: 50 кнопок, 15-20 групп розеток, 25 групп светильников, 10-15 двигательных механизмов, 50 сенсоров (температуры, движения, влажности, открытия, освещения и т.д.), так что излишне плодить наши контроллеры-гейты неохота
  • еще нюанс: часто внешние реле в качестве управляющего напряжения принимают 5 вольт , а у esp32 на выходе - 3.3. Поэтому если ничего не делать, то придется устраивать возню с конвертерами уровней, что явно не веселит. Значит придется встроить такие конвертеры внутрь. А еще мало ли, вдруг нам понадобятся 12в сигналы - учтем и это. 
  • аналогично на вход - продумать, чтоб научиться принимать разный вольтаж в пределах разумного. Для проверки гипотезы нужности такой возможности я глянул типичные массовые датчики и не обнаружил цифровых, которые не работают на 3.3в. А вот среди аналоговых такое вполне встречается. Поэтому выходит, что, как минимум, для аналоговых придется точно позаботиться о приеме разного напряжения
  • полет моей мысли также привел меня еще к идее облегчения запитывания слаботочных датчиков от самой коробки, чтобы не искать дополнительных адаптеров. И опять напряжение их питания может быть разным, значит и поддержать нужно разное
  • дисплей! несмотря на то, что  устройство подразумевает автономную работу, обновление на лету и управление через веб-интерфейс, все-таки вывод человекочитаемой информации на корпус в случае нештатных ситуаций еще никому не мешал - не надо никаких миганий или азбуков Морзе, чтобы понять, что же пошло не так   
  • ну и как же без этого! ESP32 имеет только wifi - и хотя меня это в целом устраивает, но мы же тут гуманисты и о людях думаем, поэтому про старый добрый и надежный ethernet тоже не будем забывать (как и про себестоимость будущего творения при реализации наших пожеланий) 

Сразу подыщем какую-нить готовую коробку, более-менее удовлетворяющую требованиям. Поймем, сколько места у нас есть, и сформируем заявленные характеристики. В результате недолгого копошения нашлась такая прибамбасина:

 

Не мелкая, но и не избыточная для имеющегося количества ног в ESP и наших требований.

Дальше примерно прикинем, какие ноги у нас куда пойдут.  В этом нам поможет помимо датащита такая полезная табличка:


Ааа, и еще. Концепция предполагает, что мы наделяем пользователя умом и он сам выбирает, какие реле использовать, т.к цели могут быть разными, нагрузки тоже, надежность варьируется от кейса к кейсу: кто-то любит постоянно что-то чинить и исправлять последствия залипших контактов, а кто-то хочет один раз настроить и забыть, поэтому встраивать релюхи в девайс, занимая клеммы - не мой путь. Следовательно, оставляем для каждого внешнего реле только сигнальную клемму. А будет ли она виртуально нормально закрытой или нормально отрытой, определим программной настройкой. 

Предварительно получаем такие заявленные характеристики нашего создания: 

  1. Питание 12в
  2. Подключение к сети через WiFi или Ethernet (опционально)
  3. 7 цифровых или аналоговых входов на 3.3в (программно конфигурируются)
  4. 4 аналоговых входа 0.5-12в
  5. 3 I2C входа
  6. 18 выходов для подключения реле или других управляющих элементов. Напряжение управления на выходе конфигурируются 3.3в-5в-12в
  7. Отдельные выходы 12в, 5в, 3.3в для подключения сплиттеров для питания подключаемых устройств
  8. Информационный дисплей с выбором отображаемой информации
  9. Размер 9 DIN или крепление на стену
  10. Конфигурирование через веб-интерфейс
  11. Интеграция с популярными системами управления автоматизацией (типа HomeAssistant, Domoticz, OpenHAB и др.) по MQTT или HTTP с целью передачи данных от сенсоров и приема управляющих сигналов

А! Тут еще в день космонавтики меня настигла мысль, что я тоже вношу свою лепту в дело освоения космоса. И настанет момент, когда мы будем автоматизировать домашнее хозяйство в созвездии Ориона. 

Потом я проснулся и, не теряя времени, нашел (не с первого раза) толкового фрилансера на бирже, который запилил 3d модельку по моему тз. Теперь фантазии обрели форму!

Улыбочка
И еще разок

Дальше нас ждут некоторые кишочки в выборе необходимых компонентов для платы, ее последующее проектирование и изготовление, доработка PoC прошивки до нормального вида и заветный запуск. А пока на этом все! Было бы очень круто узнать от тебя, дорогой читатель, потративший свое драгоценное время на эту статью, полезно ли лично тебе это устройство в таком виде? Если кажется, что можно чуть его допилить, чтобы было более удобным и сбалансированным, или есть еще какие-то предложения, укладывающиеся в концепцию простого и дешевого и решающие реальные проблемы, то прям комментируй по полной! Состав еще не набрал скорость - кое-что можно подправить.


Вернуться назад

Устройства


Вернуться назад