Esp8266 выключатель. Создание умного WiFi выключателя на ESP8266: пошаговое руководство

Как сделать умный выключатель света на ESP8266 своими руками. Какие компоненты потребуются для сборки. Как запрограммировать ESP8266 для управления выключателем по WiFi. Как подключить умный выключатель к системе умного дома.

Содержание

Компоненты для сборки умного WiFi выключателя на ESP8266

Для создания умного WiFi выключателя на базе ESP8266 нам потребуются следующие компоненты:

  • Модуль ESP8266 (например, NodeMCU или Wemos D1 Mini)
  • Реле на 5В или 3.3В
  • Блок питания на 5В
  • Корпус для выключателя
  • Провода для подключения

Модуль ESP8266 будет выполнять роль микроконтроллера и обеспечивать WiFi-подключение. Реле необходимо для коммутации нагрузки. Блок питания преобразует сетевое напряжение в 5В для питания схемы.

Схема подключения компонентов умного выключателя

Схема подключения компонентов умного выключателя выглядит следующим образом:

  • VCC модуля ESP8266 подключаем к +5В блока питания
  • GND модуля ESP8266 подключаем к GND блока питания
  • Управляющий вывод реле подключаем к GPIO пину ESP8266 (например, D1)
  • VCC реле подключаем к +5В блока питания
  • GND реле подключаем к GND блока питания

Силовые контакты реле подключаются в разрыв фазного провода управляемой нагрузки.


Программирование ESP8266 для управления выключателем

Для программирования ESP8266 можно использовать Arduino IDE. Необходимо установить поддержку плат ESP8266 и написать скетч для управления реле по WiFi. Базовый код может выглядеть так:


#include <ESP8266WiFi.h>

const char* ssid = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";

#define RELAY_PIN D1

WiFiServer server(80);

void setup() {
  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, LOW);
  
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }
  
  server.begin();
}

void loop() {
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
  
  String request = client.readStringUntil('\r');
  
  if (request.indexOf("/on") != -1) {
    digitalWrite(RELAY_PIN, HIGH);
  }
  if (request.indexOf("/off") != -1) {
    digitalWrite(RELAY_PIN, LOW); 
  }
  
  client.flush();
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println("");
  client.println("OK");
}

Этот код создает простой веб-сервер для управления реле. При обращении по адресу /on реле включается, при /off — выключается.


Подключение умного выключателя к системе умного дома

Для интеграции умного выключателя в систему умного дома можно использовать различные протоколы:

  • MQTT — для подключения к Home Assistant, OpenHAB и другим системам
  • HomeKit — для управления через Apple Home
  • Голосовые помощники — Google Assistant, Алиса и другие

Для этого потребуется доработать прошивку ESP8266, добавив поддержку нужных протоколов. Например, для MQTT можно использовать библиотеку PubSubClient.

Преимущества самодельного умного выключателя

Создание умного выключателя своими руками на базе ESP8266 имеет ряд преимуществ:

  • Низкая стоимость по сравнению с готовыми решениями
  • Возможность кастомизации под свои нужды
  • Отсутствие привязки к облачным сервисам производителя
  • Возможность интеграции в любую систему умного дома
  • Полный контроль над прошивкой и функциональностью

При этом самодельное устройство требует определенных навыков в электронике и программировании.

Меры безопасности при работе с умным выключателем

При создании и использовании умного выключателя важно соблюдать меры безопасности:


  • Использовать качественные компоненты с необходимыми сертификатами
  • Обеспечить надежную изоляцию всех соединений
  • Не превышать максимально допустимую нагрузку на реле
  • Отключать питание перед любыми манипуляциями с устройством
  • При отсутствии опыта доверить монтаж специалисту

Несоблюдение правил безопасности может привести к поражению электрическим током или пожару.

Возможности расширения функционала умного выключателя

Базовый функционал умного выключателя на ESP8266 можно расширить различными способами:

  • Добавить датчик движения для автоматического включения
  • Интегрировать датчик освещенности для работы от уровня света
  • Реализовать таймеры и расписания работы
  • Добавить кнопку ручного управления
  • Встроить светодиодную индикацию состояния
  • Реализовать учет потребляемой электроэнергии

Все эти функции можно добавить, немного доработав схему и прошивку устройства.

Датчик движения для автоматического включения

Для автоматического включения света при обнаружении движения можно подключить к ESP8266 инфракрасный или микроволновый датчик движения. Это удобно для использования в коридорах, кладовках и других помещениях.


Датчик освещенности

Фоторезистор или цифровой датчик освещенности позволит включать свет только при наступлении темноты. Это актуально для уличного освещения или подсветки.

Таймеры и расписания

В прошивку ESP8266 можно добавить функции работы по расписанию, например, для автоматического включения и выключения в определенное время. Это удобно для имитации присутствия.

Кнопка ручного управления

Тактовая кнопка, подключенная к ESP8266, позволит управлять выключателем вручную, без использования смартфона. Это сохранит привычный способ управления.

Светодиодная индикация

RGB светодиод, подключенный к ESP8266, может отображать текущее состояние выключателя и наличие подключения к WiFi. Это упростит диагностику работы устройства.

Учет потребляемой энергии

Добавление датчика тока позволит реализовать функцию учета потребляемой электроэнергии и отображения статистики в приложении умного дома.

Использование альтернативных микроконтроллеров

Вместо ESP8266 для создания умного выключателя можно использовать и другие микроконтроллеры:


  • ESP32 — более мощный и функциональный чип
  • Raspberry Pi — для создания более сложных устройств
  • Arduino + WiFi модуль — бюджетный вариант
  • NRF24L01 — для создания сети из нескольких устройств

Выбор микроконтроллера зависит от требуемого функционала и имеющегося опыта разработки.

ESP32

ESP32 обладает большей производительностью и функциональностью по сравнению с ESP8266. Он имеет встроенный Bluetooth, что расширяет возможности интеграции. ESP32 подойдет для более сложных проектов умного дома.

Raspberry Pi

Одноплатный компьютер Raspberry Pi позволяет создать многофункциональное устройство умного дома. Он может управлять несколькими реле, обрабатывать данные с различных датчиков, выполнять сложные алгоритмы.

Arduino + WiFi модуль

Связка Arduino Uno или Nano с отдельным WiFi модулем (например, ESP-01) позволяет создать бюджетный вариант умного выключателя. Этот вариант подойдет тем, кто уже знаком с Arduino.

NRF24L01

Радиомодуль NRF24L01 позволяет создать сеть из нескольких устройств с низким энергопотреблением. Такой вариант подойдет для создания распределенной системы умного освещения.



Недорогой ESP8266 NodeMCU выключатель – esp8266

Основным компонентом или, скорее, само понятие Интернет вещей, о том, как подключать различные устройства к сети, так что бы они оба могли отправлять данные и получать команды. Различные технологии для решения этой проблемы из последнего это: Bluetooth, Wi-Fi, NFC, и т.д … которые уже существуют, но большинство из них сложны в установке и часто нуждаются в дополнительных аппаратных средств, таких как локальный сервер управления или приборы подключенные к ним.

Здесь я покажу вам, как создать и сконфигурировать простой автономный выключатель с управлением по Wi-Fi, которая может отправлять данные об окружающей среде в интернет и получать ДУ (дистанционное управление), чтобы включить / выключить переключатель. Этот проект, который может быть построен менее чем за 10 или 15 долларов США делает следующее:

  • Отправить показаний температуры / влажности с датчика DHT11 по MQTT на канал Thingspeak
  • Следить за сообщениями MQTT и включить или выключить реле, подключенного к ESP8266
  • Периодически проверять канал Thingspeak и включает / выключает реле, если поле было обновлено.

Программная часть платы выполнена на модуле ESP8266 NodeMCU, т.е. имеет нестандартную прошивку, а специальный интерпретатор языка LUA. LUA — является скриптовым языком, который понимет наш модуль благодаря NodeMCU. Подробнее о быстрой установке ESP8266 NodeMCU, можно прочитать в блоге Нестерова Кирилла kirill1985.ru.

Говоря простыми словами, это датчик температуры / влажности с интернет подключением и реле. Реле двух-позиционный переключатель и может быть использован для включения / выключения любого прибора переменного тока и постоянного тока, подключенных к нему. Все комплектующие по расходам обошлись мне менее 15 долларов США и другого оборудования не требуется. Программное обеспечение, используемое в моем мини проекте с открытым исходным кодом и только свободный онлайн-сервис были использованы для подключения платы к интернету. Предполагается, что у нас есть WiFi сеть, работающая и доступная для подключения платы.

Детали:

  1. ESP8266 модуль ESP-01
  2. DHT11 или датчик DHT22
  3. 5V реле
  4. LM1117 стабилизатор напряжение 3,3 В
  5. 1 х 470 мкФ
  6. 2 х 10 мкФ Танталовый конденсатор
  7. 2 х 1K резистор
  8. 1 LED
  9. клеммы
  10. Печатная плата
  11. FTDI USB to TTL адаптер с кабелем

Схема довольно проста

Плата может питаются либо от кабеля USB или отдельно через 5В питания постоянного тока, подключенного к разъему питания в самом верху. LM1117-3.3 LDO используется для получения 3,3 Вольт для модуля ESP8266. Датчик DHT11 подключен к GPIO2 через колодки ESP8266.

GPIO0 штырь может быть подключен к земле или реле на основе положения перемычки на клеммах.

Программная часть проекта доступна по адресу: https://github.com/tangophi/esp8266_iot_enabler

Автор Нестеров Кирилл

Примечание от esp8266.ru

В этой статье, к сожалению, автор привел ссылку на программное обеспечение к другому проекту. Однако вы можете попытаться сами написать скрипт на LUA для работы этого выключателя или воспользоваться готовыми. Посмотрите, например, здесь.

Также можно управлять выключателем и с помощью этой прошивки.

Сенсорный выключатель на базе esp8266 — kvvhost

С поддержкой любых пультов 433 МГц. Прошиваем ESPHome, управляем из Home Assistant

Сегодня в обзоре сенсорный выключатель в комплекте с радио пультом.

Скажу сразу что мне очень понравилась тактильная отдача при включении или выключении.


Ссылка на выключатель: https://ru.aliexpress.com/item/33051256176.html
Производитель — Vrey: https://vrey.ru.aliexpress.com/store/5006252


Внешний вид и характеристики

Поставляется выключатель в картонной коробке.

Внутри выключатель, инструкция и винты крепления. Отдельно от коробки был пульт управления с 4 кнопками.

Лицевая панель выполнена из закаленного стекла

Характеристики выключателя:

Модель: VR-WIFI-D01
Количество каналов управления: 1. Есть так же 2 или 3 канала.
Размеры: 86 × 86 × 34 мм
Вес: 0,2 кг
Максимальный ток: 10А на канал
Источник питания: 110V — 240V
Мощность: 3-1000 Вт на канал
Частота RF: 433,92 МГц
Необходима нулевая линия!

Выключатель свободно помещается в российские подрозетники любых размеров

 

Подключение к Tuya

С этим все просто — подаем питание на выключатель, он начинает мигать, жмем в приложении TuyaSmart + и выбираем «Переключатель», после чего вводим пароль от wifi и через несколько секунд им можно управлять из приложения

 

Привязка кнопок пульта

Чтобы привязать кнопки пульта для управления нужно зажать сенсор на несколько секунд, пока выключатель не издаст звуковой сигнал. После этого отпускаем сенсор и жмем нужную кнопку на пульте. И все, теперь эта кнопка будет включать и выключать выбранную линию.

 

Чтобы отвязать пульт от выключателя и очистить память нужно зажать сенсор на несколько секунд, пока выключатель не издаст звуковой сигнал, и, не отпуская, дождаться второго сигнала. Затем отпустить сенсор и нажать кнопку на пульте. Выключатель «забудет» пульт (или пульты) полностью, независимо от количества привязанных кнопок.

 

Что внутри

Сняв лицевую панель видна плата с тач сенсором и посадочные места под дополнительные два.

Так же видны контакты для перепрошивки: TX, RX, GPIO0, GND и VCC

Можно прошить, сняв только лицевую панель.

Поддев плату снизу она легко снимется.

Виден модуль TYWE3S, резонатор для радио и зуммер

Распиновка модуля TYWE3S:

Внутри, в корпусе, осталась плата с силовой частью.

К корпусу она прикреплена тремя винтами.

С обратной стороны видно реле Fanhar W11-1A2STE на 10 А

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

 

Альтернативная прошивка

Так как все контакты в легкой доступности, процесс прошивки не составит труда.

Необходимо подключиться любым USB to TTL адаптером к модулю TYWE3S по следующей схеме:

3.3V к 3.3V TYWE3S
GND к GND TYWE3S
RX к TX TYWE3S
TX к RX TYWE3S

Так же подключаем GPIO0 к GND на время прошивки

Предварительно делаем бэкап родной прошивки! На всякий случай.

И можно заливать любую прошивку. Вот конфиг для ESPHome:

esphome:
  name: vrey_switch
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: "wifi"
  password: "wifipass"

api:
  password: 'apipass'

ota:
  password: 'otapass'

logger:

status_led:
  pin: GPIO16

output:

  - platform: gpio
    pin: 15
    id: gpio15

light:
  - platform: binary
    name: "light_gpio15"
    id: light_gpio15
    output: gpio15

binary_sensor:
  - platform: gpio
    pin: 5
    name: gpio5
    id: gpio5
    on_release:
      then:
      - light.toggle: light_gpio15

sensor:
  - platform: wifi_signal
    name: "vrey_switch_wifi"
    update_interval: 60s

И добавляем в Home Assistant через Интеграции

Независимо от прошивки, при возобновлении электроэнергии выключатель держит линию выключенной. Если нужно чтобы был включен при загрузке, в ESPHome это легко делается добавлением restore_mode: ALWAYS_ON в light

Так же независимо от прошивки сохраняется функциональность привязки и управления RF пультом

0 0 голоса

Рейтинг статьи

Беспроводной коммутатор

с NodeMCU (ESP8266) и реле | Алехандро Гонсалес | Trabe

https://wallpaperaccess.com/full/1472995.jpg

Сегодня существует широкий выбор продуктов IoT, которые позволяют нам облегчить нашу повседневную жизнь. Включить электрическое устройство или даже изменить цвет наших огней — вот некоторые функции, которые мы можем делать с этими продуктами. В этом посте мы покажем, как построить переключатель Wi-Fi для включения и выключения любого электрического устройства, затрачивая очень мало денег.

  • Плата NodeMCU: это набор для разработки с открытым исходным кодом, который позволяет нам создавать прототипы наших продуктов IOT с использованием собственного языка разработки (Lua) или MicroPython. Плата NodeMCU содержит микросхему ESP8266 с поддержкой Wi-Fi.
  • Реле: Электромагнитный переключатель, приводимый в действие относительно небольшим электрическим током, который может включать или выключать гораздо больший электрический ток. Существуют релейные модули, электромагнит которых может питаться от 5В и от 3,3В. Оба могут использоваться с ESP8266.
  • Arduino IDE: чтобы загрузить наш код на плату NodeMCU, нам нужна IDE. Мы используем Arduino IDE, но можно использовать и другие.

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

https://www.geekering.com/wp-content/uploads/2019/03/Fritzing_bb-768×604.png

Arduino IDE можно установить с помощью предоставленного руководства. После установки необходимо настроить драйверы NodeMCU, чтобы иметь возможность использовать нашу плату. Эти драйверы можно найти по этой ссылке.

Чтобы поместить наш код в плату, мы должны настроить нашу IDE, выбрав порт, к которому подключена плата ( Tools -> Port ) и тип используемой платы ( Tools -> Select Board Type ). .

После того, как мы установили и настроили Arduino IDE, пришло время загрузить наш код на плату. Следующий код реализует REST API с легким встроенным UI (пользовательский интерфейс) с использованием aREST и aREST_UI 9.0028 библиотеки.

С помощью Arduino IDE мы можем писать наш код на C++ или C вместо использования Lua или MicroPython. Это связано с тем, что IDE компилирует код C или C++ в двоичный исполняемый файл, который непосредственно загружается на плату.

Приведенный выше код в основном подключается к нашему домашнему Wi-Fi, печатает свой IP , устанавливает кнопку включения/выключения, настраивает REST API и ожидает в цикле клиентских запросов.

Чтобы загрузить этот код на нашу плату, мы должны поместить его в новый файл, а затем загрузить, как показано на изображении ниже.

После загрузки кода мы можем проверить плату IP на последовательном мониторе ( Tools -> Serial Monitor ).

Поскольку мы используем aREST , было бы интересно предоставить конечную точку , которая позволит нам включать и выключать наши устройства удаленно, без использования пользовательского интерфейса .

Загрузив приведенный выше код в нашу плату, мы сможем включать и выключать наше устройство, обращаясь к следующим адресам: http:///led?params=0 для выключения и http:///led?params=1 для включения.

После того, как мы собрали наши компоненты и загрузили код, пришло время протестировать наше самодельное устройство IoT, входящее в IP , предоставленный Serial Monitor. В GIF ниже мы можем увидеть, как это работает.

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

Страница не найдена — DIYI0T

Настройка конфиденциальности

Основные (2)

Основные файлы cookie обеспечивают выполнение основных функций и необходимы для правильной работы веб-сайта.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Имя Печенье Борлабс
Провайдер Владелец этого сайта, Выходные данные
Назначение Сохраняет настройки посетителей, выбранные в окне файлов cookie Borlabs Cookie.
Имя файла cookie borlabs-cookie
Срок действия файла cookie 1 год
Имя эзоик
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Необходим для основных функций сайта.
Политика конфиденциальности
Ezoic Website Privacy Policy
Имя файла cookie ez*, cf*, unique_id, __cf*, __utmt*
Срок действия файла cookie 1 год

Предпочтения (1)

Настройки

Файлы cookie предпочтений хранят информацию о представлении и функциях веб-сайта, например, отображается ли оптимизированная или исходная версия веб-сайта.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять Ezoic — Настройки
Имя Ezoic — Настройки
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Запоминать информацию, которая меняет поведение или внешний вид сайта, например предпочитаемый язык или регион, в котором вы находитесь.
Политика конфиденциальности
Ezoic Website Privacy Policy
Имя файла cookie ez*, sitespeed_preview, FTNT*, SITESERVER, SL*, speed_no_process, GED_PLAYLIST_ACTIVITY, __guid
Срок действия файла cookie 1 год

Статистика (1)

Статистика

Статистические файлы cookie собирают информацию анонимно. Эта информация помогает нам понять, как наши посетители используют наш веб-сайт.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять Эзоик — Статистика
Имя Эзоик — Статистика
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Помогает понять, как посетители взаимодействуют с веб-сайтами, собирая и сообщая информацию анонимно.
Политика конфиденциальности
Ezoic Website Privacy Policy
Имя файла cookie ez*, __qca, _gid, _ga, _gat, AMP_ECID_EZOIC, __utm*, _ga*
Срок действия файла cookie 1 год

Маркетинг (1)

Маркетинг

Маркетинговые файлы cookie используются сторонними рекламодателями или издателями для отображения персонализированной рекламы. Они делают это, отслеживая посетителей на веб-сайтах.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять Эзоик — Маркетинг
Имя Эзоик — Маркетинг
Провайдер Ezoic Inc, 6023 Innovation Way 2nd Floor, Карлсбад, Калифорния 92009, США
Назначение Используются для отслеживания посетителей веб-сайтов. Цель состоит в том, чтобы отображать релевантные и привлекательные для отдельного пользователя объявления.
Политика конфиденциальности
Ezoic Website Privacy Policy
Имя файла cookie ez*, _sm_au, cto*, __gads, mind*, _ym_uid, GoogleAdServingTest
Срок действия файла cookie 1 год

Внешние носители (1)

Внешние носители

Контент с видеоплатформ и социальных сетей по умолчанию заблокирован. Если файлы cookie внешних носителей принимаются, доступ к этому содержимому больше не требует ручного согласия.

Показать информацию о файлах cookie Скрыть информацию о файлах cookie

Принять YouTube
Имя YouTube
Провайдер Google Ireland Limited, Gordon House, Barrow Street, Dublin 4, Ирландия
Назначение Используется для разблокировки контента YouTube.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *