WiFi реле Sonoff world on - обзор устройств и примеры использования. Умный реле модуль Wifi реле на din рейку

Чтобы обеспечить, что эта часть подходит для вашего автомобиля, пожалуйста, введите детали вашего автомобиля ниже.
  • Год:

    Выберите

  • производить:

    Выберите

  • модель:

    Выберите

  • субмодель:

    Выберите

  • отделка:

    Выберите

  • Двигатель:

    Выберите

Эта часть совместима с 0 транспортное средство (ы). Покажите все совместимые автомобили

Эта часть совместима с 1 транспортное средство (ы) совпадающий

Эта часть не совместима с

Последний поиск

  • производить
  • модель
  • субмодель
  • отделка
  • Двигатель
Подведем итог:

LC 5V Релейный модуль WiFi оснащен модулем WiFi и микроконтроллером ESP8266.
Он отправит инструкции последовательного порта на мобильный телефон APP и реализацию в локальной сети (LAN) для беспроводного управляющего реле.

Функция и характеристики:

Встроенный ESP8266 модуль WIFI, клиент режима AP 5 может быть подключен одновременно;
Модуль имеет два режима работы: 1, сотовые телефоны, перенос модуля WiFi, 2, мобильный телефон и модуль WiFI
Выполнение одного и того же маршрутизатора с помощью мобильного телефона APP для управления реле

Дальность передачи:

1. Открытая среда, мобильный телефон при переносе на максимальную дистанцию ​​передачи модуля WIFI 400 м
2. Когда модуль WiFI и сотовый телефон, несущие на маршрутизаторе, в то же время расстояние передачи сигнала в соответствии с маршрутизатором. На слабых
На борту 5 v, 10 A / 250 v AC 10 A / 30 v DC реле, поглощают 100000 раз непрерывно
Модуль с защитой диодной эффузии, короткое время отклика
Скорость передачи в бодах: 9600,8,1,0,0.

Описание функции платы:

Размер: 45 * 28 мм
IN +, IN-: 5 v потребляемая мощность
TX, RX и GND: выводы отладки последовательного порта

Введение:

На плате модуля ESP8266 WIFI есть три режима работы: STA (клиент), AP (горячая), STA + Ap (hot + client), в соответствии с работой модуля с соответствующим выбором рабочего режима модуля WIFI. Использовать последовательное программное обеспечение для отладки и USB-модуль TTL. Последовательная команда была выполнена в конфигурации модуля WIFI (после завершения настройки не отключается питание, так как некоторые параметры модуля WIFI не могут быть сохранены при отключении питания) Мобильный телефон и модуль WIFI после установления сетевого подключения могут использовать контрольное реле APP телефона.
Когда сотовый телефон, оснащенный модулем WiFi, отправляет команды в следующем порядке:
(Скорость передачи по умолчанию 115200)
1, AT + CWMODE = 2, а именно режим AP;
2, AT + RST, сброс;
3, AT + CIPMUX = 1, открыть несколько соединений;
4, AT + CIPSERVER = 1,8080, настройте TCP-сервер, установите порт;
5, AT + CIOBAUD = 9600 задает скорость передачи до 9600. (работая в реле для управления скоростью передачи в бодах 9600)
6, AT + CIFSR для просмотра IP-адреса режима AP, например: APIP, «192.168.4.1»;
7, имя соединения сотового телефона WIFI начинается с AI-THINKER или ESP8266;
8, «Адрес TCP-соединения» и порт в APP, например 192.168.4.1 и 8080;
9, Нажмите на серые боковые реле можно контролировать.
10,

Документ: Кликните сюда!!

Приложения:

1. Автоматизация дома
2. Промышленные приложения IOT
3. Управление освещением

В пакет включено:

1 x ESP8266 5V Релейный модуль WiFi

Доброго времени суток, уважаемый читатель.

Немного лирики в начале. Идея «умного» выключателя света совсем не нова и, наверное, это первое, что приходит в голову тем, кто начал знакомство с платформой Arduino и элементами IoT. И я этому не исключение. Поэкспеременировав с элементами цепей, моторчиками и светодиодами хочется сделать нечто более прикладное, что востребовано в повседневной жизни и, самое главное, будет удобно в использовании, а не останется жертвой эксперимента в неугоду комфорту.

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

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

Так же мне понадобились: сервер, с помощью которого выключатель будет управляться через Интернет, Arduino Uno, с помощью которого я программировал ESP, роутер и расходные материалы как провода, клеммы и т.д., всё это может варироваться от вкусов и никак не повлияет на конечный результат.

Цены взяты из Ebay, где я их и покупал.

А вот как выглядят элементы из таблицы:

Теперь можно составить и схему подключения:

Как вы наверное заметили, схема очень простая. Все собиратся легко, быстро и без пайки. Эдакий рабочий прототип, с которым не нужно долго возиться. Всё связано проводами и клеммами. Единственный минус это то, что реле не влезло в гнездо выключателя. Да, изначально я планировал запихнуть всё это в стену за выключателем, чтобы смотрелось эстетично. Но к моему сожалению места в гнезде оказалось мало и реле просто напросто не влезло ни вдоль, ни поперек:

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

Изолента спасёт от удара током… надеюсь.

А теперь поговорим о програмной части.

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

Надеюсь, я когда нибудь все перепишу и связь будет основана на более быстром протоколе нежели HTTP, но для начала сойдет. Удаленно лампочка меняет свое состояние приблизительно за 1-1.5 секунды, а с выключателя моментально, как и подобает порядочному выключателю.

Программировании ESP8266-01

Самый простой способ сделать это - с помощью Arduino. Скачать необходимые библиотеки для Arduino IDE можно с GitHub . Там же все инструкции по установке и настройке.

Далее нам нужно подключить ESP к компьютеру, для этого понадобится либо USB to Serial Адаптер (типа FTDi , CH340 , FT232RL) либо любая Arduino платформа (у меня была Arduino Uno) с выходами RX и TX.

Стоит отметить, что ESP8266-01 питается от 3.3 Вольта, а значит ни в коем случае не подключайте его к питанию Arduino, которые (часто) питаются от 5 Вольт, напрямую иначе все сгорит к чертям. Можно использовать понижатель напряжения, который приведен в таблице выше.

Схема подключения проста: подключаем TX , RX и GND ESP к RX, TX и GND адаптера/Arduino соотвественно. После этого, собственно, подключение готово к использованию. Микроконтроллер можно программировать используя Arduino IDE.

Пара нюансов при использовании Arduino Uno:

  • На Uno есть выход для 3.3В, но его оказалось недостаточно. При подключении к нему ESP, все вроде работает, индикаторы горят, но связь с COM портом теряется. Поэтому я использовал другой источник питания на 3.3В для ESP.
  • К тому же у UNO не возникло никаких проблем при общении с ESP, с учетом того, что UNO питался от 5В, а ESP от 3В.
После нескольких экспериментов с ESP8266-01, выяснилось, что ESP чувствительны к подключенным к GPIO0 и GPIO2 напряжениям. В момент старта они ни в коем случае не должны быть заземлены, если вы намереваетесь запустить его в штатном режиме. Более подробно о старте микроконтроллера . Я этого не знал и мне пришлось слегка менять схему, т.к. в версии ESP-01 присутсвтуют только эти 2 пина и в моей схеме используются оба.

А вот и сама программа для ESP:

Показать код

#include #include #include #include #include extern "C" { // эта часть обязательна чтобы получить доступ к функции initVariant #include "user_interface.h" } const char* ssid = "WIFISSID"; // Имя WiFi const char* password = "***************"; // Пароль WiFi const String self_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // токен для минимальной безопасности связи const String serv_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // токен для минимальной безопасности связи const String name = "IOT_lamp"; // имя выключателя, читай лампочки const String serverIP = "192.168.1.111"; // внутренний IP WEB сервера bool lamp_on = false; bool can_toggle = false; int button_state; ESP8266WebServer server(80); // веб сервер HTTPClient http; // веб клиент const int lamp = 2; // Управляем реле через GPIO2 const int button = 0; // "Ловим" выключатель через GPIO0 // функция для пинга лампочки void handleRoot() { server.send(200, "text/plain", "Hello! I am " + name); } // функция для недействительных запросов void handleNotFound(){ String message = "not found"; server.send(404, "text/plain", message); } // Да будет свет void turnOnLamp(){ digitalWrite(lamp, LOW); lamp_on = true; } // Да будет тьма void turnOffLamp(){ digitalWrite(lamp, HIGH); lamp_on = false; } // Отправляем серверу события ручного вкл./выкл. void sendServer(bool state){ http.begin("http://"+serverIP+"/iapi/setstate"); String post = "token="+self_token+"&state="+(state?"on":"off"); // По токену сервер будет определять что это за устройство http.addHeader("Content-Type", "application/x-www-form-urlencoded"); int httpCode = http.POST(post); http.end(); } // Изменяем состояние лампы void toggleLamp(){ if(lamp_on == true) { turnOffLamp(); sendServer(false); } else { turnOnLamp(); sendServer(true); } } // Получаем от сервера команду включить void handleOn(){ String token = server.arg("token"); if(serv_token != token) { String message = "access denied"; server.send(401, "text/plain", message); return; } turnOnLamp(); String message = "success"; server.send(200, "text/plain", message); } // Получаем от сервера команду выключить void handleOff(){ String token = server.arg("token"); if(serv_token != token) { String message = "access denied"; server.send(401, "text/plain", message); return; } turnOffLamp(); String message = "success"; server.send(200, "text/plain", message); } // Устанавливаем MAC чтобы давать одинаковый IP void initVariant() { uint8_t mac = {0x00, 0xA3, 0xA0, 0x1C, 0x8C, 0x45}; wifi_set_macaddr(STATION_IF, &mac); } void setup(void){ pinMode(lamp, OUTPUT); pinMode(button, INPUT_PULLUP); // Важно сделать INPUT_PULLUP turnOffLamp(); WiFi.hostname(name); WiFi.begin(ssid, password); // Ждем пока подключимся к WiFi while (WiFi.status() != WL_CONNECTED) { delay(500); } // Назначем функции на запросы server.on("/", handleRoot); server.on("/on", HTTP_POST, handleOn); server.on("/off", HTTP_POST, handleOff); server.onNotFound(handleNotFound); // Стартуем сервер server.begin(); } void loop(void){ server.handleClient(); // Проверяем нажатие выключателя button_state = digitalRead(button); if (button_state == HIGH && can_toggle) { toggleLamp(); can_toggle = false; delay(500); } else if(button_state == LOW){ can_toggle = true; } }


Пару замечаний по коду:
  • Очень важно объявить пин GPIO0 как pinMode(button, INPUT_PULLUP ), т.к. в схеме мы не используем резистор для этой кнопки. А у ESP есть свои «вшитые» для этих самых целей.
  • При отлове состояния кнопки желательно установить задержку при считывании чтобы избежать ложного срабатывания в момент нажатия.

Программировании WEB сервера

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

Я использовал для этих целей Yii . Я выбрал этот фреймворк по нескольким причинам, мне нужна была авторазация (т.к. портал доступен в Интернете) и управление ролями (для будущих экспериментов), а еще он мне просто нравится. И теперь мой портал управления выглядит так:

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

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

Вместо заключение

Спасибо, если дочитали статью до конца и, возможно, нашли в ней что либо для себя полезное. Буду рад советам и критике. В целом, мне до сих пор кажется, что узкое место в цепи это Адаптер на 5В и буду рад, если Вы поделитесь своим опытом решения подобных задач. Что касается ESP8266-01, то пока он не вызвал у меня никаких нареканий кроме как особого использования пинов GPIO. Работает пока стабильно вторую неделю. Успехов в проектах.

Начнем сначала.

Чип ESP 8266

Чип ESP8266 разработан специально для «интернета вещей». Существует два варианта использования этого чипа. Первый - в качестве моста UART-WIFI для подключения к микроконтроллеру и управления АТ-командами. Второй вариант - чип сам исполняет роль управляющего контроллера. По моим оценкам в среде любителей электроники чип чаще используется как управляющий контроллер.

Возможности чипа:

  • Поддержка 802.11 b/g/n
  • Встроенный 32-bit MCU с низким энергопотреблением
  • Встроенный 10-bit ADC
  • Встроенный стек TCP/IP
  • Встроенный усилитель ВЧ сигнала
  • Поддержка разнесения антенн
  • WiFi 2.4 GHz, поддержка WPA/WPA2
  • Поддержка STA/AP/STA+AP режимов
  • SDIO 2.0, (H) SPI, UART, I2C, I2S, IR Remote Control, PWM, GPIO
  • STBC, 1x1 MIMO, 2x1 MIMO
  • A-MPDU & A-MSDU aggregation & 0.4s guard interval
  • Выходная мощность +20 dBm в 802.11b режиме

Чип является высокоинтегрированным решением для работы с WiFi. Внутри чипа удалось разместить все, что нужно. Типовая минимально необходимая для работы обвязка микросхемы состоит всего из семи элементов.

Фотографии для сравнения количества компонентов аналогичных решений.

По одним данным всей этой прелестью управляет 32-разрядное процессорное ядро Xtensa LX106, по другим данным - Tensilica’s L106 Diamond. Под микроскопом выглядит чип как целый город из связанных элементов.

Одной из самых важных характеристик является энергопотребление. У ESP8266 оно просто поражает:

  • 215mA в режиме непрерывной передачи.
  • 1mA в режиме поддержания связи с точкой доступа
  • 10uA в режиме глубокого сна с работающими часами реального времени
  • 0,5uA в режиме Power OFF

Время необходимое на пробуждение и начало передачи пакета менее 2ms. Например, при измерении температуры каждые 100 секунд и подключении к точке доступа и передаче накопленных данных каждые 300 секунд (все остальное время чип спит) средний ток составит около 1mA. Это более трех месяцев работы от трех пальчиковых аккумуляторов емкостью 2600мА/ч.

О модулях ESP

В настоящее время наиболее популярными модулями на чипах ESP8266 являются ESP-01, ESP-02, ESP-03, ESP-04, ESP-05, ESP-06, ESP-07, ESP-08, ESP-09, ESP-10, ESP-11, ESP-12, ESP-12E. Они отличаются количеством разведенных пинов, наличием разъема для подключения внешней антенны, размерами.

Сейчас уже можно найти в продаже старшего брата ESP8266 - это модуль ESP-32. На Aliexpress пока всего у двух продавцов есть эти модули. Цена около 250 рублей против 110 рублей за ESP-12E. В новом модуле будет еще больше плюшек.

Основные возможности ESP-32. (нажмите для просмотра)

Wi-Fi
- 802.11 b/g/n/e/i
- 802.11 n (2.4 GHz), up to 150 Mbps
- 802.11 i security features: pre-authentication and TSN
- 802.11 e: Multiple queue management to fully utilize QoS traffic prioritization
- Wi-Fi Protected Access (WPA)/WPA2
- Wi-Fi Protected Setup (WPS)
- UMA compliant and certified
- Antenna diversity nd seection
- A-MPDU and A-MSDU aggregation
- WMM power s ve U-APSD
- Fragmentation and defragmentation
- Wi-Fi Direct (P2P), P2P Discovery, P2P Group Owner mode and P2P Power Management
- Infrastructure BSS Station mode/ Soft AP mode
- Automatic beacon monitoring / scanning
- SSL stacks with hardware accelerators

Bluetooth
- CMOS single-chip fully-integrated radio and baseband
- Bluetooth Piconet and Scatternet
- Bluetooth 4.2 (BR/EDR/BLE)
- Adaptive Frequency Hopping(AFH)
- SMP
- Class-1, class-2 and class-3 transmitter without exter al power amplifier
- +10 dBm tra smitting power
- NZIF receiver with -90 dBm sensitivity
- Up-to 4 Mbps high speed UART HCI
- SDIO / SPI HCI
- CVSD and SBC
- Low power consumption
- Minimum external component

CPU and Memory
- Xtensa® Dual-Core 32-bit LX6 micr pr cess rs, up to 400MIPS
- 128 KB ROM
- QSPI Flash/SRAM, up to 4 x 16 MB
- Power supply: 2.5V to 3.6V
- 416 KB SRAM

Clocks and Timers
- 2 MHz to 40 MHz crystal oscillator
- Internal 8 MHz oscillator with calibration
- External 32 kHz oscillator for RTC with calibration
- Internal RC oscillator with calibration
- Two timer groups including 3 x 64-bit timers and 1 x watchdog in each group
- RTC timer with sub-second accuracy
- RTC watchdog

Advanced Peripheral Interfaces
- 12-bit SAR ADC up to 16 channels
- 2 x 10-bit D/A converters
- 10 x touch sensors
- Temperature sensor (-40 +125°C)
- 4 x SPI
- 2 x I2S
- 2 x I2C
- 2 x UART
- 1 host (SD/eMMC/SDIO)
- 1 slave (SDIO/SPI)
- Ethernet MAC interface with dedicated DMA and IEEE 1588 support
- CAN 2.0
- IR (TX/RX)
- Motor PWM
- LED PWM up to 16 channes

Security
- IEEE 802.11 standard security features all supported, including WFA, WPA/ WPA2 and WAPI
- Secure boot
- Flash encryption
- 1024-bit OTP, up to 768-bit for customers
- Cryptographc hardware acceleration:
- AES 128/192/256
- HASH (SHA-2) library
- RSA
- Radom Number Generator

Особенно интересна заявленная поддержка CAN-шины. Скоро управлять системами автомобиля и проводить диагностику можно будет по WiFi прямо с мобильного устройства.

Но вернемся к ESP-12E. На базе этого модуля построена платформа NodeMCU.

О платформе

Платформа использует возможности ESP-12 модуля, собственного микроконтроллера не имеет. Китайцы производят много клонов с разными конвертерами интерфейсов, и сами платформы имеют разные размеры.

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

Я пишу и заливаю программы с помощью Arduino IDE. Для работы с платформой необходимо установить библиотеки. С библиотеками идет большое количество примеров программ.

Установка библиотек в среду Arduino IDE для работы с NodeMCU .

Для установки библиотек необходимо зайти в настройки Arduino IDE и в поле «Additional board» ввести адрес http://arduino.esp8266.com/package_esp8266com_index.json

Пролистываете список вниз и находите ESP8266 by ESP8266 Community, и устанавливаете библиотеки.

Закройте «Boards Manager». Идите в «Инструменты» и выберите плату NodeMCU в соответствии с вашей версией.

Чтобы понять какой модуль у вас установлен и какую версию выбрать, посмотрите на модуль. Если контакты на нем расположены с трех сторон - это ESP-12E, если только с двух - это ESP-12.

Назначение выводов платформы NodeMCU

Функции, поддерживаемые библиотеками для Arduino IDE .

Полное описание можно почитать здесь https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_ru причем на русском языке. Я расскажу об основных функциях.

Управление GPIO осуществляется так же, как и у Arduino. pinMode, digitalRead, digitalWrite, analogWrite функционируют как обычно. analogRead(A0) читает значение АЦП с аналогового входа А0 соответственно. analogWrite включает программный ШИМ. Частота ШИМ порядка 1кГц. Диапазон ШИМ от 0 до 1023, у Arduino, как мы помним, до 255. Прерывания также поддерживаются на любом GPIO, кроме GPIO16. Функции millis() и micros() возвращают миллисекунды и микросекунды, прошедшие со старта модуля. Функция delay() у NodeMCU работает по-другому нежели у Arduino. Здесь применение delay приветствуется и в больших программах даже необходимо. Когда модуль поддерживает WiFi соединение, ему приходится выполнять множество фоновых задач, кроме вашего скетча. WiFi и TCP/IP функции библиотек SDK имеют возможность обработать все события в очереди после завершения каждого цикла вашей функции loop() или во время выполнения delay(...). Если в вашем коде есть фрагменты, которые выполняются более 50 миллисекунд, то необходимо использовать delay(...) для сохранения нормальной работоспособности стека WiFi. А вот delayMicroseconds() блокирует выполнение других задач и не рекомендуется для задержек более 20 миллисекунд. Serial использует аппаратный UART0, работающий на PIO1(TX) и GPIO3(RX).

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

После того, как библиотеки установлены, к платформе подключаем блок из 4 реле к пинам D1, D2, D3, D4, что соответствует GPIO 5, 4, 0, 2 соответственно. Затем подключаем питание к платформе и к блоку реле. У имеющегося у меня блока реле есть одна особенность. Для включения реле необходимо подтянуть пин к земле. То есть логический 0 включает реле, а 1 выключает.

Я рассмотрю три варианта программы управления блоком реле.

Первая программа использует популярную библиотеку aRest https://github.com/marcoschwartz/aREST

Это API handler библиотека, позволяет управлять GPIO через http-запросы вида http://192.168.0.10/digital/6/1 ее возможности: устанавливать GPIO в Digital или Analog (ШИМ), устанавливать 0 или 1 на пин в режиме Digital, возвращать переменные и читать состояние пинов.

Программу я откомпилировал и загрузил из примеров, идущих вместе с библиотекой. С точки зрения использования - проще некуда.

В Setup’е устанавливается соединение с точкой доступа, о чем сообщается через COM порт. А loop выглядит вот так:

void loop() {

WiFiClient client = server.available();

if (!client) {

return;

}

while(!client.available()){

delay(1);

}

rest.handle(client);

}

Все. Что там происходит не понятно. Работает, но фактически мы не программируем ничего. Просто запускаем программу, все остальное делает библиотека. Но интереснее научиться работать с GPIO «руками». Да, кстати, программа у меня зависала через неопределенное время. Иногда через 40 минут, иногда через 5-6 часов. Приходя домой после 8 часового рабочего дня, я всегда обнаруживал, что программа не работает. При этом роутер показывает, что клиент WiFi подключен и ему выдан IP адрес. Интерес у меня к библиотеке быстро пропал. На зависания aRest’а на русскоязычных форумах жалоб не встречал. Я уж грешил на NodeMCU или на нестабильное питание, но дальнейшие эксперименты доказали, что в моем случае виновата была программа. Скорее всего, у меня частный случай. Я не утверждаю, что библиотека не рабочая.

С aRest’ом разобрались.

Вторая программа написана самостоятельно, использует всего одну подключаемую библиотеку #include . Программа проста и наглядно показывает, как управлять пинами через веб-запросы. Данная программа умеет управлять только логическими состояниями на выводах D1-D4 и выводить информацию о времени работы программы в качестве тестового запроса. Если есть необходимость, можно дописать программу для остальных GPIO, «научить» ее выдавать ШИМ и т.д. К выводу D4 подключен синий светодиод, находящийся на модуле ESP-12E. После мучений с зависаниями aRest’а я временно отсоединил реле 4 от D4 и в своей программе дописал пару строк для мигания этим светодиодом. Пришел домой после работы смотрю - мигает, значит, работает. Проверил с мобильного - точно работает. Программа отработала 8 дней без зависаний, отработала бы и дольше, но NodeMCU у меня один, поэтому я продолжил его изучение и выполнение программы пришлось остановить.

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

Для управления блоком реле для этих двух программ было создано приложение на мобильный с ОС Android. Приложение очень простое, создавалось в App Inventor 2. Процесс создания приложения я опишу позже. Сначала третий вариант решения управления реле.

Третий вариант комплексный. Прошивка платформы и программа для Android от одного разработчика. Я использовал сервис Blynk. Он представляет собой облачный сервис для создания графических пультов управления и подходит для широкого спектра микрокомпьютеров и микроконтроллеров.

Для создания собственного проекта с управлением через Blynk нужно совсем немного: установить приложение (доступны версии для iOS и Android) или воспользоваться веб-формой. Тут потребуется регистрация в один шаг — ввод e-mail и пароля. Дело в том, что Blynk — облачное решение, и без регистрации контроль над железкой может получить любой пользователь.

Желающие могут установить сервер локально . В таком случае доступ в интернет не нужен.

Опишу сам процесс. Он состоит из двух частей.

Первая часть. Скачиваете Blynk с Google Play. Устанавливаете и запускаете программу

  1. Нажимаете «Create New Project»
  2. Вписываете название проекта и выбираете NodeMCU в поле «Hardware model». Auth Token учите наизусть или записываете на бумажку, отсылаете себе на почту. Жмете «Create».
  3. Жмете «+» в углу.
  4. Выбираете «Button». Как вы уже обратили внимание, каждый элемент, добавляемый в проект, стоит энергию. По умолчанию вам ее дается 2000. По мере добавления виджетов энергия будет расходоваться. Если вам нужно будет разместить больше виджетов, то энергию придется покупать за деньги.

  1. Вот и появилась наша кнопка. Нажмите на нее. Откроются ее настройки.
  2. Выберите название, пин, на который она будет действовать, режим кнопки или переключателя, название для состояний «включено» и «выключено». В приложении инвертировать сигнал с кнопки нельзя. Для моих реле: кнопка выключена - 0 на выходе, реле включено и наоборот. Прописывать правила работы логики можно установив сервер на локальном компьютере.
  3. Далее нажимаете треугольничек справа вверху. Программа переходит из режима редактирования в работу.
  4. Кнопки работают. Что примечательно поддерживается мультитач. Я пробовал одновременно нажимать 6 кнопок. Все работает (у телефона по описанию 10 точек нажатия).

Вторая часть - это прошивка NodeMCU. Скачиваете и устанавливаете библиотеки Blynk https://github.com/blynkkk/blynk-library . Запускаете Arduino IDE - Файл - Образцы - Blynk - BoardsAndShields - ESP8266_Standalone.

Вписываете в пример Auth Token с секретной бумажки почты. А также SSID вашей сети WiFi и пароль доступа к ней.

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

Создание приложения в App Inventor .

App Inventor - среда визуальной разработки android-приложений, требующая от пользователя минимальных знаний программирования. Первоначально разработана в Google Labs, после закрытия этой лаборатории была передана Массачусетскому технологическому институту. Для программирования в App Inventor используется графический интерфейс, визуальный язык программирования очень похожий на язык Scratch и StarLogo TNG. Разобраться с написанием приложения не так сложно. Полезной документации на русском я не нашел, а вот видео на ютубе очень много.

У сервиса две основных вкладки. Первая - это «Designer», здесь в визуальном редакторе размещаются компоненты. Скорость разработки интерфейса очень высока благодаря одной особенности сервиса App Inventor. На мобильный девайс необходимо установить приложение MIT App Inventor 2 Companion. Запустить его. На сайте выбрать Connect - AI Companion. Будет сгенерирован и выведен на экран QR код. В приложении надо нажать «scan QR code» и отсканировать код. Через пару секунд приложение появится на экране мобильного девайса. Новые элементы или любые измененные данные буквально через секунду становятся доступными для проверки на мобильном устройстве.

На экране размещаются: поле ввода для ввода IP адреса, кнопка установки адреса и отправки тестового запроса. Ниже располагается компонент «WebViewer», в нем будет отображаться присланная в ответ от NodeMCU страница. Ниже идут 4 группы по две кнопки, которые включают и выключают реле. Также нужен компонент «TinyDB», в нем будем хранить переменную для построения запроса. Также я для пробы добавил компонент распознавания голоса, чтобы можно было управлять реле голосовыми командами. Описывать алгоритм действий при распознавании текста не буду, так как пользоваться этой функцией крайне неудобно. Сначала нужно нажать на кнопку, потом выводится окошко от гугла с надписью «говорите», потом произносится команда. Причем после окончания произношения команды система распознавания ждет некоторое время, потом соображает, что все уже сказано. Затем идет распознавание речи и приходит текстовый ответ. Его надо сравнить с заранее заготовленными фразами. И только после этого команда будет выполнена. Проще тапнуть кнопку.

Вторая вкладка называется «Blocks». Здесь в виде блоков задается вся «программная» часть приложения.

Здесь из блоков составляется алгоритм работы программы. Основная часть алгоритма есть на скрине. Опишу, что здесь происходит.

  • When SET.Click - когда нажата кнопка «сет», вызвать функцию IP
  • Далее идет сама функция IP. Она сохраняет в TinyDB IP адрес из поля ввода, дописывая вначале «http://». Потом WebViewer.GoToUrl берет адрес из TinyDB, дописывает «/test» в конце и переходит по этому адресу. У меня получается «http://192.168.0.1/test». В WebViewer на экране загружается информация о том, что тест пройден, и выводится время непрерывной работы NodeMCU. Если IP адрес был введен неверно, то получаем сообщение о невозможности открыть страницу.
  • When ON1.Click (ON1 это название кнопки) вызывает функцию ON1.
  • Функция ON1 берет адрес из TinyDB, дописывает к нему «/D1/0», получается «http://192.168.0.1/D1/0», и посылает запрос. NodeMCU, получив данный запрос, соображает, что на пин D1 нужно установить 0. Выполняет и отсылает ответ «GPIO set OK», который мы и видим в WebViewer.
  • Следующая кнопка OFF1 проделывает то же самое, только в конце дописывает «/D1/1». Устанавливает логическую 1 на пин D1. Реле выключается.

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

После того, как все проверено и работает, нажимаете Build - App (save .apk to my computer). Идет компиляция и скачивание apk-файла приложения. Его необходимо установить на мобильное устройство, предварительно в настройках разрешив установку приложений из сторонних источников. Теперь приложение запускается самостоятельно. AI Companion уже не нужен и связь с интернетом тоже.

Вот так можно без особых усилий создать приложение для Android-устройства для управления нагрузкой по сети WiFi.

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

P.S. Поднять точку доступа на платформе мне пока не удалось. Пример, идущий с библиотеками, не компилируется. Arduino IDE просто виснет в процессе компиляции. С этим мне еще предстоит разобраться.

P.P.S. Точку на платформа поднял, но адекватной работы пока не добился. Команды выполнялись или с задержкой в пару секунд либо не выполнялись совсем. Пока исследование модуля приостановлено. Занят обслуживанием авто.

Реле Sonoff World On, из семейства приборов для беспроводного управления включением и отключением от сети бытовых нагрузок по Wi-Fi, станет довольно полезным и удобным элементом вашей системы домашней автоматизации. Если вы пользуетесь смартфоном, у вас дома есть Wi-Fi, а также имеется желание управлять питанием различных сетевых нагрузок прямо со смартфона, даже если вы находитесь вне дома, то эти Wi-Fi реле как раз для вас.

Просто установите реле Sonoff возле розетки или выключателя (или даже вместо розетки или вместо выключателя), и соедините последовательно через него ваш бытовой прибор с сетью 220 вольт. Затем создайте подключение через интернет, настройте связь с реле через Wi-Fi, и управляйте своими бытовыми электроприборами прямо через приложение со смартфона. Рассмотрим более внимательно пять моделей реле Sonoff World On.

Sonoff World On

Это первое реле в линейке Wi-Fi реле Sonoff. Оно предназначено для управления питанием любых электроприборов мощностью до 2,2 кВт от стандартной бытовой сети переменного тока 220-240 В. Диапазон рабочих температур самого реле (небольшая пластиковая коробочка с виду) - от -20°C до +65°C, причем максимальная допустимая влажность окружающего воздуха — 95%. Реле изначально предназначено для использования внутри помещения.

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

Вся настройка и управление осуществляются через фирменное приложение Ewelink на русском языке, которое доступно как для IOS, так и для Android. Вы всегда сможете посмотреть в приложении статус устройства (включено оно или выключено), и по желанию удаленно включить или отключить его от сети. Принципиально количество устройств Sonoff World On, которыми можно управлять с одного смартфона, не ограничено.

Это следующая модель Wi-Fi реле из семейства Sonoff World On. Данная модель оснащена встроенными датчиками влажности и температуры. Таким образом, устройство имеет возможность не только работать по 8 таймерам, оно также может включать и выключать ваши нагрузки по достижении влажностью или температурой определенных, предустановленных в приложении Ewelink, значений.

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

Модель идеально подойдет для управления питанием котла, кондиционера, конвектора, для управления состоянием климата в теплице, для поддержания надлежащей температуре дома (для людей, животных, или для комнатных растений) и т. д.

Разумеется, за состоянием температуры и влажности вы сможете в режиме реального времени наблюдать со смартфона через интернет. Технические характеристики относительно мощности коммутируемой нагрузки аналогичны Sonoff World On.

Данная модель Wi-Fi реле способна работать так же, как и Sonoff World On, функциональные возможности и характеристики у нее те же, только помимо главной функции управления питанием электроприборов по Wi-Fi, здесь добавлена возможность управления еще и с пульта на частоте 433 МГц (один пульт идет в комплекте к реле). Модель с пультом идеально подойдет для установки на посту охранника для управления воротами, шлагбаумом при въезде на территорию частного дома и т. п.

WiFi реле по характеристикам аналогично Sonoff World On, однако предназначено оно для управления одновременно двумя электроприборами, максимальная мощность каждого из которых составляет 2,2 кВт. Приборы могут работать параллельно, что вдвое расширяет возможности в плане максимальной коммутируемой мощности. Например, это могут быть два масляных обогревателя по 2 кВт каждый.

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

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

Фирменное приложение Ewelink легко находится в магазине, скачивается, и устанавливается на смартфон. Приложение достаточно запустить, затем нужно будет зарегистрироваться в системе по номеру телефона, ввести код подтверждения, который придет по смс, после чего можно будет добавлять устройства.

Реле Sonoff имеет на своем корпусе кнопку, удерживая которую нужно дождаться, пока индикатор на корпусе не начнет быстро мигать. Начал мигать — можно находить модуль, вводить его название, задавать параметры его Wi-Fi сети. Вот и все.

Теперь имеется возможность управлять реле через локальную сеть Wi-Fi, а если хозяин находится далеко от дома, то через интернет посредством облака. В приложении всегда отражается, какие из реле на связи, а какие — нет. Включенные и выключенные реле видно в приложении. Реле модели Sonoff World On RF без проблем сопрягается с пультами 433 МГц-интерфейса.

Включается/выключается ли реле кнопкой на нем, посредством пульта или через смартфон, - его новое состояние тут же отражается в приложении. Есть возможность расшаривания устройств, например муж и жена, проживающие в одной квартире, могут с обоих своих смартфонов управлять одними и теми же приборами.

Коммутируемая
Мощность
3500 ВА

Напряжение
сети
220 В

Размер
реле
8,8x3,8x2,3 см

WiFi реле Sonoff World On TH (TH16A) является умной версией выключателя sonoff. Это реле может устанавливать и поддерживать температуру и влажность воздуха из любой точки мира через сеть интернет с помощью специального приложения, которое можно установить на любой смартфон.
Применяется чаще всего для поддержания комфортной температуры и влажности в помещении. То есть к реле можно подключить отопительную систему и увлажнитель воздуха и прибор в автоматическом режиме будет включать/выключать систему обогрева и увлажнения. Также используется реле в террариумах, где нужно особенно точно поддерживать условия содержания рептилий.
Особенности работы WiFi реле Sonoff World On TH (TH16A):
- Мониторинг температуры и влажности в реальном времени
- Автоматический режим включения/выключения по заданной температуре или влажности
- Возможность установить ручной режим. Мгновенное включение/выключение.
- Дистанционное включение/выключение приборов даже без подключенных датчиков.
- Таймеры обратного отсчета для включения/выключения в указанное время.
Производится WiFi реле Sonoff World On TH (TH16A) в Китае. Качество подтверждается официальной гарантией и сертификатом. В нашем интернет магазине Вы можете купить по выгодной цене.

Видео обзор WiFi реле Sonoff World On TH (TH16A)

Посмотрите видео об обогревателях и магазине Греем Вас

. Дистанционное управление через смартфон
. Бесплатное русскоязычное приложение
. Включение и выключение по расписанию или по таймеру.
. Измерение температуры и влажности
. Оповещение о статусе прибора.
. Низкая цена

.
. Датчик температуры и влажности
. Гарантийный талон

Достоинства:
. Дистанционное управление влажностью и температурой воздуха в помещении
. Бесплатное приложение для смартфона на платформе IOS/Android
. Цена
Недостатки:
. Для дистанционного управление необходимо подключение к WiFi

Фотографии WiFi реле Sonoff World On TH (TH16A)

Инструкции, сертификат на WiFi реле Sonoff World On TH (TH16A)

Часто задаваемые вопросы (FAQ)

Что такое WiFi реле Sonoff World On TH (TH16A), и как оно работает?
Реле Sonoff World On TH (TH16A) представляет собой электроприбор со встроенным Wi-Fi модулем, что позволяет дистанционно управлять электроприборами через интернет из любой точки мира.

Какими электроприборами можно управлять через WiFi реле Sonoff World On TH (TH16A)?
Управлять можно любыми электроприборами, требующими периодического включения и выключения. Например, системами полива или обогрева.

Что нужно сделать, чтобы управлять через WiFi реле Sonoff World On TH (TH16A)?
Для этого нужно скачать и установить на телефон или планшет приложение eWeLink. Далее, следуя инструкции, подключить реле и можно пользоваться.