Начнем сначала.
Чип ESP 8266
Чип ESP8266 разработан специально для «интернета вещей». Существует два варианта использования этого чипа. Первый - в качестве моста UART-WIFI для подключения к микроконтроллеру и управления АТ-командами. Второй вариант - чип сам исполняет роль управляющего контроллера. По моим оценкам в среде любителей электроники чип чаще используется как управляющий контроллер.
Возможности чипа:
Чип является высокоинтегрированным решением для работы с WiFi. Внутри чипа удалось разместить все, что нужно. Типовая минимально необходимая для работы обвязка микросхемы состоит всего из семи элементов.
Фотографии для сравнения количества компонентов аналогичных решений.
По одним данным всей этой прелестью управляет 32-разрядное процессорное ядро Xtensa LX106, по другим данным - Tensilica’s L106 Diamond. Под микроскопом выглядит чип как целый город из связанных элементов.
Одной из самых важных характеристик является энергопотребление. У ESP8266 оно просто поражает:
Время необходимое на пробуждение и начало передачи пакета менее 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
После компиляции и загрузки программы в монитор последовательного порта программа сообщит о состоянии подключения и IP адрес, который платформа получит от точки доступа.
Для управления блоком реле для этих двух программ было создано приложение на мобильный с ОС Android. Приложение очень простое, создавалось в App Inventor 2. Процесс создания приложения я опишу позже. Сначала третий вариант решения управления реле.
Третий вариант комплексный. Прошивка платформы и программа для Android от одного разработчика. Я использовал сервис Blynk. Он представляет собой облачный сервис для создания графических пультов управления и подходит для широкого спектра микрокомпьютеров и микроконтроллеров.
Для создания собственного проекта с управлением через Blynk нужно совсем немного: установить приложение (доступны версии для iOS и Android) или воспользоваться веб-формой. Тут потребуется регистрация в один шаг — ввод e-mail и пароля. Дело в том, что Blynk — облачное решение, и без регистрации контроль над железкой может получить любой пользователь.
Желающие могут установить сервер локально . В таком случае доступ в интернет не нужен.
Опишу сам процесс. Он состоит из двух частей.
Первая часть. Скачиваете Blynk с Google Play. Устанавливаете и запускаете программу
Вторая часть - это прошивка 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». Здесь в виде блоков задается вся «программная» часть приложения.
Здесь из блоков составляется алгоритм работы программы. Основная часть алгоритма есть на скрине. Опишу, что здесь происходит.
Остальные кнопки действуют аналогично, меняя в запросе номера пинов и необходимое состояние.
После того, как все проверено и работает, нажимаете 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).
И на старуху...
И на старуху бывает проруха, а уж на старика, и подавно. Когда тебе пишут и предлагают на обзор что-то интересное халявное, то удержаться сил нет. Так и получился этот обзор.
Групповая упаковка
Товар, как есть
На упаковке полно всякой информации на английском и (видимо) китайском.
Например так.
Внутренности
Корпус не склеен, разбирается при помощи ногтя. Плата внутри не привинчена, но и не болтается. Просто плотно сидит. Пайка качественная, следов флюса почти нет. Силовые проводники пропаяны.
Немного криво припаян трансформатор и разъем, если кому-то это важно.
Защита по питанию реализована на варисторе 10D471K на 300 вольт, совместно с резистором. Не знаю, насколько это надежно, но я бы предпочел обычный предохранитель.
Импульсный блок питания на транзисторе 3020 и микросхеме, которую я не опознал. Выходное напряжение блока питания, через стабилизатор 1117 на 3,3 вольта, питает ESP8266EX. Микросхема памяти - 25Q80DVSIG.
Реле прячется под наклейкой, на которой присутствует название устройства (у меня это 100000af92). Под этим именем устройство будет опознаваться программой на смартфоне.
Реле на 10A 250 V AC. Напряжение срабатывания 5V. Имеет только одну группу нормально разомкнутых контактов.
Десять включений утюга (2000 Вт) как нагрузки, выдержало без проблем. Больше решил не мучить ни утюг, ни реле))
Потребляемый ток (видео)
Потребляемый ток: 5-7 мА в режиме коммутации и в режиме поиска WiFi. В режиме ожидания, с выключенным реле - мой прибор тока не зафиксировал. Понятно, что он есть, но мизерный.
Трансформатор питания через два часа с включенным реле, еле теплый.
Перейдем к программе для смартфона.
Программа предлагается бесплатно и не содержит рекламы. Текущая версия 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 в этой же сети.
Коммутируемая
Мощность
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. Далее, следуя инструкции, подключить реле и можно пользоваться.
Доброго времени суток, уважаемый читатель.
Немного лирики в начале. Идея «умного» выключателя света совсем не нова и, наверное, это первое, что приходит в голову тем, кто начал знакомство с платформой Arduino и элементами IoT. И я этому не исключение. Поэкспеременировав с элементами цепей, моторчиками и светодиодами хочется сделать нечто более прикладное, что востребовано в повседневной жизни и, самое главное, будет удобно в использовании, а не останется жертвой эксперимента в неугоду комфорту.
В этой статье я расскажу, как я сделал выключатель, который будет работать как обычный (т.е. что обычно закреплен на стене) и в то же время позволит управлять им через WiFi (или через Интернет, как это сделано в данном случае).
Итак, составим список того, что понадобится для осуществления задуманного. Сразу скажу, я намеревался не тратиться сильно на комплектующие и выбирал компоненты по отзывом на форумах и соотношению цены к качеству. Поэтому некоторые компоненты возможно покажутся тут неуместными для опытных электролюбителей, но прошу не судить строго, т.к. я только новичек в электромеханике и буду очень признателен за комментарии более опытных специалистов.
Так же мне понадобились: сервер, с помощью которого выключатель будет управляться через Интернет, Arduino Uno, с помощью которого я программировал ESP, роутер и расходные материалы как провода, клеммы и т.д., всё это может варироваться от вкусов и никак не повлияет на конечный результат.
Цены взяты из Ebay, где я их и покупал.
А вот как выглядят элементы из таблицы:
Теперь можно составить и схему подключения:
Как вы наверное заметили, схема очень простая. Все собиратся легко, быстро и без пайки. Эдакий рабочий прототип, с которым не нужно долго возиться. Всё связано проводами и клеммами. Единственный минус это то, что реле не влезло в гнездо выключателя. Да, изначально я планировал запихнуть всё это в стену за выключателем, чтобы смотрелось эстетично. Но к моему сожалению места в гнезде оказалось мало и реле просто напросто не влезло ни вдоль, ни поперек:
Поэтому временно я вынес реле за гнездо, до тех пор пока не найду подходящую коробку выключателя с розеткой чтобы спрятать железо внутрь. Но нет ничего более постоянного, чем временное, не правда ли? Поэтому все это выглядит сейчас вот так:
Изолента спасёт от удара током… надеюсь.
А теперь поговорим о програмной части.
И прежде чем приступать к разбору кода и деталей, я приведу общую схему реализации управления лампочкой.
Надеюсь, я когда нибудь все перепишу и связь будет основана на более быстром протоколе нежели HTTP, но для начала сойдет. Удаленно лампочка меняет свое состояние приблизительно за 1-1.5 секунды, а с выключателя моментально, как и подобает порядочному выключателю.
Далее нам нужно подключить 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:
А вот и сама программа для ESP:
Показать код
#include
Я использовал для этих целей Yii . Я выбрал этот фреймворк по нескольким причинам, мне нужна была авторазация (т.к. портал доступен в Интернете) и управление ролями (для будущих экспериментов), а еще он мне просто нравится. И теперь мой портал управления выглядит так:
Для управления лампочкой в зоне досегаемости сети, хватило бы и самого сервера на ESP. Но хочется ведь иметь логи, логику и другие устройства в будущем, поэтому лушче все же использовать отдельный серер для управления.
Это всё что касается портала, думаю нет смысла писать о нем больше, но если возникнут вопросы, то с радостью отвечу на них в комментариях.
А так же смотрите MP3509 - новое WiFi реле с большими возможностями!
MP3509.
Нет в наличии
Сообщить
о поступлении на склад
В избранноеМодуль снят с производства. Используйте функциональную замену MP3509.
Wi-Fi реле предназначено для управления электрическими приборами через WiFi-соединение в домашней или корпоративной сети. Может с успехом применяться в проектах категории "Интернет вещей" или "Управляемый дом". Реле позволяет дистанционно, с помощью бесплатного мобильного приложения для Андроид, включить или выключить два ваших электроприбора. А если ваш интернет-провайдер обеспечивают возможность доступа к домашней сети извне (статический IP-адрес), то у вас появляется возможность управлять электроприборами через Интернет. Вы можете встраивать управление нашим WiFi реле свои собственные приложения и программы, поскольку система команд открыта и проста в использовании.
Модуль создает вокруг себя Wi-Fi сеть, либо подключается к существующей. Зная IP адрес модуля в этой сети вы можете управлять им. Для удобства и наглядности управления предлагается бесплатная программа для Андроид-устройств. Так же вам доступна система АТ-команд, зная которые вы можете получить доступ к управлению модулем из своих собственных приложений, на любой платформе, поддерживающей протокол UDP (порт 7777). С помощью специальной утилиты HERCULES от компании HWgroup www.HW-group.com вы можете изучить на уровне протокола процесс управления и обмена данными с модулем (закладка СКАЧАТЬ)
В терминале набирать именно так:
!SetR0_1
Ответ: !LEDOFF1
!SetR1_1
Ответ: !LEDON1
!SetR0_2
Ответ: !LEDOFF2
!SetR1_2
Ответ: !LEDON2
!GetAll
!StartPulseR1,N
!StartPulseR2,N
Ответ: !Ok
После включения питания реле находятся во включенном состоянии. Для правильной работы этой команды реле должно быть предварительно выключено, тогда команда отработает корректно - реле включится на заданное число секунд. Если реле изначально включено, то после отработки заданного интервала времени реле будет в любом случае выключено.
!GetAll
Ответ (4 строки):
LEDOFF1 Состояние Реле 1
LEDOFF2 Состояние Реле 2
COUNT50 Время включенного состояния Реле 1, в минутах
COUNT139 Время включенного состояния Реле 2, в минутах
!GetIP
Ответ: !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
1. Подайте питание на плату и через 1 сек. замкнуть контакты "Вход в настройки", например, пинцетом. См. закладку Схемы
2. Синий светодиод модуля WiFi начнет коротко мигать с частотой 1Гц. Выдержите паузу примерно в 5 вспышек светодиода.
3. Разомкните контакты
4. Вы вошли в режим НАСТРОЕК.
5. Подключитесь к сети модуля и откройте программу Конфигуратор
Подробнее в Инструкция по настройкам модуля МР3500 для работы в локальном и сетевом режимах V 1.5
закладка Скачать
Принципиальная схема
Принципиальная схема источника питания