Покончив с реверансами, приступаем к теме. Итак, как я вообще докатился до идеи создания простого контроллера и почему esp32, я описывал на своем телеграмном канале, а тут будем без лирики. Только для людей со стороны поясню, зачем такой девайс вообще понадобился.
В итоге, у нас есть esp32, свободное время и желание помастерить. А что теперь нужно? Конечно, мир во всем мире! А точнее:
- коробку, чтобы можно было крепить устройство либо на din-рейку, либо на стену, в зависимости от конкретной ситуации
- чтобы не искать экзотические источники питания, хотим запитывать девайс от 12В - очень распространенный безгеморный вольтаж
- нужно много входов и выходов для минимизации необходимого количества контроллеров при масштабной автоматизации. Для полива одного каштана - это не сильно необходимо, а вот если нам захочется реализовать все задумки и прям вот так по-взрослому заавтоматизировать, то по моим примерным подсчетам получилось: 50 кнопок, 15-20 групп розеток, 25 групп светильников, 10-15 двигательных механизмов, 50 сенсоров (температуры, движения, влажности, открытия, освещения и т.д.), так что излишне плодить наши контроллеры-гейты неохота
- еще нюанс: часто внешние реле в качестве управляющего напряжения принимают 5 вольт , а у esp32 на выходе - 3.3. Поэтому если ничего не делать, то придется устраивать возню с конвертерами уровней, что явно не веселит. Значит придется встроить такие конвертеры внутрь. А еще мало ли, вдруг нам понадобятся 12в сигналы - учтем и это.
- аналогично на вход - продумать, чтоб научиться принимать разный вольтаж в пределах разумного. Для проверки гипотезы нужности такой возможности я глянул типичные массовые датчики и не обнаружил цифровых, которые не работают на 3.3в. А вот среди аналоговых такое вполне встречается. Поэтому выходит, что, как минимум, для аналоговых придется точно позаботиться о приеме разного напряжения
- полет моей мысли также привел меня еще к идее облегчения запитывания слаботочных датчиков от самой коробки, чтобы не искать дополнительных адаптеров. И опять напряжение их питания может быть разным, значит и поддержать нужно разное
- дисплей! несмотря на то, что устройство подразумевает автономную работу, обновление на лету и управление через веб-интерфейс, все-таки вывод человекочитаемой информации на корпус в случае нештатных ситуаций еще никому не мешал - не надо никаких миганий или азбуков Морзе, чтобы понять, что же пошло не так
- ну и как же без этого! ESP32 имеет только wifi - и хотя меня это в целом устраивает, но мы же тут гуманисты и о людях думаем, поэтому про старый добрый и надежный ethernet тоже не будем забывать (как и про себестоимость будущего творения при реализации наших пожеланий)
Сразу подыщем какую-нить готовую коробку, более-менее удовлетворяющую требованиям. Поймем, сколько места у нас есть, и сформируем заявленные характеристики. В результате недолгого копошения нашлась такая прибамбасина:
Не мелкая, но и не избыточная для имеющегося количества ног в ESP и наших требований.
Дальше примерно прикинем, какие ноги у нас куда пойдут. В этом нам поможет помимо датащита такая полезная табличка:
Ааа, и еще. Концепция предполагает, что мы наделяем пользователя умом и он сам выбирает, какие реле использовать, т.к цели могут быть разными, нагрузки тоже, надежность варьируется от кейса к кейсу: кто-то любит постоянно что-то чинить и исправлять последствия залипших контактов, а кто-то хочет один раз настроить и забыть, поэтому встраивать релюхи в девайс, занимая клеммы - не мой путь. Следовательно, оставляем для каждого внешнего реле только сигнальную клемму. А будет ли она виртуально нормально закрытой или нормально отрытой, определим программной настройкой.
Предварительно получаем такие заявленные характеристики нашего создания:
- Питание 12в
- Подключение к сети через WiFi или Ethernet (опционально)
- 7 цифровых или аналоговых входов на 3.3в (программно конфигурируются)
- 4 аналоговых входа 0.5-12в
- 3 I2C входа
- 18 выходов для подключения реле или других управляющих элементов. Напряжение управления на выходе конфигурируются 3.3в-5в-12в
- Отдельные выходы 12в, 5в, 3.3в для подключения сплиттеров для питания подключаемых устройств
- Информационный дисплей с выбором отображаемой информации
- Размер 9 DIN или крепление на стену
- Конфигурирование через веб-интерфейс
- Интеграция с популярными системами управления автоматизацией (типа HomeAssistant, Domoticz, OpenHAB и др.) по MQTT или HTTP с целью передачи данных от сенсоров и приема управляющих сигналов
А! Тут еще в день космонавтики меня настигла мысль, что я тоже вношу свою лепту в дело освоения космоса. И настанет момент, когда мы будем автоматизировать домашнее хозяйство в созвездии Ориона.
Потом я проснулся и, не теряя времени, нашел (не с первого раза) толкового фрилансера на бирже, который запилил 3d модельку по моему тз. Теперь фантазии обрели форму!
Дальше нас ждут некоторые кишочки в выборе необходимых компонентов для платы, ее последующее проектирование и изготовление, доработка PoC прошивки до нормального вида и заветный запуск. А пока на этом все! Было бы очень круто узнать от тебя, дорогой читатель, потративший свое драгоценное время на эту статью, полезно ли лично тебе это устройство в таком виде? Если кажется, что можно чуть его допилить, чтобы было более удобным и сбалансированным, или есть еще какие-то предложения, укладывающиеся в концепцию простого и дешевого и решающие реальные проблемы, то прям комментируй по полной! Состав еще не набрал скорость - кое-что можно подправить.
+ один подписчик, ждём развития проекта.
Ура!
Очень интересно, жду развития, уже даже придумал куда применить его
"ESP32 имеет только wifi" - а Bluetooth куда делся?) Или тут имелось ввиду именно подключение к сети?
Да, в данном контексте именно про сетевые возможности. К сети, конечно, можно и по бт пробиться, но это уже для неслабонервных
Почему не малина!?
Модеры ссылку на тележный канал удалили - там больше подробностей. Но если кратко:
Отличная идея, если решение проводное то 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...
Как прогресс спустя год ?