4 канальное Wi-Fi реле на esp8266 (NodeMCU) с приложением

Продолжаю тему беспроводного управления реле. В предыдущем проекте я делал управление реле с помощью bluetooth. Сегодня рассмотрим, как можно реализовать 4 канальное Wi-Fi реле на esp8266. Для удобства управления устройством, написал приложения для телефона на Xamarin C#. А в прошивке для esp8266 (NodeMCU) реализовал поддержку высокоуровневого и низкоуровневого реле. С возможностью использовать для управления реле внешней кнопки с фиксацией и без фиксации. Для чего все это нужно, сейчас подробно рассмотрим.


Приложение для управления WiFi реле на esp8266 (NodeMCU).

Давайте рассмотрим приложение, которое позволит управлять WiFi реле на esp8266 (NodeMCU). На главной странице приложения расположены элементы управления реле. Тут присутствуют кнопки, позволяющие включать и выключать 4 реле. Ниже есть 2 кнопки, которые позволяют включить и выключить все реле одновременно.

Приложение для управления WiFi реле на esp8266 (NodeMCU).

Если вдруг не получилось подключиться к устройству или нет подключения к Wi-Fi сети, внизу появится надпись «Нет подключения».

нет подключения к Wi-Fi сети, внизу появится надпись «Нет подключения»

Вторая страница - «Настройки». Для того чтобы перейти к настройкам, нужно нажать на кнопку с иконкой шестерёнки, в верхнем правом углу.

Вторая страница - «Настройки».

На странице настроек можно задать IP-адрес устройства о том, как его узнать, об этом расскажу позднее.

На странице настроек можно задать IP-адрес устройства

После того, как IP адрес указан, можно нажать кнопку «Сохранить», что позволяет сохранить данные, и их уже не нужно будет вводить при следующем запуске приложения.

Внизу выводится статус подключения к сети.

Внизу выводится статус подключения к сети. Если подключение к устройству не установлено, выводится надпись «Нет подключения». После подключения, надпись меняется на «Соединение установлено».

Также планировал вынести в настройки выбор типа подключённого реле:

  • Высокого уровня
  • Низкого уровня.

И выбор внешнего управления:

  • Кнопка с фиксацией
  • Кнопка без фиксации.

Но так как данные параметры нужно указывать всего 1 раз при подключении, и меняться они больше не будут. Оставил данные настройки в прошивке, о чем расскажу далее. Как вы считаете, нужно выносить данные настройки в приложение? Пишите свои предложения в комментариях.

Схема подключения WiFi реле на NodeMCU.

Давайте рассмотрим схему подключения. Чтобы в дальнейшем было понятно, для чего у нас та или иная строчка кода в прошивке. В проекте буду использовать отладочную плату NodeMCU. Вы можете использовать любую плату на ESP8266, с достаточным количеством pins для данного проекта.

Схема подключения WiFi реле на NodeMCU.

Как видим, в данной схеме используются обычные тактовые кнопки. Вместо которых, можно использовать выключатели. Они будут выступать в роли кнопки с фиксацией. Для сборки на стенде использовал 2 выключателя и 2 лампочки, которыми буду управлять. Схема для тестирования проекта WiFi реле на NodeMCU будет выглядеть следующим образом.

Схема для тестирования проекта WiFi реле на NodeMCU

Прошивка Wi-Fi реле на esp8266 (NodeMCU).

Давайте перейдем к прошивке Wi-Fi реле на esp8266 (NodeMCU). И рассмотрим основные параметры, которые стоит изменить. В первую очередь, нужно настроить среду Arduino IDE для поддержки плат ESP8266, как это сделать - подробно рассказываю вот в этой статье.

Внимание! Перед тем как открыть скетч код, обязательно нужно разархивировать. Запускать надо файл «Relay-1.2.ino». Если вы сделали все правильно, откроется несколько вкладок с кодом.

Прошивка Wi-Fi реле на esp8266 (NodeMCU)

В самой прошивке необходимо настроить подключение к вашей Wi-Fi сети, указав логин и пароль.

подключение к вашей Wi-Fi сети, указав логин и пароль.

Если у вас нет возможности подключиться к сети, оставьте данные поля без изменения, и настройте поля ниже, которые отвечают за точку доступа, которая автоматически поднимется. Для подключения к которой, на телефоне нужно найти Wi-Fi сеть с указанным названием. В моем случае это "ATRelay". При подключении указать пароль, который изменили в прошивке. При таком подключении в приложении нужно указать IP-адрес «192. 168. 4. 1». Который вы также можете поменять в прошивке.

Wi-Fi сеть с указанным названием. В моем случае это "ATRelay".

Если же вы подключаетесь к домашней Wi-Fi сети, после загрузки нужно открыть монитор порта, в котором увидите IP-адрес устройства, его то и нужно указать в приложении.

открыть монитор порта, в котором увидите IP-адрес устройства

 его то и нужно указать в приложении

Сеть настроили, давайте перейдём к настройке работы с реле. Для этого есть переменная «level» ,которая отвечает, какое реле будем использовать:

  • 0 – подключено низкоуровневое реле;
  • 1 – подключено высокоуровневое реле.

Сеть настроили, давайте перейдём к настройке работы с реле. Для этого есть переменная «level»

Затем нужно выбрать внешний источник управления, тип которого задается в переменной «fixing»:

  • 1 -кнопка с фиксацией (можно использовать обычный выключатель);
  • 0 – кнопка без фиксации.

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

Если вы будете иcпользовать не NodeMCU в своем проекте

Можно данную прошивку Wi-Fi реле использовать в ESP32?

Уже предчувствую кучу подобных вопросов. К сожалению, использовать прошивку Wi-Fi реле с ESP32 не получится. Тут нужно внести некоторые изменения в схеме подключения или написать очень много кода для адаптации прошивки. Что я, к сожалению, не предусмотрел. Но в следующей версии прошивки обязательно сделаю поддержку ESP32.

Исходники приложения для телефона на Xamarin C# «Wi-Fi реле».

В связи с тем, что приложение написано на Xamarin C# в коде есть некоторые моменты, которые нужно настраивать, и даже если я выложу исходники в открытый доступ. Помочь всем у меня просто не будет времени. Поэтому исходники можно скачать по подписке, на сайте Бусти. Там же проконсультирую по всем возникшим вопросам.

Wi-Fi реле управления двумя лампочками.

Так как мой стенд сделан под 2 выключателя и 2 лампочки, пример работы покажу на 2 источниках управления.

Wi-Fi реле управления двумя лампочками.

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

Как вы уже поняли, подключить мы можем любое реле: электромагнитное, твердотельное

И на низкоуровневом электромагнитном реле.

И на низкоуровневом электромагнитном реле.

Все работает отлично. Можно включать свет с выключателя и при этом параллельно управлять с приложения. Но тут есть небольшой нюанс. Приоритет у приложения, и мы можем управлять реле с его помощью, как пожелаем. Даже если свет был включен или включен с помощью выключателя. Но если включить свет с помощью выключателя и выключить с помощью приложения, для того чтобы свет снова включить, выключателем нужно сперва перевести включатель в положения выключения света и после чего произвести включение. Это, конечно, немного не удобно, но вы можете управлять светом не вставая с дивана. И не нужно думать: «в правильном положении выключатель или нет».

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

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

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

Перед сборкой на стенде, проверил работоспособность устройства на макетной плате. Протестировал работу всех 4 каналов управления. И все 4 комбинации реле и кнопок. Так что проект готов к любым ситуациям ;).

Подведем итог.

4 канальное Wi-Fi реле на esp8266 (NodeMCU) с приложением получилось достаточно функциональное и легко настраиваемое под разные варианты применения, но не смотря на это, можно сделать ряд дополнений в приложении и в коде. Например: добавить таймеры, расписание, подключение различных датчиков и пр. Также планирую сделать универсальную прошивку под платы ESP8266, ESP32.

4 канальное Wi-Fi реле на esp8266 (NodeMCU) с приложением получилось достаточно функциональное

Если у вас есть предложения, пишите их в комментариях.

Понравился проект 4 канальное Wi-Fi реле на esp8266 (NodeMCU) с приложением? Не забудь поделиться с друзьями в соц. сетях.

А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.

Спасибо за внимание!

Технологии начинаются с простого!

Фотографии к статье

Файлы для скачивания

Прошивка wifi реле Прошивка wifi реле .zip5 Kb 1633 Скачать
Приложение для управления WiFi реле на esp8266 Приложение для управления WiFi реле на esp8266 .apk33373 Kb 1818 Скачать

Комментарии

Ваше Имя*

Dimon

Гость: Dimon (17 февраля, 2022 в 22:14)

А код надо допиливать для ESP-01 то работает

/* Переменные */
// можно менять //
#define RELAY 2
//#define BUTTON 0
const bool level = 1; // 1 - реле высокого уровня 0 - реле низкого уровня
const bool fixing = 0; // 1- кнопка с фиксацией 0 - кнопка без фиксации
byte relay_pin[4] = {2}; //Подключение реле
byte button_pin[4] = {0}; // подключение кнопок



Разработка проектов