Найти в Дзене
Ksta

Умное Wifi реле на базе ESP8266 +Яндекс Алиса

Оглавление

Небольшая информация

Проект сырой, не знаю откуда взять в выключателе 5V для питания всей схемы.

Реле работает не зависимо от положения выключателя. Можно выключить с помощью Алисы, а включить с выключателя и наоборот. Также выключатель работает в обычном режиме.

Реле управляется с:

  • Приложение/сайт Blynk
  • С физического стандартного выключателя (который установлен у каждого дома)
  • Яндекс Алиса

Список элементов:

  1. Реле (проект сделал на 1 реле, у меня их 2)
  2. Выключатель (который уже подключён к свету в доме)
  3. И желательно какой-нибудь бп 5V, можно вытянуть плату с такого вот бп

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

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

После того как собрали по схеме подключаем ESP к компьютеру по USB, открываем Arduino IDE, нужно будет установить в менеджер плат нашу плату и определить порт к которому она подключена, инструкция:

Для работы с платами на основе esp8266 нужно установить ядро и драйвер.

Идём в Файл/Настройки/Дополнительные ссылки для менеджера плат. Вставляем ссылку https://arduino.esp8266.com/stable/package_esp8266com_index.json.
Инструменты/Плата/Менеджер плат…, ищем в поиске esp8266 и устанавливаем. В списке плат появится семейство плат на базе esp8266.
На большинстве плат стоит USB конвертер CH340, как на всех китайских Ардуинах. Если вы ещё не устанавливали драйвер – скачиваем здесь.

После установки драйвера и плат заходим в Инструменты/Плата/Esp8266 и выбираем Generic ESP8266 Module

Также в Инструменты/Порт выбираем COM порт к которому она подключена.

Среда разработки настроена и готова к работе

Blynk

Заходим на сайт и регистрируемся.

После регистрации переходим в Dashboard

Жмём New device > From template > Выбираем Quickstart Template, а во втором окне вписываем название проекта >Create

-2

Мы в дашборде, у нас появился один выключатель и токен для встраивания в код, копируем его, открываем Arduino IDE

-3

Сам код, можно скачать на сайте проекта на GitHub

После скачивания открываем Code.ino

-4

Вставляем сюда токены которые скопировали на Blynk после создания. Вводим логин и пароль вашего WiFi, выбираем логику реле (в моём случае это обратная, т.е 0 это вкл, а 1 это выкл).

Нажимаем загрузить на плату.

-5

После загрузки перемещаемся обратно на панель Blynk.

Нажимаем ... > Edit Dashboard, наводим курсор на Switch и нажимаем на шестеренку.

Настраиваем Datastream на V0, и ставим значения 0 и 1 в зависимости с логикой вашего реле

-6

В коде прописан виртуальный пин V0

-7

После этого сохраняем изменения.

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

Всё, реле можно управлять как с сайта, так и с приложения Blynk.

Яндекс Алиса

Для использования нашего устройства в Алисе нужно добавить в алисе навык Домовёнок кузя. Для этого скачиваем приложение Умный дом от Яндекса, входим в аккаунт и делаем следующее:

-8
-9
-10
-11

После привязки переходим на сайт Alexstar.ru

Нажимаем перейти к настройкам и входим через Яндекс. Перед нами панель управления, нажимаем 2 раза на Добавить правило HTTP (GET), у нас появилось 2 правила

Да, управлять мы будем с помощью GET запросов.

Так, как же узнать какой запрос?

Есть такая ссылка:

https://{server}/external/api/update?token={token}&{pin}={value}

Меняем значения {server}, {token}, {pin}, {value} на свои.

{server} - Сервер
{token} - BLYNK_AUTH_TOKEN который есть на сайте и который мы указали в коде
{pin} - Ставим v0 т.к используем его
{value} - это 1 или 0 в зависимости хотите выключить или включить

Server: откуда его взять?

В интернете я нашёл кучу проектов с устаревшими GET запросами, со старым сервером. Я ввёл новый и всё равно получил "Invalid token".

Поэтому переходим на страницу проекта и ищем в правом нижнем углу сервер на котором он располагается:

-12

У меня это sgp1, если у вас другой, пишем другой из вот этой документации:

-13

Итоговый GET запрос на включение выглядит так:

https://sgp1.blynk.cloud/external/api/update?token=jsuywuhu24gGDhhsq&v0=0

На выключение так:

https://sgp1.blynk.cloud/external/api/update?token=jsuywuhu24gGDhhsq&v0=1

(не забывайте что нужно вписать свой токен)

Так, теперь у нас есть 2 запроса

Переходим обратно на сайт Alexstar и настраиваем 2 правила примерно так

Включение:

-14

Выключение:

-15

Сохраняется всё автоматически.

Переходим во вкладку Виртуальные устройства умного дома и создаём устройство Лампа.

-16

И настраиваем примерно так:

-17

Выбираем правила которые мы создали на включение и выключение.

Сохраняется опять же, всё автоматически.

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

Итог:

-18

Если есть предложения доработки проекта или идеи то добро пожаловать в комментарии.

GitHub проект - https://github.com/kostya5524/ESP8266WiFi_1relay
Сайт Домовёнка - https://alexstar.ru/
Сайт Blynk - https://blynk.io/
Донатик на чай:
ЮMoney