Продолжаю тему беспроводного управления реле. В предыдущем проекте я делал управление реле с помощью bluetooth. Сегодня рассмотрим, как можно реализовать 4 канальное Wi-Fi реле на esp8266. Для удобства управления устройством, написал приложения для телефона на Xamarin C#.
А в прошивке для esp8266 (NodeMCU) реализовал поддержку высокоуровневого и низкоуровневого реле. С возможностью использовать для управления реле внешней кнопки с фиксацией и без фиксации. Для чего все это нужно, сейчас подробно рассмотрим.
Приложение для управления WiFi реле на esp8266 (NodeMCU).
Давайте рассмотрим приложение, которое позволит управлять WiFi реле на esp8266 (NodeMCU). На главной странице приложения расположены элементы управления реле. Тут присутствуют кнопки, позволяющие включать и выключать 4 реле. Ниже есть 2 кнопки, которые позволяют включить и выключить все реле одновременно.
Многофункциональное реле с таймером на 220V c AliExpress
Если вдруг не получилось подключиться к устройству или нет подключения к Wi-Fi сети, внизу появится надпись «Нет подключения».
Вторая страница — «Настройки». Для того чтобы перейти к настройкам, нужно нажать на кнопку с иконкой шестерёнки, в верхнем правом углу.
На странице настроек можно задать IP-адрес устройства о том, как его узнать, об этом расскажу позднее.
После того, как IP адрес указан, можно нажать кнопку «Сохранить», что позволяет сохранить данные, и их уже не нужно будет вводить при следующем запуске приложения.
Внизу выводится статус подключения к сети. Если подключение к устройству не установлено, выводится надпись «Нет подключения». После подключения, надпись меняется на «Соединение установлено».
Также планировал вынести в настройки выбор типа подключённого реле:
- Высокого уровня
- Низкого уровня.
И выбор внешнего управления:
- Кнопка с фиксацией
- Кнопка без фиксации.
Но так как данные параметры нужно указывать всего 1 раз при подключении, и меняться они больше не будут. Оставил данные настройки в прошивке, о чем расскажу далее. Как вы считаете, нужно выносить данные настройки в приложение? Пишите свои предложения в комментариях.
Схема подключения WiFi реле на NodeMCU.
Давайте рассмотрим схему подключения. Чтобы в дальнейшем было понятно, для чего у нас та или иная строчка кода в прошивке. В проекте буду использовать отладочную плату NodeMCU. Вы можете использовать любую плату на ESP8266, с достаточным количеством pins для данного проекта.
Как видим, в данной схеме используются обычные тактовые кнопки. Вместо которых, можно использовать выключатели. Они будут выступать в роли кнопки с фиксацией. Для сборки на стенде использовал 2 выключателя и 2 лампочки, которыми буду управлять. Схема для тестирования проекта WiFi реле на NodeMCU будет выглядеть следующим образом.
Прошивка Wi-Fi реле на esp8266 (NodeMCU).
Давайте перейдем к прошивке Wi-Fi реле на esp8266 (NodeMCU). И рассмотрим основные параметры, которые стоит изменить. В первую очередь, нужно настроить среду Arduino IDE для поддержки плат ESP8266, как это сделать — подробно рассказываю вот в этой статье.
Внимание! Перед тем как открыть скетч код, обязательно нужно разархивировать. Запускать надо файл «Relay-1.2.ino». Если вы сделали все правильно, откроется несколько вкладок с кодом.
В самой прошивке необходимо настроить подключение к вашей Wi-Fi сети, указав логин и пароль.
Если у вас нет возможности подключиться к сети, оставьте данные поля без изменения, и настройте поля ниже, которые отвечают за точку доступа, которая автоматически поднимется. Для подключения к которой, на телефоне нужно найти Wi-Fi сеть с указанным названием. В моем случае это «ATRelay». При подключении указать пароль, который изменили в прошивке.
При таком подключении в приложении нужно указать IP-адрес «192. 168. 4. 1». Который вы также можете поменять в прошивке.
Если же вы подключаетесь к домашней Wi-Fi сети, после загрузки нужно открыть монитор порта, в котором увидите IP-адрес устройства, его то и нужно указать в приложении.
Сеть настроили, давайте перейдём к настройке работы с реле. Для этого есть переменная «level» ,которая отвечает, какое реле будем использовать:
- 0 – подключено низкоуровневое реле;
- 1 – подключено высокоуровневое реле.
Затем нужно выбрать внешний источник управления, тип которого задается в переменной «fixing»:
- 1 -кнопка с фиксацией (можно использовать обычный выключатель);
- 0 – кнопка без фиксации.
Если вы будете иcпользовать не NodeMCU в своем проекте, то вам скорее всего нужно будет поменять пины подключения, которые находятся в следующих массивах.
Можно данную прошивку Wi-Fi реле использовать в ESP32?
Уже предчувствую кучу подобных вопросов. К сожалению, использовать прошивку Wi-Fi реле с ESP32 не получится . Тут нужно внести некоторые изменения в схеме подключения или написать очень много кода для адаптации прошивки. Что я, к сожалению, не предусмотрел. Но в следующей версии прошивки обязательно сделаю поддержку ESP32 .
Исходники приложения для телефона на Xamarin C# «Wi-Fi реле».
В связи с тем, что приложение написано на Xamarin C# в коде есть некоторые моменты, которые нужно настраивать, и даже если я выложу исходники в открытый доступ. Помочь всем у меня просто не будет времени. Поэтому исходники можно скачать по подписке, на сайте Бусти . Там же проконсультирую по всем возникшим вопросам.
Wi-Fi реле управления двумя лампочками.
Так как мой стенд сделан под 2 выключателя и 2 лампочки, пример работы покажу на 2 источниках управления.
Как вы уже поняли, подключить мы можем любое реле: электромагнитное, твердотельное и пр. Поэтому я протестировал работу на твердотельном реле с высоким уровнем управления.
И на низкоуровневом электромагнитном реле.
Все работает отлично. Можно включать свет с выключателя и при этом параллельно управлять с приложения. Но тут есть небольшой нюанс. Приоритет у приложения, и мы можем управлять реле с его помощью, как пожелаем. Даже если свет был включен или включен с помощью выключателя.
Но если включить свет с помощью выключателя и выключить с помощью приложения, для того чтобы свет снова включить, выключателем нужно сперва перевести включатель в положения выключения света и после чего произвести включение. Это, конечно, немного не удобно, но вы можете управлять светом не вставая с дивана. И не нужно думать: «в правильном положении выключатель или нет».
При управлении света, с помощью выключателя, всегда видим в приложении статус, включен свет или нет. Это достаточно удобно, не нужно вставать из-за компьютера для того, чтобы проверить выключили свет дети у себя в комнате или нет.
Перед сборкой на стенде, проверил работоспособность устройства на макетной плате. Протестировал работу всех 4 каналов управления. И все 4 комбинации реле и кнопок. Так что проект готов к любым ситуациям ;).
Подведем итог.
4 канальное Wi-Fi реле на esp8266 (NodeMCU) с приложением получилось достаточно функциональное и легко настраиваемое под разные варианты применения, но не смотря на это, можно сделать ряд дополнений в приложении и в коде. Например: добавить таймеры, расписание, подключение различных датчиков и пр. Также планирую сделать универсальную прошивку под платы ESP8266, ESP32.
Если у вас есть предложения, пишите их в комментариях.
Понравился проект 4 канальное Wi-Fi реле на esp8266 (NodeMCU) с приложением? Не забудь поделиться с друзьями в соц. сетях.
А также подписаться на наш канал на YouTube, вступить в группу Вконтакте, в группу на Facebook.
Спасибо за внимание!
Технологии начинаются с простого!
Источник: arduino-tex.ru
Обзор и настройка GSM реле RTU5024 (v.2) для удаленного запуска Webasto ThermoTop-Z/C-D.
Всем читателя доброго времени суток.
Хотел поделиться с Вами небольшим обзором и настройки GSM реле RTU 5024 (v.2) c Aliexpress.com для установки на автомобиль Peugeot 807, для запуска Webasto.
Итак для начала фото самого GSM реле:
Полный размер
GSM реле RTU5024 v.2
Полный размер
GSM реле RTU5024 v.2
Полный размер
GSM реле RTU5024 v.2
Полный размер
GSM реле RTU5024 v.2
Итак, для подключения реле необходим источник постоянного напряжения от 9-15 вольт.
По контактам реле в дежурном состоянии:
NO — нормально разомкнутый контакт
COM — общий
NC — нормально замкнутый контакт
Замыкаются, размыкаются непосредственно контакты между NO-COM и NC — COM.
Полный размер
GSM реле RTU5024 v.2 режим работы
Полный размер
GSM реле RTU5024 v.2 режим работы
Полный размер
GSM реле RTU5024 v.2 режим работы
Теперь по установке SIM карты. Карта ставится большого размера.
Полный размер
Полный размер
После установки секунд 5-8 происходит опрос карты и если карта зарегистрировалась в сети, индикатор уровень сети будет мигать с частотой 2 сек.
Далее по настройке реле:
1) Пароль по умолчанию 1234
2) Смена пароля:
pwd – текущий пароль
pwd#PWDnewpassword#PWDnewpassword#
пример: 1234#PWD6666#PWD6666#
после успешного завершения придет СМС: NewPassword: 6666
3) Установка номера авторизации:
pwd#TELAutorizedNumber#SerialNumber#
Пример 1234#TEL375296666666#001#
Придет ответное СМС: 001:375296666666
4) Выбор номера авторизации:
pwd#TEL#SerialNumber#
5) Выбор всех номеров авторизации:
pwd#AA#
6) Включение, отключение ответного сообщения:
pwd#R# — включение смс
pwd#N# — отключение смс
7) Установка времени задержки реле:
pwd#GOTTime#
от 0 – 9,5 сек.
pwd#GOT19# — задержка (включение) реле на 9,5 сек. (19/2=9.5)
pwd#GOT00# — задержка (веключение) реле на бесконечное время (сек.)
Данный режим актуален для работы Webasto. В связи с такой настройкой включение и выключение котла будет осуществлятся по СМС пользователя.
8) Включение (активация) реле:
pwd#ON# — включение
pwd#OFF# — отключение
В следующем отчете, будет установка GSM реле для запуска Webasto.
Всем удачи, и не ломайтесь!
Источник: www.drive2.ru
Настройка реле 5Вольт с wi-fi модулем esp8266-01 с Aliexpress
Еще минус — при подаче на реле напряжения (при включении), реле кратковременно замыкает контакты. (что для меня очень неудобно т.к. как я уже и говорил реле будет замыкать контакты “ reset ” компьютера)
Для управления реле и управления Wi Fi модуля esp 8266-01, прошивки Wi Fi модуля esp 8266-01, пришлось купить устройство с чипом CH340G.
https://ru.Aliexpress.com/item/OPEN-SMART-USB-to-ESP8266-ESP-01-Wi-Fi-Adapter-Module-w-CH340G-Driver/32795568611.html
Со стандартной прошивкой — реле не автономно, т.е. после включения, WEB Server автоматически не стартует, к нему нужно подключаться по serial и запускать WEB Server командами:
AT+CIPMUX=1 — multi connection
AT+CIPSERVER=1 — по умолчанию порт 333
По управлению реле со стандартной прошивкой можно ознакомиться по ссылкам:
https :// www . hackster . io / makerrelay / esp 8266- wifi -5 v -1- channel — relay — delay — module — iot — smart — home — e 8 a 437
http :// www . avmarket . eu / modul — przekaznika — wifi — esp 8266-5 vdc — p -4312. html
мои настройки :
AT + RESTORE -сброс к заводским настройкам
AT+GMR – узнать версию прошивки
AT + UART =9600,8,1,0,0 — перевод со 115200 на 9600
AT + CWMODE =1 — клиент, подключается к другим точкам доступа.
AT+RST -перезагрузка модуля
AT + CWJAP =»имя сети»,»пароль»
AT+CIPMUX=1 — multi — connection
AT+CIPSERVER=1 — по умолчанию порт 333
AT+CIFSR – узнать IP адрес
AT + CIPMODE =0 – режим передачи данных – “0” сервер может отправлять данные клиенту и может принимать данные от клиента.
В двух словах, запускаем программу USR-TCP232-Test-V1.3, подключаемся как TCP Client к ip адресу сервера, ставим галочку Send as HEX и посылаем команды: A00101A2 — open relay, A00100A1 — close relay .
Чтобы не “городить огород” и сделать устройство автономным, решил прошивать Wi Fi модуль прошивкой Arduino IDE .
Где скачать, как установить и настроить Arduino IDE в инете много статей – этот вопрос рассматривать не будем. Можно посмотреть, например, здесь: https://geektimes.ru/post/271754/
Пример управления этим реле c помощью esp 8266-01 нашел здесь:
https :// esp 8266. ru / forum / threads / esp -01- relay — vkljuchenie — rele .2716/
Модифицировал стандартый пример esp 8266 Wi Fi WEB Server из Arduino IDE .
И вот рабочий пример прошивки:
#include #include const char* ssid = «SSID»; const char* password = «Password»; // Create an instance of the server // specify the port to listen on as an argument WiFiServer server(80); void setup() Serial.begin(9600); delay(10); // prepare GPIO2 pinMode(2, OUTPUT); digitalWrite(2, 0); // Connect to WiFi network Serial.println(); Serial.println(); Serial.print(«Connecting to «); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) delay(500); Serial.print(«.»); > Serial.println(«»); Serial.println(«WiFi connected»); // Start the server server.begin(); Serial.println(«Server started»); // Print the IP address Serial.println(WiFi.localIP()); > void toggleRelay(bool relayState) //if (relayState) // const byte miBufferON[] = ; Serial.write(miBufferON, sizeof(miBufferON)); delay(1000); const byte miBufferOFF[] = ; Serial.write(miBufferOFF, sizeof(miBufferOFF)); // > // else // //To disable the Relay send it by serial port: // const byte miBufferOFF[] = ; // Serial.write(miBufferOFF, sizeof(miBufferOFF)); // val = 0; // > > void loop() // Check if a client has connected WiFiClient client = server.available(); if (!client) return; > // Wait until the client sends some data Serial.println(«new client»); while(!client.available()) delay(1); > // Read the first line of the request String req = client.readStringUntil(‘r’); Serial.println(req); client.flush(); // Match the request int val; //if (req.indexOf(«/gpio/0») != -1) //toggleRelay(false); //else if (req.indexOf(«/gpio/1») != -1) //toggleRelay(true); if (req.indexOf(«/gpio/1») != -1) toggleRelay(true); else Serial.println(«invalid request»); client.stop(); return; > // Set GPIO2 according to the request //digitalWrite(2, val); client.flush(); // Prepare the response String s = «HTTP/1.1 200 OKrnContent-Type: text/htmlrnrnrnrnReley Blinked»; //s += (val)?»high»:»low»; s += «n»; // Send the response to the client client.print(s); delay(1); Serial.println(«Client disonnected»); // The client will actually be disconnected // when the function returns and ‘client’ object is detroyed >
Т.е. при наборе: http:// ip _ web _ server / gpio /1 — реле замкнет контакты на 1 сек.
Ставим переключатель в режим программирования и Заливаем скетч
Надеюсь, данная статья сэкономит кому-нибудь время.
Источник: sqladmin.ru