УМНЫЙ ДОМ С УПРАВЛЕНИЕМ
ПО WI-FI
В доме, точнее в городской квартире, существует множество рутинных действий, которые приходится выполнять ежедневно. Вот здесь и открывается простор для домашней автоматизации (home automation).
Мне захотелось сделать устройства, которые по расписанию выполняли бы некие действия, а управлять самими устройсвами можно было бы со смартфона.
Основа устройств - микроконтроллер Arduino Nano. В каждом устройстве есть часы реального времени (я использовал DS3231) и wi-fi модуль ESP-8266. В зависимости от функций, микропроцессор управляет либо реле, либо драйвером двигателя, либо сервоприводом, либо чем-то еще, необходимым для выполнения каких-то действий.
Перед установкой в устройство ESP-8266 конфигурируется для работы в домашней сети, а в роутере за ним по MAC-адресу закрепляется фиксированный IP-адрес. При работе с модулем я использовал "родную" прошивку с AT-командами. На каждом модуле "поднят" UDP-сервер, который отрабатывает пришедшие команды, и, при необходимости, отправляет ответ.
Все настройки и режимы работы устройств задаются в андроид-приложении. Передача настроек происходит с помощью нехитрых команд вида <"Команда""Данные">.
В настоящий мемент у меня работает привод штор и система автополива/досвечивания небольшой оранжереи на балконе.
Итак, вот что получилось:
ANDROID ПРИЛОЖЕНИЕ
Основной экран
На нем можно выбрать доступные функции приложения.
Управление шторами
Кнопки для управления движением штор, переход в расписание, установка времени на устройстве, запрос информации о режимах.
Управление поливом
Здесь пожно посмотреть настройки четырех режимов, перейти к настройкам, установить часы, запросить параметры.
Экран настроек
Здесь задаются параметры UDP-серверов устройств.
Расписание штор
Здесь показано расписание по дням недели. По кнопке - переход к настройкам расписания.
Инструкция
Здесь приведены команды для работы с устройсвами
Настройка расписания
Здесь можно задать время автоматического открытия и закрытия штор.
Настройка режима
Здесь задается длительность, повтор и время старта выбранного режима.
Ответ от устройства
На экран выводится температура, влажность, текущая дата и время.
Приложение разработано в Android Studio. Минимальная версия Android 5.0 (APK 21).
(Для других экранов могут съехать шрифты - я не заморачивался с разметкой, делал под свой Xiaomi RedMi Note 3. Если будут запросы - могу пересобрать под другой экран).
КОНТАКТЫ
С удовольствем отвечу на ваши вопросы - просто заполните форму.
Кстати, "Умный дом" - не единственный мой проект, использующий управление Arduino-устройствами со смартфона. Можно посмотреть проект Зимняя электронная Bluetooth удочка.
АВТОПОЛИВ
Управление автополивом/досвечиванием в моем варианте может работать абсолютно самостоятельно, без Wi-Fi управления. Просто мне пришлось сделать клон для офиса, а там никакого доступа к Wi-Fi, сами понимаете...
Устройство сделано в стандартном корпусе РЭА, имеет жк-дисплей 4х20 I2C, кнопки управления, один разъем питания (компьютерный, на 220V), и два выхода 220V - на воду и на свет.
Внутри - сетевой фильтр, преобразователь 220-5V, стабилизатор 5V, датчик температуры/влажности DHT-11 двухканальное твердотельное реле, и стандартный набор Arduino Nano - ESP 8266 - RTC 3231, собранный на самодельной плате.
Блоки и корпус куплены на Ali и "Чип-и-Дип"
Сама "оранжерея" состоит из 3 ярусов по 5 горшков, собрана из рейки 20х40. Все куплено в "Леруа Мерлен".
Наверху - тимьян, средний ярус - базилик, нижний - укроп и петрушка.
Бак - 10 литров, пластиковая канистра с прорезанным отверстием под насос, но на такую систему нужно 20 литров, иначе приходится часто заливать воду.
Система капельного полива (шланги, краны, фиттинги, капельницы) "Жук", с дополнительным комплектом. Трубка 1/2". Куплена в магазине "Все инструменты".
На каждый ярус установлен кран - для регулирования расхода воды и интенсивности полива.
Между ярусами обязательно нужен клапан Аквастоп - иначе пока вода дойдет до верхнего яруса, нижний будет залит.
Все соединения трубок зафиксированы полиэтиленовыми монтажными стяжками.
Насос - погружной, для фонтана, на 220V. Высота подъема воды - 1,6 м. Есть механическая регулировка производительности.
На фото насос уже с присоединенным клапаном Аквастоп и замененной вилкой питания.
Система досвечивания состоит из 4-х светодиодных ламп полного спектра (которые для растений), смонтированных на полке. Патроны - самые обычные наклонные, по 40 рублей, провод 1,5 мм.
Лампы куплены на Ali Express по 110 рублей. (в Москве такие, или чуть получше - по 600!).
Пока не могу точно сказать, помогает ли эта система росту зелени, но досвечиваю по часику с утра и вечером. Поглядим.
Автополив принимает от приложения команды:
<T......> - устанавить время RTC;
<R> - прислать параметры устройства;
<D......> - установить параметры режимов работы - длительность (если "0" - режим отключен), частоту повторений (от 1 - каждый день, до 7 - раз в неделю), время старта (часы + минуты).
Скетч для Ардуино можно скачать здесь.
Скетч получился достаточно объемный, но это из-за дисплея - 6 экранов, мигание изменяемых символов, ежесекундное обновление времени и прочие прибамбасы. Без всего этого все достаточно просто: проверил время, нужно включить - включил реле, нужно выключить - выключил. Плюс - обработать от, что пришло по Wi-Fi.
ШТОРЫ
Утром проснулся - нужно раздвинуть шторы. Собрался спать - нужно закрыть шторы. Если не закрыл - приходится вставать.... Решено - все эти рутинные действия можно автоматизировать.
Требования к устройству:
-
Открывает и закрывает шторы по расписанию.
-
Открывает и закрывает шторы при нажатии на клавишу бытового двухклавишного выключателя.
-
При длительном нажатии (более 1 секунды) штора открывается/закрывается полностью ;
-
Открывает и закрывает шторы из приложения со смартфона;
-
Расписание по дням недели устанавливается со смартфона;
-
Минимальный уровень шума при работе механизма;
-
Механизм использует имеющуся шину для штор .
Все электронные блоки смонтированы на фанерном основании толщиной 12мм. Такой же по размеру кусок фанеры прикреплен к потолку (у меня между стеной и шиной есть ниша 60-70 мм., туда все как раз помещается). Сборка и тестирование устройства производится на столе, а потом два куска фанеры скрепляются между собой шурупами. Выполнять более сложные операции под потолком, стоя на стремянке, у меня не получалось.
В короб из гипсокартона уходит два провода - питание и трехжильный на выключатель.
На фото - "дальний" от мотора край фанерного основания - самодельная плата, на которой размещены клеммы подключения, звуковой излучатель, разъем RTC, плата согласования уровней 3.3V-5V, и модуль ESP-8266 (ESP-01). Питание ESP-8266 на основе преобразователя LM1117 собрано на нижней стороне платы.
ESP брал здесь.
Преобразователь уровней здесь.
Мотор 5-18V, с редуктором, 100 об/мин., размещен на алюминиевом уголке. На валу d5mm закреплено зубчатое колесо для ремня GT-2 шириной 3 мм. Винты для закрепления колеса шли в комплекте.
Мотор вот такой.
Зубчатые колеса - отсюда.
Ремень купил здесь.
К уголку прикреплена самодельная плата с двумя датчиками Холла, которые фиксируют крайние положения штор.
Модуль управления двигателем запитан от БП 12V 2000 mA, и выполняет функции преобразователя напряжения для Arduino и остальной переферии.
Модуль вот такой.
Модуль Arduino Nano размещен в очень удобном адаптере. Я его использую во всех поделках, где не нужно заботиться о габаритах.
Натяжитель сделан аналогично - на алюминиевом профиле, но в нем использован зубчатый шкив с подшипником (типа такого, только на зубчатый ремень 5мм). Винт М5 с потайной головкой, гайка с полиэтиленовым вкладышем. Затяжку нужно отрегулировать, чтобы шкив свободно вращался.
Устройство принимает от приложения и обрабатывает следующие команды:
<O> (Open) - включить мотор на открывание штор;
<C> (Close) - включить мотор на закрывание штор;
<S> (Stop) - остановить мотор;
<A> (Auto) - Автоматический режим работы, использовать расписание;
<M> (Manual) - ручной режим работы, не использовать расписание;
<Tхххххх> (Time) - установить дату и время внутренних часов реального времени (RTC);
<Dхххххх> (Data) - данные о расписании;
<R> - (Request) - запрос параметров работы устройства.
Ответ приходит в таком виде:
Несколько советов:
Натажение зубчатого ремня обеспечивает пружина, диаметр которой примерно равен диаметру самого ремня. Чтобы натяжитель не задевал шторы при движении, пришлось обернуть его в чехольчик из пищевой пленки.
Вообще движение ремня и движения штор должны быть идеальным, иначе все застревает, клинит, задевается тюль, шторы и т.д. Мне, например, пришлось опустить шторы чтобы ремень их не задевал - пришил колечки к ленте, и их уже вставял в бегунки на шине. Движение ремня в сборе нужно прокатать полность без магнитов и прикрепленных штор. Задеваний быть не должно. Потом выставить крайние положения, и в последнюю очередь закрепить шторы.
Сами бегунки - с колесиками, желательно двойные. Бегунки с кубиками перекашивает и клинит.
Маленькие магниты непросто напрямую прикрепить на ремень, особенно под потолком. Пришлось сделать стальные полоски с прорезями, к ним приклеить магниты, и их по месту примотать ниткой к ремню. Сами магниты обернуты изолентой, иначе, когда они встречаются на противоходе, то сцепляются почти намертво, и злобно бьются друг об друга.
У меня к ремню прикрепляется крайние бегунки полотнищ, и когда шторы полностью зактыты, остается щель. Небольшая, но есть. В фирменных механизмах исползуется специальная каретка - к ремню прикреплен предпоследний бегунок, и штора закрывается внахлест, без щели.