Статья

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 прошивки до нормального вида и заветный запуск. А пока на этом все! Было бы очень круто узнать от тебя, дорогой читатель, потративший свое драгоценное время на эту статью, полезно ли лично тебе это устройство в таком виде? Если кажется, что можно чуть его допилить, чтобы было более удобным и сбалансированным, или есть еще какие-то предложения, укладывающиеся в концепцию простого и дешевого и решающие реальные проблемы, то прям комментируй по полной! Состав еще не набрал скорость - кое-что можно подправить.


+ один подписчик, ждём развития проекта.

Ура!

Очень интересно, жду развития, уже даже придумал куда применить его

"ESP32 имеет только wifi" - а Bluetooth куда делся?) Или тут имелось ввиду именно подключение к сети?

Да, в данном контексте именно про сетевые возможности. К сети, конечно, можно и по бт пробиться, но это уже для неслабонервных

Почему не малина!?

Модеры ссылку на тележный канал удалили - там больше подробностей. Но если кратко:  


  1. малина - оверкилл по мощностям и прожорливости. У меня была идея еще встроить аккумулятор для случаев перебоев с электричеством и малина бы держалась гораздо меньше по времени. Хотя я временно отказался от батареи, но в голове все равно это держу
  2. официальной поддержки какой-нить реалтаймовой ОС, типа freertos, в ней нет и чувство прекрасного во мне из-за этого страдает
  3. занимает больше места - а сколько мне его может понадобиться, я пока не знаю
  4. просто дороже 

Отличная идея, если решение проводное то Ethernet точно нужен. А если еще и нативный Homekit то цены ей не будет)))

Не зная цену девайса на выходе, сложное судить. 3хI2C против 18 «релейных» выходов (про ещё 7 входов я помню) не слишком сбалансированное решение. При отсутствии релюх внутри корпуса, 9дин многовато. Я понимаю, что это основывается на необходимости размещения большого количества клем . Рассмотрите вариант размещения клем в 2 этажа. Также, «не силовые» клемы можно выбрать меньшего размера, а не под 4 квадрата. Если вы планируете сей девайс на Дин рейку, то размещать входы/выходы сбоку - плохая идея.


А так, решение, безусловно, интересное. И возможно найдёт своих последователей. Удачи в начинании.

Спасибо за коммент. В этой области у самого сомнения. Двухэтажных готовых пока не нашел, но если дело пойдет, то все равно коробку придется дорабатывать, поэтому перейду ко второму этажу. И я бы прям благодарен был за предложения по балансу входов-выходов, исходя из ваших (всех читателей) кейсов. 

Да, если на Дин рейку посмотрите корпуса допустим D6MG а 9 дин это очень много.


Спасибо, я учту это.

С удовольствием буду следить за темой!

Шикарное решение!!
Буду следить за развитием!
если нужна будет поддержка - поддержу!

p.s.
тут много народу с Homey - было бы неплохо сделать интеграцию и там )

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

Совершенно аналогичное устройство (ну или очень похожее+аппаратные интерфейсы DMX для Света, 1-wire и modbus) под названием Lighthub мы запилили под ARM (SAM)+Wiznet5500.. и вот только недавно портировал прошивку на ESP32, собираясь сделать железный вариант под ESP

В последней версии железки минимизировали кол-во клеммников, заменив их разъёмами IDC26 и выносными колодками на DIN рейку. 

Штука незаменима, если применять на начальном этапе ремонта, так как способна обслужить в одиночку около ста квадратных метра квартиры или коттеджа  .

Вообщем, присоединяйтесь, прошива опенсорсная. 

http://lazyhome.ru

Было бы неплохо увидеть статью для здешних обитателей ;)

Я сам не проверял на железе, но в даташите  на есп32 в распиновке несколько пинов подписаны как ethernet...

Ээээ. Я может не внимательно прочитал постановку задачи, но чем вы управлять собираетесь? Для контроллера УД у ESP как-то с I/O бедненько, если вы не собираетесь конечно через I2C и/или SPI какие-то экстеншны подключать. Ну и web-сервер там конечно очень условный, что б на нём web-интерфейс модный и современный запускать. Или третий вариант - это просто у меня просто запросы слишком большие. :)

Как прогресс спустя год ?


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

Устройства


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