- Умная розетка ESP для домашней автоматизации
- Необходимые материалы
- Программа Smart Plug для ESP8266
- Принципиальная электрическая схема
- Корпус с 3D-печатью для смарт-розетки
С тех пор, как я начал работать с модулями ESP Wi-Fi, я всегда хотел создать интеллектуальную розетку Wi-Fi, которая позволила бы мне управлять нагрузкой переменного тока по беспроводной сети через смартфон. Хотя подобные продукты уже доступны на рынке, например, популярная розетка Moko WiFi Smart Plug или Sonoff, они немного дороги и, кроме того, не доставляют вам радости от создания собственных. Итак, в этом проекте я покажу вам, как вы можете создать свой собственный умный штекер, используя модуль Wi-Fi ESP8266.. Созданное нами устройство можно легко подключить к любой выходящей розетке переменного тока, а на другом конце вы можете подключить фактическую нагрузку, просто вставив ее в этот разъем на нашем устройстве. После этого просто держите главный выключатель розетки всегда включенным, и вы можете управлять нагрузкой прямо со своего смартфона. Весело, правда? Итак, приступим к проекту….
Умная розетка ESP для домашней автоматизации
Мы уже создали несколько проектов домашней автоматизации, от простой домашней автоматизации на основе RF до моей любимой домашней автоматизации на основе Google Assistant. Но сегодня требования к этому проекту несколько иные.
Здесь цель состоит в том, чтобы включить / выключить мой маршрутизатор Wi-Fi, просто используя смартфон прямо с моей рабочей станции. Потому что время от времени у меня пропадает подключение к Интернету, и когда я звоню в службу поддержки, стандартный ответ, который я получаю: «Сэр, извините за причиненные неудобства. Пожалуйста, перезапустите маршрутизатор, выключив его, а затем снова включив через несколько секунд » Puffff! Устав каждый раз идти к маршрутизатору, я решил построить эту умную вилку Wi-Fi и управлять своим маршрутизатором с ее помощью.
Но подождите минутку! После выключения роутера у меня больше не будет доступа к Интернету. Итак, как мне снова включить его удаленно? К счастью, наш ESP8266 можно использовать в качестве точки доступа, то есть он также может действовать как маршрутизатор, посылая собственный сигнал Wi-Fi. Этот сигнал Wi-Fi всегда будет доступен, пока ESP8266 включен. Следовательно, мы запрограммируем наш ESP8266 как захватывающий портал, таким образом, как только мы подключимся к сигналу Wi-Fi ESP, мы будем перенаправлены на веб-страницу, откуда мы сможем включить / выключить нашу нагрузку.
Необходимые материалы
1. Модуль Wi-Fi ESP8266
2. Преобразователь переменного тока в постоянный Hi-Link (3,3 В)
3. Реле 3 В
4. NPN транзистор BC547.
5. Модуль программирования FTDI
6. Плата Arduino Wi-Fi.
7. Соединительные провода
Примечание: мы используем этот Arduino Wi-Fi Shield, который мы создали ранее. Плата используется только для загрузки кода Arduino в модуль ESP8266. Если у вас нет этой платы, вы можете создать ее, используя ссылку использования этой простой схемы программатора ESP8266 для загрузки вашего кода.
Программа Smart Plug для ESP8266
Прежде чем мы продолжим, давайте сразу же погрузимся в программу, чтобы понять, как будет работать наша умная вилка DIY WiFi. Как вы можете видеть здесь, мы начинаем программу с включения нескольких файлов заголовков и настройки сетевого сервера DNS.
#включают
Затем мы инициализируем вывод 2 GPIO ESP как выход, который будет использоваться для управления нашей нагрузкой. После этого у нас есть длинный HTML-код для нашей веб-страницы. Здесь у нас всего три экрана на нашей веб-странице, а именно главный экран, экран на экране и экран выключения.
String Home_Screen = "" // Страница 1 - HTML-код главного экрана "" " " + style_detials + "
""Добро пожаловать - CircuitDigest
"" "; String ON_Screen =" "// Страница 2 - Если устройство включено" "" "+ style_detials +" ""Умная розетка - включено
"" "; String OFF_Screen =" "// Страница 3 - Если устройство выключено " " " " + style_detials + " " "Умная розетка - выключена
" " ";Эти три веб-страницы при открытии будут выглядеть примерно так. Вы можете настроить свою веб-страницу так, чтобы она выглядела так, как вам нравится.
Затем у нас есть наша функция настройки void, внутри которой мы определяем наш ESP для работы в качестве точки доступа, а также даем ему имя, здесь «ESP_Smart_Plug». Когда любой пользователь подключается к этому Wi-Fi, он попадает на домашнюю страницу, которую мы определили ранее.
pinMode (LED_BUILTIN, OUTPUT); // вывод светодиода как выход для индикации pinMode (GPIO_2, OUTPUT); // Вывод GPIO как выход для управления реле WiFi.mode (WIFI_AP); // Устанавливаем ESP в режим AP WiFi.softAPConfig (apIP, apIP, IPAddress (255, 255, 255, 0)); WiFi.softAP («ESP_Smart_Plug»); // Назовите свою сеть AP dnsServer.start (DNS_PORT, "*", apIP); webServer.onNotFound (() { webServer.sendHeader ("Местоположение", String ("http://www.circuitdigest-automation.com/home.html"), true); // Открыть главный экран по умолчанию webServer.send (302, "текст / обычный", ""); });
На домашней странице, если пользователь нажимает кнопку ON, будет отображаться экранная страница, а для контакта GPIO 2 будет установлено высокое значение.
// ON_Screen webServer.on ("/ relay_ON", () {// Если кнопка включения нажата digitalWrite (LED_BUILTIN, LOW); // Выключить светодиод digitalWrite (GPIO_2, HIGH); // Выключить реле webServer.send (200, "text / html", ON_Screen); // Отображаем этот экран });
Точно так же, если пользователь нажимает кнопку выключения, будет отображаться страница вне экрана, а для вывода GPIO 2 будет установлено значение НИЗКОЕ.
// OF_Screen webServer.on ("/ relay_OFF", () {// Если кнопка выключения нажата digitalWrite (LED_BUILTIN, HIGH); // Включаем светодиод digitalWrite (GPIO_2, LOW); // Включаем реле webServer.send (200, "text / html", OFF_Screen); // Отображаем этот экран });
Полный код вместе с файлами библиотеки можно загрузить в виде ZIP-файла по приведенной ниже ссылке. Теперь, когда наш код готов, мы можем загрузить его в наш модуль ESP, просто нажав кнопку загрузки и дождавшись загрузки кода. Полную программу вместе с файлами библиотеки можно скачать по ссылке ниже
ESP8266 Smart Plug - загрузка кода Arduino
Те, у кого есть экран Wi-Fi, могут просто подключить ваши модули вместе, как показано выше, и подключить их к компьютеру, чтобы начать программировать наш ESP8266 с помощью Arduino IDE. Люди, у которых нет этой платы, могут использовать принципиальную схему, как упоминалось ранее.
После загрузки кода найдите сети Wi-Fi на своем телефоне, и вы должны найти сигнал с именем «ESP_Smart_Plug». Подключитесь к нему, и вы попадете на страницу, которую мы только что создали. Здесь, когда вы нажимаете кнопку выключения, вы должны заметить, что светодиод на нашей плате ESP выключится, а когда вы нажмете кнопку включения, светодиод должен снова включиться.
После еще нескольких проверок кода плата программиста нам больше не понадобится для этого проекта. Теперь нам нужно построить схему для питания нашего модуля ESP напрямую от сетевого напряжения и использовать его вывод GPIO для переключения реле. Для построения этой схемы я использовал модуль преобразователя переменного тока в постоянный от Hi-Link, который преобразует напряжение сети переменного тока в 3,3 В постоянного тока с выходным током 900 мА, достаточным для питания модуля ESP от сети. Реле выходной стороны представляет собой реле 3,3 В, которым можно управлять через вывод GPIO ESP через транзистор, подобный этому BC547. Нам также понадобится резистор 1 кОм, чтобы ограничить базовый ток нашего транзистора.
Принципиальная электрическая схема
Полная принципиальная схема умной розетки Wi-Fi будет выглядеть так.
Сеть переменного тока для питания нашего проекта будет получена через эту вилку. Остальные компоненты объясняются ранее. Еще одна важная вещь, на которой следует сосредоточиться, - это поддерживать высокий уровень GPIO-0 и GPIO-2 во время загрузки. В противном случае модуль ESP войдет в режим программирования, и код выхода не будет работать. Поэтому я использовал резистор 10 кОм (можно использовать значения от 3,3 кОм до 10 кОм), чтобы по умолчанию подтянуть вывод GPIO к высокому уровню. В качестве альтернативы вы также можете использовать транзистор PNP вместо BC547 и переключить реле со стороны высокого напряжения. Подготовив принципиальную схему, я решил, как припаять эти компоненты, сохранив размер платы как можно меньшего размера, чтобы она помещалась в небольшой корпус, и приступил к пайке платы.
Корпус с 3D-печатью для смарт-розетки
Затем я измерил размеры платы с помощью нониуса, а также измерил размеры вилки и розетки, чтобы спроектировать корпус для моей умной вилки. Когда я был готов, мой дизайн выглядел примерно так, как показано ниже.
После того, как я был удовлетворен дизайном, я экспортировал его как файл STL, нарезал его на основе настроек принтера и, наконец, распечатал. Опять же, файл STL также доступен для загрузки из thingiverse, и вы можете распечатать свой собственный корпус, используя его.
После того, как печать была сделана, я остался вполне доволен результатом. Затем я добавил провода к моей плате, а также прикрутил их к клеммам питания и розетке. После полного подключения я собрал схему в свой корпус, и все было хорошо подогнано, как вы можете видеть здесь.
Когда моя умная вилка была готова к работе, я подошел к маршрутизатору, проследил его провод, чтобы найти адаптер. Затем я вынул его из розетки, подключил умную вилку к той же розетке и включил. Теперь я снова подключил адаптер к нашей интеллектуальной розетке, и теперь я могу управлять им со своего телефона. Точно так же вы можете управлять любой маломощной нагрузкой переменного тока в своем доме и получать удовольствие.
Полный код можно скачать здесь, а рабочее видео для этой умной розетки, сделанной своими руками, можно найти внизу этой страницы. Надеюсь, вам понравился проект, дайте мне знать в разделе комментариев, что вы хотели бы автоматизировать с помощью этого устройства. Если у вас есть вопросы, оставьте их на форуме, и я постараюсь на них ответить.