Решил попробовать автоматизировать что-то у себя в доме. Выбор пал на автоматизацию включения-выключения света и компрессора в аквариуме. До этого все работало на леруашных таймерах, которые занимали довольно много места, да еще и глючат часто, неожиданно сами сбрасываются к заводским настройкам.
Т.к. хотелось сократить занимаемое таймерами место, то взял имеющийся сетевой фильтр на 5 розеток и немного его модернизировал. Долго переживал получится ли, но в итоге все компоненты прекрасно влезли внутрь корпуса. Правда пришлось выкинуть из сетевого фильтра автоматический предохранитель и заменить его на плавкий для экономии места.
Вот такой первый блин у меня получился.
В качестве "мозгов" устройства выбрал чип ESP8266, имеющий интерфейс WiFi на борту. Понравился размер микросхемы. Слева плата, необходимая только для подключения к компу и прошивки, справа сам модуль. К слову, в дальнейшем получилось настроить OTA обновление прошивки по WiFi, хоть с телефона, хоть с компа.

Модуль часов на базе микросхемы DS3231SN. Как про нее пишет в даташите производитель "экстремально точная микросхема часов". Имеет встроенную автоматическую подстройку кварца от окружающей температуры. Бонусом еще микросхема может измерять температуру и эти данные можно считать с нее, что и было сделано.
Модуль часов припаял с нижней стороны микросхемы ESP8266 к питанию и двум ногам для обмена информацией.

Для управления нагрузкой 220В использовал такие реле на семисторах. Максимальный ток нагрузки 2А, но для аквариума этого более чем достаточно.

Т.к. для работы ESP8266 требуется напряжение 3,3В, то был выбран такой блок питания. Еще добавил микросхему uln2003 чтобы защитить выходы ESP8266 от перегрузки по току.

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

ESP8266 настроил на режим работы точкой доступа. При подключении к ней с телефона или другого устройства по WiFi и доступе по ее адресу сделал такую html страницу на которой можно узнать состояния всех каналов, настроить таймеры их автоматического включения и выключения, и узнать температуру внутри. Весь интерфейс написан на html+css+javascript. Т.к. память устройства довольно ограничена, то никаких jquery и прочего.

Все компоненты были заказаны на Али. Программирование самостоятельно на СИ без готовых решений на Arduino IDE используя библиотеки, идущие в комплекте.
Изменено: Mistral, 17.07.2017 - 13:38