- WeMos D1 Wi-Fi UNO (ESP8266 ESP-12E)
- Характеристика платы Wemos D1 Wi-Fi UNO (ESP-12E)
- Назначение выводов на плате Wemos D1 Wi-Fi UNO (ESP-12E)
- Использование Wemos D1 Wi-Fi UNO (ESP-12E) с Arduino IDE
- Магазины и цены
- Дружимся с ESP
- Настройка среды программирования Arduino IDE
- Код прошивки
- Модули на базе ESP8266
- 1. ESP-01
- Внешний вид
- Питание
- Подключение периферии
- Распиновка
- Подключение к IoT
- Аппаратная часть
- WeMos D1 R2 – WiFi контроллер на базе ESP-12E
- WeMos D1 R2 — WiFi контроллер на базе ESP-12E
- Основные достоинства
- WeMos D1 R3 – WiFi контроллер на базе ESP-12F
- WeMos D1 R3 — WiFi контроллер на базе ESP-12F для Arduino
- Основные достоинства
WeMos D1 Wi-Fi UNO (ESP8266 ESP-12E)
Arduino IDE совместимый контроллер с Wi-Fi WeMos D1 на ESP8266 ESP-12E.
Характеристика платы Wemos D1 Wi-Fi UNO (ESP-12E)
Плата Blue Sky Smart Electronics ESP-12E WeMos D1 – это клон известной Arduino-подобной платы WeMos D1.
- Поддержка Arduino IDE
- Микроконтроллер ESP-8266EX
- Частота микроконтроллера 80MHz/160MHz
- Flash память 4 МБ
- 11 цифровых входов/выходов. Все выводы поддерживают interrupt/pwm/I2C/one-wire (за исключением D0)
- 1 аналоговый вход (максимальное входное напряжение 3,3 В)
- Micro USB разъем
- Разъем питания (9-24 В)
- Программирование через Serial или OTA (беспроводная загрузка программного кода по Wi-Fi)
- Наличие WI-FI модуля
Плата построена на основе Wi-Fi модуля ESP-12E, одной из последних модификаций модулей ESP8266, различающихся количеством выводов и вариантами исполнения. Это не просто WI-FI модуль, а полноценный 32 битный микроконтроллер ESP-8266EX со своим набором GPIO, в том числе SPI, UART, I2C. При этом схема модуля состоит из минимального количества деталей: самого чипа ESP8266, флеш-памяти, кварцевого резонатора. Более подробно о характеристиках модуля ESP-12E можно узнать по ссылке ниже:
Частота | Wi-Fi 2412-2484 МГц |
Стандарт | 802.11 b / g / n |
Мощность | + 20 дБм |
Поддерживаемы типы шифрования | WEP, WPA, WPA2 |
Поддерживаемые режимы работы | Клиент(STA), Точка доступа(AP), Клиент+Точка доступа(STA+AP) |
Напряжение питания | 1.7..3.6 В |
Потребление тока | 70 мА (240 мА пик) |
Количество GPIO | 11 |
Внешняя Flash память | 4 МБ |
RAM данных | 80 КБ |
RAM инструкций | 32 КБ |
Температурный режим | -40°/+70° C |
Назначение выводов на плате Wemos D1 Wi-Fi UNO (ESP-12E)
Использование Wemos D1 Wi-Fi UNO (ESP-12E) с Arduino IDE
Магазины и цены
Товар в магазине | Количество штук в комплекте | Стоимость | Расчетная стоимость за 1 шт. |
---|---|---|---|
WeMos D1 Wi-Fi UNO (ESP8266 ESP-12E) на AliExpress | 1 | 210.68 руб. / 3.29 USD (на 15 июня 2018) | 210.68 руб. / 3.29 USD |
WeMos D1 Wi-Fi UNO (ESP8266 ESP-12E) на AliExpress | 1 | 218.36 руб. / 3.41 USD (на 15 июня 2018) | 218.36 руб. / 3.41 USD |
WeMos D1 Wi-Fi UNO (ESP8266 ESP-12E) на AliExpress | 1 | 222.85 руб. / 3.48 USD (на 15 июня 2018) | 222.85 руб. / 3.48 USD |
WeMos D1 Wi-Fi UNO (ESP8266 ESP-12E) на AliExpress | 1 | 229.89 руб. / 3.59 USD (на 15 июня 2018) | 229.89 руб. / 3.59 USD |
WeMos D1 Wi-Fi UNO (ESP8266 ESP-12E) на AliExpress | 1 | 233.73 руб. / 3.65 USD (на 15 июня 2018) | 233.73 руб. / 3.65 USD |
На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.
Дружимся с ESP
Последние пару лет практически все прототипирование несложных IoT-устройств я делаю на NodeMCU, хотя зачастую она и великовата по размеру, и дороговата, и избыточна по функционалу. А все потому, что имела неудачный опыт с ESP-01, которая совершенно не поддавалась прошивке. Сейчас пришло время преодолеть этот барьер и освоить другие железки, от которых мне нужно следующее — Wi-Fi и пины для подключения периферии.
В этой статье разберем подключение к платформе Интернета вещей наиболее популярных плат с интерфейсом Wi-Fi. Их можно использовать, чтобы управлять своим устройством дистанционно или чтобы снимать показания с сенсоров через интернет.
Несколько представленных в статье модулей (ESP-01, ESP-07, ESP-12E, ESP-12F) и плат (Goouuu Mini-S1, WeMos D1 mini и NodeMCU V2) базируются на контроллере ESP8266, использование которого позволяет простым и дешевым способом добавить в своё устройство беспроводную связь через Wi-Fi.
Так выглядит модельный ряд модулей на базе чипа ESP8266.
Последняя плата из тех, о которых я расскажу (ESP32 WROOM DevKit v1), построена на контроллере семейства ESP32 — более продвинутой по своим возможностям версии ESP8266.
Все представленные модели можно программировать и загружать прошивки через Arduino IDE точно так же, как при работе с Arduino.
Настройка среды программирования Arduino IDE
По умолчанию среда IDE настроена только на AVR-платы. Для платформ, представленных ниже, необходимо добавить в менеджере плат дополнительную поддержку.
1) Открываем среду программирования Arduino IDE.
http://arduino.esp8266.com/stable/package_esp8266com_index.json, https://dl.espressif.com/dl/package_esp32_index.json
4) В пункте меню Tools (Инструменты) -> Board (Плата) выбираем Boards manager (Менеджер плат).
Находим в списке платформы на ESP8266 и нажимаем на кнопку Install (Установить).
6) Надпись INSTALLED сообщает, что дополнения успешно установлены.
7) Аналогичным образом устанавливаем дополнение для ESP32.
8) Теперь нам доступны к программированию платформы с модулем ESP8266 и ESP32.
9) Для подключения плат к платформе Интернета вещей используем библиотеку EspMQTTClient. Чтобы ее установить, в пункте меню Tools (Инструменты) выбираем Manage Libraries (Управлять библиотеками). Находим и устанавливаем библиотеку EspMQTTClient. Может появиться сообщение об установке дополнительных библиотек. Выбираем “Install all”.
Примечание — Также для работы с платами понадобится установить драйверы CH340 (WeMos и Goouuu) и CP2102 (для остальных). Их отсутствие повлияет на то, найдет ли Arduino IDE COM-порт, к которому подключена плата.
Код прошивки
Для прошивки всех используемых ниже модулей используем один и тот же код.
- Установка Wi-Fi соединения
- Подключение к объекту на платформе Rightech IoT Cloud по протоколу MQTT
- Отправка рандомных значений по температуре («base/state/temperature») и влажности («base/state/humidity») каждые 5 секунд (PUB_DELAY)
- Получение сообщений о переключении света («base/relay/led1»)
#include "Arduino.h" #include "EspMQTTClient.h" /* https://github.com/plapointe6/EspMQTTClient */ /* https://github.com/knolleary/pubsubclient */ #define PUB_DELAY (5 * 1000) /* 5 seconds */ EspMQTTClient client( "", "", "dev.rightech.io", "" ); void setup() < Serial.begin(9600); >void onConnectionEstablished() < client.subscribe("base/relay/led1", [] (const String &payload) < Serial.println(payload); >); > long last = 0; void publishTemperature() < long now = millis(); if (client.isConnected() && (now - last >PUB_DELAY)) < client.publish("base/state/temperature", String(random(20, 30))); client.publish("base/state/humidity", String(random(40, 90))); last = now; >> void loop()
Работоспособность кода будем проверять на платформе Rightech IoT Cloud, именно поэтому в качестве адреса MQTT-брокера указан dev.rightech.io. Идентификаторами клиентов служат идентификаторы объектов, созданных на платформе. Под каждую проверку я завела на платформе отдельный объект, именно поэтому во всех скринах кодов, которые будут далее представлены, отличается только строка .
Прим. — Можно подключаться и к одному и тому же объекту, тогда можно использовать один и тот же код для прошивки всех плат без изменений, однако следите, чтобы в таком случае платы не подключались к одному и тому же объекту одновременно, иначе случится коллизия.
Модули на базе ESP8266
Для работы с модулями на базе ESP8266 есть два варианта:
- Работа с AT командами (в стандартной прошивке Wi-Fi модуль общается с управляющей платой через «AT-команды» по протоколу UART);
- Wi-Fi модуль как самостоятельный контроллер (все представленные модули очень умные: внутри чипа прячется целый микроконтроллер, который можно программировать на языке C++ через Arduino IDE).
В статье будем рассматривать второй вариант — прошивка модулей в виде самостоятельного полноценного устройства. Здесь также есть два варианта прошивки с точки зрения железа:
Рассмотрим второй вариант — использовать адаптер на базе чипа CP2102 (например, такой https://www.chipdip.ru/product/cp2102-usb-uart-board-type-a?frommarket=https%3A%2F%2Fmarket.yandex.ru%2Fsearch%3Frs%3DeJwzSvKS4xKzLI&ymclid=16146772489486451735000001). Обязательно обратите внимание на то, чтобы адаптер позволял выдавать выходное напряжение 3.3 В, не больше!
1. ESP-01
ESP-01 — самый популярный модуль на ESP8266. PCB антенна обеспечивает дальность до 400 м на открытом пространстве.
Внешний вид
Питание
Родное напряжение модуля — 3,3 В. Его пины не толерантны к 5 В. Если вы подадите напряжение выше, чем 3,3 В на пин питания, коммуникации или ввода-вывода, модуль выйдет из строя.
Подключение периферии
2 порта ввода-вывода общего назначения
Распиновка
Подключение к IoT
Аппаратная часть
WeMos D1 R2 – WiFi контроллер на базе ESP-12E
WeMos D1 R2 – это ESP8266 в удобном формате Arduino UNO. Благодаря этому с ним можно применять некоторые шилды, предназначенные для UNO.
Москва и МО: Самовывоз
Курьерская доставка
Россия и СНГ: СДЭК
Почта РФ / Достависта
Купить WeMos D1 R2 — WiFi контроллер на базе ESP-12E в Москве или с доставкой по России и СНГ очень просто — до покупки осталось всего 3 клика!
- Добавьте товар в корзину
- Оформите заказ, выбрав наиболее удобный способ доставки и оплаты
- Дождитесь подтверждения от менеджеров или позвоните самостоятельно
- Оплатите заказ удобным способом и получите его в ближайшее время
WeMos D1 R2 — WiFi контроллер на базе ESP-12E
Микроконтроллер ESP8266 (ESP-12E) гораздо мощнее ATmega328, применяемого в Arduino UNO, и содержит встроенный Wi-Fi модуль. ATmega328 выигрывает лишь в количестве выводов: у ESP8266 11 цифровых и 1 аналоговый против 14 цифровых и 6 аналоговых. Но при этом все пины ESP8266 (исключая D0) поддерживают ШИМ, прерывания, I2C.
Выводы этого микроконтроллера расположены таким образом, чтобы оставалась возможность использовать платы расширения Arduino.
На плате присутствует стабилизатор напряжения на 3,3 В, так что проблем с питанием не возникнет. Подать питание можно через разъем micro USB типа B (5 В), пины на колодке типа «мама» (3.3 В) либо jack 5,5 x 2,1 мм (9-24 В).
Также в плату встроен USB-UART преобразователь CH340 для прошивки модуля. Но загрузить прошивку можно не только через последовательный порт, WeMos D1 R2 также поддерживает беспроводное обновление, что очень удобно для встраиваемых систем.
Основные достоинства
- Мощный 32-битный микроконтроллер
- Совместимость с шилдами Arduino UNO
- Встроенный Wi-Fi
- USB-UART конвертер
WeMos D1 R3 – WiFi контроллер на базе ESP-12F
С помощью Wemos D1 R3 использовать ESP8266 очень просто. Этот модуль содержит всю необходимую обвязку, обладает компактными размерами и удобен в использовании.
Москва и МО: Самовывоз
Курьерская доставка
Россия и СНГ: СДЭК
Почта РФ / Достависта
Купить WeMos D1 R3 — WiFi контроллер на базе ESP-12F в Москве или с доставкой по России и СНГ очень просто — до покупки осталось всего 3 клика!
- Добавьте товар в корзину
- Оформите заказ, выбрав наиболее удобный способ доставки и оплаты
- Дождитесь подтверждения от менеджеров или позвоните самостоятельно
- Оплатите заказ удобным способом и получите его в ближайшее время
WeMos D1 R3 — WiFi контроллер на базе ESP-12F для Arduino
На плату установлен микроконтроллер ESP-12F серии ESP8266. Он имеет высокую тактовую частоту, большой объём памяти, 32-битную архитектуру, поддержку интерфейсов UART, I2C, I2S, SPI. Он совместим с Arduino, и превосходит по мощности большинство плат Arduino.
Кроме этого, весомым аргументом в пользу выбора Wemos D1 R3 станет встроенный в ESP8266 Wi-FI модуль, умеющий работать как в режиме точки доступа, так и клиента. Ещё он предоставляет возможность беспроводного обновления (OTA).
На плате разведены 26 выводов микроконтроллера. Некоторые из них дублируют друг друга. Также на ней присутствует разъём UART, состоящий из 5 контактов.
Основные достоинства
- Мощный микроконтроллер
- Встроенный Wi-FI
- Компактность
- Низкая стоимость