WiFi реле Sonoff world on - обзор устройств и примеры использования. Умный WiFi выключатель света Силовое реле с управлением по wifi

WiFi реле Sonoff world on - обзор устройств и примеры использования. Умный WiFi выключатель света Силовое реле с управлением по wifi

Коммутируемая
Мощность
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. Далее, следуя инструкции, подключить реле и можно пользоваться.

Дистанционно-управляемое 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 в этой же сети.

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

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

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

Итак, основные возможности модуля:
1. Управления по Wi-Fi;
2. Возможность подключения датчиков температуры(1Wire);
3. Возможность подключения датчиков или графических дисплеев по I2C;
4. Возможность управлять RGB светодиодом на 10W;
5. 2 цифровых входа/выхода и 6 аналоговых входом которыми также можно управлять по Wi-Fi.

Итак, поехали!

В общем функциональная схема выглядит так:

Wi-Fi
В качестве Wi-Fi модуля бил выбран ESP-07 по причинам низкой цени и наличия на плате керамической антенны:

Схема подключения стандартная:

Для программирования модуля необходимо будет замкнуть CN14. Также была найдена библиотека для Arduino IDE github.com/esp8266/arduino .

LED Драйвер
LED драйвер бил собран на микросхеме PT4115, она обеспечивает входной ток до 1.2A, а также управления яркостью светодиода при помощи ШИМ сигнала. Так как у мене уже есть RGB светодиод на 10W то на каждый канал стоит ограничения по току в 0.3A, R9-11 =0.33Ом. В общем случае токоограничивающий резистор множа рассчитать по формуле Rs = 0.1 / Iout (A):

Реле модуль
Схема управления реализована через сдвигающий регистр 74HC595, это сделано для уменьшения ног МК, необходимых для управления реле.
Также каждое реле имеет светодиод, который показывает текущее состояние реле, то есть если светодиод горит, значить реле замыкает контакты 1 и 2, иначе замкнутыми будут контакты 2 и 3.

В будущем хотелось бы добавить датчик тока и напряжения ка каждый канал для мониторинга:

Микроконтроллер
В качестве МК используется Arduino NANO, в будущем она будет заменена на STMF10x по причине больших возможностей STM.

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

А так же смотрите MP3509 - новое WiFi реле с большими возможностями!

MP3509.

Нет в наличии

Сообщить

о поступлении на склад

В избранное

Модуль снят с производства. Используйте функциональную замену MP3509.

Wi-Fi реле предназначено для управления электрическими приборами через WiFi-соединение в домашней или корпоративной сети. Может с успехом применяться в проектах категории "Интернет вещей" или "Управляемый дом". Реле позволяет дистанционно, с помощью бесплатного мобильного приложения для Андроид, включить или выключить два ваших электроприбора. А если ваш интернет-провайдер обеспечивают возможность доступа к домашней сети извне (статический IP-адрес), то у вас появляется возможность управлять электроприборами через Интернет. Вы можете встраивать управление нашим WiFi реле свои собственные приложения и программы, поскольку система команд открыта и проста в использовании.

Технические характеристики

Особенности

  • В текущей версии модуля реализовано:
  • включить/выключить реле, 2 канала
  • включить реле на заданное количество секунд
  • счетчик моточасов - возможность получить информацию о суммарном времени включенного состояния каждого реле
  • настройка модуля с помощью программы для Windows или приложения для Андроид
  • возможность отключить точку доступа при работе в модуля в домашней сети
  • замена пароля по умолчанию для точки доступа модуля на собственный, уникальный
  • получение по запросу IP-адреса в сети и уникального номера модуля

Принцип работы

Модуль создает вокруг себя Wi-Fi сеть, либо подключается к существующей. Зная IP адрес модуля в этой сети вы можете управлять им. Для удобства и наглядности управления предлагается бесплатная программа для Андроид-устройств. Так же вам доступна система АТ-команд, зная которые вы можете получить доступ к управлению модулем из своих собственных приложений, на любой платформе, поддерживающей протокол UDP (порт 7777). С помощью специальной утилиты HERCULES от компании HWgroup www.HW-group.com вы можете изучить на уровне протокола процесс управления и обмена данными с модулем (закладка СКАЧАТЬ)

Режимы работы устройства

  • Точка доступа. Модуль создает вокруг себя собственную сеть, к которой можно подключиться при помощи смартфона, планшета, РС, ноутбука, Raspberry PI... и управлять модулем
  • В составе локальной сети. Модуль подключается к сети, созданной WiFi-роутером и доступен как стандартное сетевое устройство по IP адресу, присвоенному ему роутером
  • Комбинированный. Модуль одновременно работает как точка доступа и сетевое устройство

Дополнительная информация

АТ-команды модуля.

В терминале набирать именно так:

!SetR0_1 - выключить реле 1

Ответ: !LEDOFF1

!SetR1_1 - включить реле 1

Ответ: !LEDON1

!SetR0_2 - выключить реле 2

Ответ: !LEDOFF2

!SetR1_2 - включить реле 2

Ответ: !LEDON2

!GetAll - получить состояние реле 1 и реле 2.

Новое! Для версии 1.5 В продаже с 1.07.2015)

!StartPulseR1,N - включить реле 1 на N сек (N 1-400)

!StartPulseR2,N - включить реле 2 на N сек (N 1-400)

Ответ: !Ok

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

!GetAll - получить значения счетчиков времени работы реле и текущее состояние

Ответ (4 строки):

LEDOFF1 Состояние Реле 1

LEDOFF2 Состояние Реле 2

COUNT50 Время включенного состояния Реле 1, в минутах

COUNT139 Время включенного состояния Реле 2, в минутах

!GetIP - получить IP адрес в локальной сети, а также название и индекс платы (по последним цифрам) Этой командой можно находить устройства в сети. Версию прошивки можно узнать из названия сети, которую модуль создает вокруг себя:

Ответ: !IPADR,192.168.2.109,WIFI_2RELE V1.5_10539301

где WIFI_2RELE – корень названия, V1.5 – версия прошивки, 10539301 - номер модуля (ID)

Пояснения к тестовой программе АНДРОИД WIFI_2RELE V1.5

Скачать приложение, но сначала удаите старую версию.

1. Для установок введен родительский контроль что-бы случайно не сбить настройки: код 0000

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

Цифры над лампами показывают время работы в минутах. Показания вызываются

нажатием на значок "Часы".

3. Введен поиск локального адреса при работе в домашней сети

для поиска устройства можно набрать адрес 255.255.255.255 или маску вашей

4. Можно включать и выключать 2 реле

5. Если подключаемся к модулю как к точке доступа, то используется адрес 192.168.4.1

Описание входа в режим НАСТРОЕК и подключение к домашней или корпоративной WIFI-сети V1.5

1. Подайте питание на плату и через 1 сек. замкнуть контакты "Вход в настройки", например, пинцетом. См. закладку Схемы

2. Синий светодиод модуля WiFi начнет коротко мигать с частотой 1Гц. Выдержите паузу примерно в 5 вспышек светодиода.

3. Разомкните контакты

4. Вы вошли в режим НАСТРОЕК.

5. Подключитесь к сети модуля и откройте программу Конфигуратор

Подробнее в Инструкция по настройкам модуля МР3500 для работы в локальном и сетевом режимах V 1.5

закладка Скачать

Скачать Конфигуратор для Андроид V1.5

Статьи

Схемы

Принципиальная схема

Принципиальная схема источника питания

Техническое обслуживание

  • Вход в режим настроек приводит настройки модуля к заводским значениям. Восстанавливается пароль по умолчанию для точки доступа 180160180160. Этим можно пользоваться, если вы забыли сетевые настройки или поменяли роутер домашней сети.
  • После подачи питания реле находятся во включенном состоянии: воспользуйтесь НЗ контактами для управления нагрузкой
  • При отключении питания - состояние реле не сохраняется: рекомендуется питание на нагрузку и модуль осуществлять от одной фазы 220 В и через 1 автомат.

Вопросы и ответы

  • Идет ли в комплекте блок питания? Если нет, то какой самый простой способ питать плату?
    • Сергей, спасибо за интерес к нашим разработкам! Блок в комплект не входит. Можно использовать любой сетевой адаптер с выходным напряжением 12В и током не менее 0.5А. Такие могут остаться от старых беспроводных телефонов или другой электроники. Или можно приобрести дополнительно, например такой http://www.electronshik.ru/item/kit-pw1221brs-25-12-219073, там же можно заказать и модули Мастер Кит http://www.electronshik.ru/item/kit-mp3500-1910043 это позволит съэкономить на доставке
  • Добрый вечер. Подскажите пожалуйста, а управление данным реле через интернет с компьютера под Windows (с подключением реле к WI-Fi роутеру) возможно? И каков потребляемый ток данного реле?
    • Модуль потребляет ток порядка до 400мА. Возможность управления данным реле через Интернет зависит от вашего провайдера -нужен статический адрес и открытые порты. На роутере придется сделать некоторые настройки - т.н. проброс портов. У нас есть аналогичное реле, которое не так требовательно к интернету и работает через "облако" даже через мобильных операторов MP3506 http://сайт/shop/smarthome/smarthouse/1922598
  • Здравствуйте. Это готовое(собранное) устройство??, если нет то где купить собранное?? У него есть управление HTTP запросами?? Вида примерно - http:IP-адрес№релевкл-выкл
    • Да, это готовое устройство. Управляется собственными командами с передачей их по протоколу UDP. Подробнее на нашем сайте.
  • Здравствуйте. Я приобрел у Вас блок реле МР3500 но настроить его для работы в сети с помощью программы telnet_esp_lite не получается. Сеть WIFI он находит но вот нажимая на OPEN выдает сообщение server not responding. Операционная система Windows 8.1 пробовал на другом помпьютере под Windosw 10 но результат такой же. Помогите пожалуйста разобраться в чем дело.Делаю все по инстукции. т. 8-985-352-32-09 Виктор
    • Попробуйте идти пошагово.: 1. Установите приложение для Андроид и подключитесь к сети модуля. Адрес по умолчанию 192.168.4.1 2. С помощью конфигуратора подключите модуль к вашей сети. Проверьте - управляется ли модуль в этом случае. 3. Когда убедитесь что модуль подключен к сети и откликается на команды приложений - переходите к управлению терминальными программами типа Telnet
  • Добрый день. Мне нужно дистанционно (через Интернет) контролировать температуру на даче - просто на случай аварии отопления в зимнее время. Управлять ничем не нужно (просто иметь возможность смотреть показание одного термометра, т.е. переплачивать за возможность дистанционного управления я не хочу, т.к. в случае отключения отопления всё равно придётся туда ехать). Способ контроля не принципиален (можно на смартфоне, а можно и на PC, либо вообще через СМС пару раз в сутки). Можете ли вы посоветовать какое-то недорогое ваше (или, может быть, не ваше) устройство для этой цели?
    • Смотрите MP3509 или MA3401

Самое обсуждаемое
Не запускается Last Mage Standing? Не запускается Last Mage Standing?
Первое впечатление о танках Первое впечатление о танках
Настройка управления в Droid4X Видеоролик с демонстрацией геймплея Настройка управления в Droid4X Видеоролик с демонстрацией геймплея


top