WiFi выключатель Sonoff Pow. Управление и измерение мощности нагрузки по WiFi (Обзор с печальным концом). Модуль управления автоматикой вентиляции WI-FI MODULE Управление приборами через wifi

Система удаленного управления отоплением через интернет Tech WiFi-8S

Беспроводной комнатный интернет термостат WiFi 8S – одна из самых новых и функциональных моделей терморегуляторов польской компании Tech Sterowniki (английский вариант названия Tech Controllers), на базе которого можно построить автоматическую систему управления радиаторным отоплением Вашего дома. Для владельцев квартир, загородных домов и дач, в которых имеется доступ к сети интернет с помощью роутера (маршрутизатора), устройство поможет решить ряд задач по дистанционному контролю и управлению системой отопления.
Мозгом системы является контроллер Tech WiFi-8S - компактный электронный модуль с жидкокристаллическим экраном, управляющими кнопками и встроенным датчиком, измеряющим температуру в помещении, в котором он смонтирован. В комплект поставки также входит проводной датчик C-7p для измерения температуры во втором помещении.
Систему можно расширить, если владелец захочет управлять температурой в нескольких помещениях. Все зависит от конфигурации системы отопления и потребностей владельца по контролю за отопительной системой. Для этого дополнительно нужно будет купить или беспроводные датчики температуры C-8r, либо комнатные терморегуляторы R-8b или R-8z, с помощью которых, в отличие от датчика температуры, можно управлять температурой в конкретном помещении. Максимальное количество дополнительных датчиков либо терморегуляторов, которые можно подсоединить к главному контроллеру – 6 штук.

Принцип работы системы удаленного управления отоплением Tech WiFi-8S

Система представляет собой более продвинутое поколение устройств, с расширенными функциями, по сравнению с предыдущими моделями, такими как Tech ST-2807 и ST-2906. Если эти устройства управляют температурой только в одном помещении и максимально 6-ю термоэлектрическими приводами STT-868, то WiFi 8S может управлять температурой в 8-ми помещениях, в каждом из которых может быть до 6-ти термоприводов!
На контроллере устанавливается нужная температура для каждого помещения. Датчики, смонтированные в каждой комнате, измеряют температуру и передают информацию на главный контроллер. В зависимости от заданной программы контроллер даст команду на открытие или закрытие радиоуправляемым приводам на радиаторах отопления, увеличивая или уменьшая, соответственно, расход проходящего через них теплоносителя.
Кроме управления термоэлектрическими приводами, контроллер также может управлять котлом: при достижении во всех помещениях заданной температуры, контроллер с помощью «сухого контакта» отключит котел.
Заводская настройка гистерезиса составляет 0,5 °C.
Работу системы можно контролировать по интернету. Для этого необходимо зайти на сайт emodul.eu , зарегистрировать новый аккаунт и начать управление. Через интернет можно задать в каждом помещении свою постоянную температуру, изменять ее на определенное время или запрограммировать до 6 различных графиков работы.
С помощью интернет приложения можно также контролировать такие параметры как:
- заряд батареек в датчиках, терморегуляторах или приводах
- силу беспроводного сигнала
- просматривать статистику за любой период работы и многое другое
Можно даже просто попробовать - зайти на вышеуказанный сайт, изменить язык на русский и выбрать "Тестовый аккаунт"

Схема применения системы удаленного управления отоплением Tech WiFi 8S

Преимущества системы удаленного управления отоплением Tech WiFi-8S

  • Многозональность. Система может управлять 8-ю различными зонами отопления с помощью:
    - встроенного датчика температуры
    - одного внешнего проводного датчика температуры C-7p
    - возможность дополнительного подключения 6-и беспроводных комнатных датчиков температуры C-8r или комнатных терморегуляторов R-8b или R-8z
  • Многозадачность. Возможность управления 6-ю беспроводными термоэлектрическими приводами STT-868 в каждой из восьми контролируемых зон, а также отопительным котлом или другим нагревательным оборудованием через так называемый «сухой контакт» (предусмотрен релейный выход NO/NC)
  • Поддержка беспроводного внешнего датчика температуры C-8zr, благодаря которому возможен просмотр уличной температуры на главном экране.
  • Возможность управления климатом в помещении через комнатный термостат.
  • Гибкость. Установка индивидуальных настроек для каждой из восьми зон. Каждой зоне может быть назначен свой индивидуальный режим работы (поддержка постоянной температуры, ограничение по времени или шесть различных графиков работы)
  • Удобное обновление программного обеспечения через USB-порт
  • Функция Sigma. Позволяет плавно управлять термостатическим клапаном, а также предоставляет возможность настройки минимального и максимального закрытия клапана. При отключенной функции СИГМА можно задать значения максимального и минимального открытия привода (степень открытия и закрытия клапана не превысит этих значений)
  • Легкий и удобный дистанционный контроль и управление системой отопления по домашней сети Wi-Fi через глобальную сеть Интернет с помощью веб-приложения. Веб-приложение www.emodul.eu доступно для мобильных телефонов на базе Android в Google Play, а также для устройств iOS в Apple Store

Дополнительные комплектующие для расширения функциональных возможностей Tech WiFi 8S

Контроллер Tech WiFi-8S может обмениваться данными при помощи радиосвязи с целым рядом устройств, которые можно купить по отдельности, в зависимости от конкретной конфигурации системы отопления и потребностей ее владельца. Необходимо лишь зарегистрировать комнатные температурные датчики в конкретной контролируемой зоне, а термоэлектрические приводы, комнатные термостаты и внешний датчик C-8zr - в самом контроллере.

Оборудование Наименование Функция
С-8r
комнатный датчик температуры
- отправка информации на контроллер о текущей температуре помещения
R-8b

питание: 2хААА 1,5V

R-8z
двухрежимный комнатный терморегулятор
питание: 230V 50Hz
- отправка информации о текущей температуре в зоне
- возможность изменения заданной температуры непосредственно из зоны
C-8zr
внешний датчик наружной температуры
- отправка информации о внешней температуре в контроллер WiFi 8S
STT-868
беспроводной термостатический привод
- открытие/закрытие клапана для удержания требуемой температуры

Дистанционное управление отоплением с ПК, планшета или смартфона

Специалисты компании "Термогород" Москва помогут Вам правильно подобрать, купить, а также смонтировать систему удаленного управления отоплением, найдут приемлемое решение по цене. Задавайте любые интересующие Вас вопросы, консультация по телефону абсолютно бесплатна, или воспользуйтесь формой "Обратная связь"
Вы останетесь довольны, сотрудничая с нами!

Для беспроводного управления автоматикой вентиляции через мобильное приложение с любых мобильных устройств на базе iOS 5.0, Android 2.3.3 и выше. Wi-Fi Module представляет собой элемент программно-аппаратного комплекса Electrotest Wireless Control (EWC).

Режимы управления климатом со смартфона

Wi-Fi Module позволяет реализовать управление климатом со смартфона или планшета тремя способами:

  1. Точка доступа. Этот режим подходит для местного управления в радиусе до 12 м и не требует наличия сети Wi-Fi. Обмен данными происходит непосредственно между мобильным устройством и шкафом автоматики.
  2. Клиент. Этот режим подходит для управления в пределах зоны действия сети Wi-Fi и требует наличия роутера.
  3. Клиент с VPN-соединением. Использование VPN (англ. Virtual Private Network - виртуальная частная сеть) позволяет управлять шкафом автоматики со смартфона или планшета из любой точки мира, где есть Интернет.

Характеристики WI-FI модуля

  • Управление климатом с любого мобильного устройства на базе iOS 5.0, Android 2.3.3 и выше с установленным приложением ElectrotestControl .
  • Длина линии до 200 м. Шкаф может быть установлен в подвале, а Wi-Fi-модуль в любом другом помещении.
  • Любое число объектов. Приложение может контролировать любое количество модулей автоматики, то есть индивидуально управлять вентиляцией в разных помещениях. Модули автоматики в радиусе действия приложения определяются автоматически и могут быть переименованы для удобства пользователя — «Котельная», «Холл», «Склад 1» и т.п. Переключение с одного помещения на другое осуществляется простым перелистыванием.
  • Одновременное подключение нескольких пользователей. Одним шкафом автоматики могут управлять несколько авторизованных пользователей — например, одновременно просматривать архив аварий, программировать таймер, менять уставки температуры и скорость вентиляторов.
  • Легкое подключение. Поддержка управления по Wi-Fi добавлена во все модули автоматики MASTERBOX RR и OPTIBOX M . Обладателям более ранних версий модулей автоматики будет достаточно обновить ПО установленных модулей при помощи компьютера и фирменного шнура программирования.
  • Параллельная работа. Модуль Wi-Fi может быть подключен к шкафу автоматики вместе с проводными пультами ДУ. Пользователь сам выбирает наиболее удобный способ управления в конкретный момент времени: панель самого шкафа, проводной пульт, мобильное приложение, SCADA-система. При управлении с одного устройства все остальные временно блокируются.

Монтаж и подключение

Wi-Fi модуль подключается к модулю автоматики по четырёхпроводной линии типа «витая пара». На физическом уровне связь осуществляется по интерфейсу RS 485, полудуплекс. Длина линии от пульта до модуля MASTERBOX RR — до 200 м. На программном уровне используется протокол Modbus RTU.

Обновление прошивки

  1. Убедитесь, что модуль готов к работе, по состоянию светодиода:
    • не горит — модуль выключен или перезагружается
    • мигает два раза в секунду — модуль не может подключиться к "шкафу"
    • мигает раз в секунду — модуль пытается подключиться к сети (в режиме "Клиент") или запустить точку доступа (в режиме "Точка доступа")
    • горит постоянно — готов к работе, модуль подключился к "шкафу" и подключился к сети в режиме "Клиент" или "Точка доступа"
  2. Подключитесь к сети Electrotest. Если модуль находится в режиме "Клиент" или забыт пароль от точки доступа — нажмите и удерживайте кнопку Reset на модуле, пока не погаснет светодиод, и дождитесь, когда модуль перезагрузится в режиме "Точка доступа" с именем сети Electrotest.
  3. Откройте приложение ElectrotestControl , зайдите в настройки. В настройках можно выбрать режим работы модуля "Точка доступа" или "Клиент" и при необходимости указать пароль для доступа к данному модулю. Если пароль не нужен, то оставьте поле пустым.
    Чтобы все изменения вступили в силу, нужно нажать "Отправить настройки wi-fi модулю", после чего модуль начнёт перезагружаться с новыми настройками.

Внимание!
После первого сохранения настроек в модуле, при последующем подключении к нему настройки WiFi-модуля в приложении отображатся уже не будут. Чтобы заново настроить модуль,нужно опять нажать на кнопку сброса, и далее пункт 1. Если не нажать "Отправить настройки wi-fi модулю", т.е. не задать первоначальные настройки модуля, то эти настройки сможет сделать любой пользователь, подключившийся к этому модулю.

Управление климатом через Интернет

Для реализации возможности управления вентиляцией через Интернет (веб-управление климатом) нужно всего лишь иметь статический IP-адрес и произвести дополнительные настройки роутера в домашней сети и мобильного устройства. Процедура настройки VPN у опытного пользователя занимает всего несколько минут.

Расширитель портов

Применение совместно со шкафом автоматики расширителя портов позволит одновременно подключать к шкафу Wi-Fi-модуль и включать шкаф в SCADA-систему.

Схемы подключения

Подключение WiFi-модуля аналогично подключению пульта ДУ.


Сегодня хочу Вам показать интересное устройство, при помощи которого можно управлять чем угодно через интернет при помощи Wi-Fi модуля ESP8266 (ESP-01) и микроконтроллера ATmega8A .
В данной связке модуль, выполняет роль контроллера сети WiFi и вебсервера, а ATmega8A выполняет роль контроллера силового узла, принимает строку по простому протоколу от ESP8266 и обработав ее выдает команду на открытие того или иного реле через сдвиговый регистр 74HC595 и транзисторную сборку ULN2003 .

Схема устройства:

Обращаясь по заданному IP адресу, по умолчанию: 192.168.4.1 , можно настраивать различные режимы и управлять освещением в квартире или доме. Устройство имеет веб интерфейс. Прошивка для ESP8266 создана на основе «вебсвалки» от уважаемого « PVVX» . Я просто дописал пару тройку обработчиков в файле что при получении определенной строки со стороны веб в UART интерфейс будет отсылаться 4 байтная строка - идентификатор команды. На каждый канал управления приходится две таких команды, это включить и выключить. Также, есть еще дополнительных две команды которые могут включить и выключить сразу все каналы освещения.
И потом, написав простую вебстраничку я легко управляю освещением квартиры.

Работает устройство следующим образом:

Со стороны веб : если по-простому, то при нажатии на любую из кнопок сначала вызывается скрипт, который меняет фон кнопки и меняет переменной значение с 1 на 0 и наоборот при каждом нажатии и потом вызывается обработчик AJAX, который обрабатывается программой в ESP8266 и отправляется в UART код, соответствующий команде AJAX. А уже ATmega8A , эту строку принимает и обрабатывает.

Со стороны микроконтроллера: принимается строка, обрабатывается, и если совпадает строка с проверочной, то выполняются необходимые действия. Выглядит это вот так:

Void send_data() { static char buff_data=0, rel_data=0; static char x=0; if(string_search("@1A00",rx_buffer)) // LIGHT ON кухня { rel_data|=0x81; printf("1CH ON\r\n"); clear_buffer_rx(); x=0; if(demo<42000 && demo_off==0) demo++; } .................... .................... else if(string_search("@2A00",rx_buffer)) // LIGHT OFF кухня { rel_data&=~0x81; printf("1CH OFF\r\n"); clear_buffer_rx(); x=0; if(demo<42000 && demo_off==0) demo++; } relay_send(rel_data); }

В данной функции сравнивается пришедшая строка в юарт, со строкой, которая выполняет определенные команды. Если она совпадает - то выполняется действие.

функция парсера юарт самодельная, вот ее код:

Char string_search(char *str1,char *str2) { unsigned char addr=0,x=0,y=0; str1+=0; str2+=0; while(str1!=0) { addr++; } while(str1[y]!=0 && str2[x]!=0) { if(str1[y] == str2[x]) { y++; x++; } else { if(y

Веб страничка не претендует на премию, и выглядит вот так:

При нажатии на любую из кнопок происходит включение освещения!

Веб странички настроек скрыты от основной и открывается при вводе ссылок. Чуть ниже я их укажу.

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

192.168.4.1/protect/wifi.htm
192.168.4.1/protect/setup.htm
192.168.4.1/protect/uart.htm
192.168.4.1/protect/upload.htm

По вопросам доработки прошивки, можно .

Фото смонтированного устройства:

Внимание! Печатные платы разрабатывались как универсальные (для общего применения) и применялись платы из того, что было уже изготовлено, это все связано с сокращением времени разработки и экономии расходов на изготовление заводских плат. Поэтому некоторые узлы распаяны не для задачи управления освещением.

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

Чип 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. Точку на платформа поднял, но адекватной работы пока не добился. Команды выполнялись или с задержкой в пару секунд либо не выполнялись совсем. Пока исследование модуля приостановлено. Занят обслуживанием авто.

Дистанционно-управляемое WiFi реле, для управления нагрузкой, с питанием от переменного тока, напряжением 90-250 вольт. Нагрузка управляется путем подачи/отключения на выходных контактах напряжения питания устройства (90-250 вольт). WiFi модуль базируется на ESP8266 с собственной прошивкой. Производитель предлагает бесплатное приложение для Android и IOS.
Позволяет управлять нагрузкой при условии наличия WiFi-сети в месте нахождения устройства и интернета (или WiFi) в месте нахождения смартфона. Много текста, фото, видео.
Товар представлен производителем бесплатно (п.18).

И на старуху...

И на старуху бывает проруха, а уж на старика, и подавно. Когда тебе пишут и предлагают на обзор что-то интересное халявное, то удержаться сил нет. Так и получился этот обзор.


Товар пришел в обычной картонной коробке, перемотанной скотчем. Внутри «пупырка», аккуратные коробочки - придраться не к чему. В этот раз, почта коробку явно пощадила. Декларация заполнена корректно, и у таможни вопросов не возникло.

Групповая упаковка


Пусть размеры коробки вас не удивляют - там еще товар был. Но его обзор позже)))
Само реле упаковано в картонную коробочку, размером 90х42х26 мм. Вес брутто - 52граммов, нетто - 47 граммов. Размер самого устройства 88х39х24 мм.

Товар, как есть


На упаковке полно всякой информации на английском и (видимо) китайском.


Внутри, кроме реле и четырех саморезов в пакетике, ни чего нет. Судя по ссылке на коробке, магазин есть на taobao. Проверил - таки он там есть.
Реле собрано в пластмассовой коробочке белого цвета. Производитель утверждает, что корпус из ABS-пластика. Корпус не хлипкий и практически не пахнет. Из органов управления и контроля на нем кнопка, не выступающая над поверхностью и светодиод. Под крышками, с торцов, спрятаны клеммы подключения.
Кнопка (в инструкции она называется «SET», но на реле ни как не подписана), служит для переключения реле в режим сопряжения, отключения этого режима. В рабочем состоянии, когда устройство сопряжено, она выполняет функцию включения/выключения нагрузки. Нажатие, при этом, должно быть кратковременным.
Конкретно не хватает обозначения фазы и нуля на корпусе, учитывая тот факт, что реле размыкает только один проводник.

Например так.


Внутренности

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


Немного криво припаян трансформатор и разъем, если кому-то это важно.


Защита по питанию реализована на варисторе 10D471K на 300 вольт, совместно с резистором. Не знаю, насколько это надежно, но я бы предпочел обычный предохранитель.
Импульсный блок питания на транзисторе 3020 и микросхеме, которую я не опознал. Выходное напряжение блока питания, через стабилизатор 1117 на 3,3 вольта, питает ESP8266EX. Микросхема памяти - 25Q80DVSIG.
Реле прячется под наклейкой, на которой присутствует название устройства (у меня это 100000af92). Под этим именем устройство будет опознаваться программой на смартфоне.


Реле на 10A 250 V AC. Напряжение срабатывания 5V. Имеет только одну группу нормально разомкнутых контактов.
Десять включений утюга (2000 Вт) как нагрузки, выдержало без проблем. Больше решил не мучить ни утюг, ни реле))


Потребляемый ток (видео)

Потребляемый ток: 5-7 мА в режиме коммутации и в режиме поиска WiFi. В режиме ожидания, с выключенным реле - мой прибор тока не зафиксировал. Понятно, что он есть, но мизерный.
Трансформатор питания через два часа с включенным реле, еле теплый.



Учитывая полную законченность конструкции, и отсутствие встроенных возможностей для расширения функционала, я закончу описание внутренностей. Предполагается, что реле покупается, интегрируется в систему управления чем-либо и управляется программой на смартфоне. Вариантов перепрошивки производитель не предлагает. Догадываюсь, что могут найтись умельцы (в хорошем смысле слова), которые смогут использовать мощь ESP более полно, чем управление одной релюшкой. Но мне кажется, применительно к описываемой конструкции, это будет извращение.
Учитывая более широкие (мягко говоря) возможности ESP, производитель вполне может расширить линейку реле, с возможностью коммутации более чем одной нагрузки и т.п.

Перейдем к программе для смартфона.
Программа предлагается бесплатно и не содержит рекламы. Текущая версия 2.1.10
Оценка в GooglePlay говорит сама за себя. На мой взгляд, некоторые вещи можно было бы сделать понятнее. Особенно для русскоязычных пользователей)) А всё потому, что сопряжение реле с программой не обходится без «танцев с бубном». Я не «яблоколюб», поэтому

приложение для Android

Итак. Скачиваем программу. Устанавливаем. На главной странице вводим свой префикс сотовой сети (зачем?) без номера телефона. Может быть какое-то взаимодействие с номером телефона планируется в дальнейшем? Затем вводим e-mail, на который придет код. Пароль оставляем пустым и жмем Register.
Вам на почту придет код. Его нужно ввести в верхнюю строку и дважды ввести придуманный пароль (не менее 8 символов). Жмете Next и вы зарегистрированы. Логином для входа является ваш e-mail. Итак, вы на страничке, на которой нет зарегистрированных устройств.


Теперь нужно включить устройство в сеть, подождать, пока светодиод на нем начнет мигать медленно и нажать на кнопку на лицевой части реле. Когда светодиод замигает быстро, отпускаем кнопку и в приложении на смартфоне жмем на значок лупы. Будет предложен небольшой тест на наблюдательность. Определите, как мигает светодиод на реле и выберите соответствующее мигание в программе)) В моем случае, подошел первый вариант.
Жмете Next и попадаете на страничку конфигурации WiFi сети. Если смартфон тоже подключен к WiFi, то SSID текущей сети будет уже введен, останется только пароль ввести. Если смарт в мобильной сети - то SSID придется вводить вручную. А вот тут начинаются те самые «танцы с бубном».
Реле находится быстро, но поиск не прекращается, и через несколько минут получаем грустный смайлик, с сообщением, что устройства не найдены.


А суть в следующем. Смарт видит реле как точку доступа. Естественно, пытается к ней подключиться, даже если уже подключен к домашней сети, потому что реле находится (в момент настройки, как в моем случае) близко и его сигнал очень сильный. Вот смарт и «умничает». Поэтому, в момент, когда реле обнаружено, выходим из программы eWelink (не закрывая ее). Заходим в управление WiFi на смарте и на имеющийся там вопрос о том, стоит ли подключаться к точке доступа (с названием реле) отвечаем отрицательно. Возвращаемся в eWelink и видим приглашение ввести имя нового устройства. А затем довольный смайлик - соединение удалось.


Надпись на кнопке, с состоянием «Device offline» чуть позже изменится на правильную. Вообще, эта надпись часто живет своей жизнью. Например при «Device offline» реле часто управляется нормально. Такое часто бывает, когда смарт не в WiFi, а в мобильной сети и было длительное бездействие.
Кнопка, кроме такого «технического» вида, имеет и «пафосный». Для этого нужно один раз промахнуться мимо нее и нажать правее, на поле с названием кнопки. Получим кнопку на весь экран.
Только двое: вы и кнопка.


Кнопка не разговаривает, она только меняет цвет. Нажмите ее, и она станет… Прямо как в мультике из детства. Хотя нет, «разговаривает». По умолчанию, кнопка отвечает на любое нажатие «бурчанием» вибры смартфона. Эту «фичу» можно отключить.
Странно, но приложение не выводит уведомлений на экран смартфона. Нет и значка приложения в строке состояния.
Из того, на что следует обратить внимание, есть таймер. Доступен по соответствующей иконке в кнопке. По таймеру можно включить или выключить реле в соответствующее время. Причем можно задать повторение по дням недели или сделать эту акцию одноразовой.
Время можно задать как явно, в часах и минутах, так и в виде интервала «через сколько минут».
Хорошая фишка в том, что таймеров, для одной кнопки, можно задать несколько. С разными действиями и т.п. То есть сделать вполне себе приличное расписание работы какого-либо устройства. Но таймеры, после сохранения, не выполняются без смартфона. То есть, расписание таймеров не передается в реле. И если смартфон в момент, когда по таймеру должно совершиться действие, окажется вне сети, это действие не совершится.
Исправлено потому, что все-таки, расписание хранится в памяти реле и выполняется, даже если смартфон не в сети. При этом, естественно, цвет кнопки в приложении не отражает действительного статуса реле.


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


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


Есть еще одна кнопка на главном экране (отмечена стрелкой). Она включает камеру, причем без возможности настроек. Сделать фото, в таком режиме, не получается. Для чего это реализовано - не ясно. Возможно, задел на будущее.
Светодиод.
Моргает часто при включении питания, инициализации и сопряжении со смартфоном. Моргает редко, при найденной сети WiFi. Горит постоянно при соединении со «своей» сетью. Статус реле (вкл/выкл) ни как не обозначает.
Приложение не выводит ни каких иконок в статус-бар и не выдает оповещений.
Из замеченных особенностей. Есть задержка в несколько секунд при выполнении команды по кнопке, если смарт не в той же WiFi сети, а в мобильном интернете и с момента последней команды прошло несколько минут. Видимо отваливается связь с сервером.


Видео работы



Обновление приложения

С обновлением приложения пока не всё хорошо. На видео видно, что приложение предлагает обновиться. При этом, если нажать на «Click to upgrade», то приложение отказывается обновляться автоматически. Но и через Google Play просто так не обновитесь. Автообновление недоступно. Google play считает, что у меня установлена свежая версия.


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


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

А оно нам надо?
На Mysku есть описания простых конструкций реле на ESP. Стоимость их получается ниже.
Думаю, ESP8266-01 + блок питания + реле + корпус вполне можно уложить в бюджет до $3. И какое-нибудь бесплатное приложение вам в помощь. Принципы работы те же. В некоторых приложениях дизайн кнопок можно настроить под себя. Ощутимая экономия видна невооруженным глазом. С другой стороны, не у всех получается подружиться с ESP. Не всем хочется открывать дома кружок программирования, особенно, если это не является работой/хобби/и т.п. Так что данное устройство вполне может оказаться жизнеспособно. А если на него еще и снизится цена, или в эту же цену будут добавлены какие-либо функции, то…

Товар дошел быстро. 13 дней от момента отправки почтой Гонконга. Не знаю, как он будет приходить в каждом конкретном случае, но в моем была явная заинтересованность отправителя в быстрой доставке. Так что информация о скорости доставки может и не быть вам полезной.
Девушка, с которой я общался через почту и translate.google оставила приятное впечатление. Видимо, покорил ее своим английским))

Заключение.
Недочеты в данном устройстве.
- не указан MAC-адрес на корпусе. У многих может быть установлен контроль доступа по MAC-адресам в домашней сети. Понятно, что это не препятствие, но всё же. Речь ведь идет о готовом устройстве, и его интеграция должна быть максимально проста: подключил и пользуйся.
- сетевое название устройства хорошо бы писать на корпусе, а не внутри.
- обозначить фазу и нуль на клеммах. Или ставить реле, размыкающее оба проводника.
- минимальная инструкция в бумажном варианте не помешала бы. Хотя бы с описанием режимов мигания светодиода.
- QR-коды на коробке со ссылкой на App Store и Google Play.

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

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