Здравствуйте, коллеги и энтузиасты!
Последние пару лет практически все прототипирование несложных IoT-устройств я делаю на NodeMCU, хотя зачастую она и великовата по размеру, и дороговата, и избыточна по функционалу. А все потому, что имела неудачный опыт с ESP-01, которая совершенно не поддавалась прошивке. Сейчас пришло время преодолеть этот барьер и освоить другие железки, от которых мне нужно следующее - Wi-Fi и пины для подключения периферии.
В этой статье разберем подключение к платформе Интернета вещей наиболее популярных плат с интерфейсом Wi-Fi. Их можно использовать, чтобы управлять своим устройством дистанционно или чтобы снимать показания с сенсоров через интернет.
![](https://habrastorage.org/getpro/habr/upload_files/42e/80a/7c1/42e80a7c18e1cdda13850267370f133c.png)
Несколько представленных в статье модулей (ESP-01, ESP-07, ESP-12E, ESP-12F) и плат (Goouuu Mini-S1, WeMos D1 mini и NodeMCU V2) базируются на контроллере ESP8266, использование которого позволяет простым и дешевым способом добавить в своё устройство беспроводную связь через Wi-Fi.
Так выглядит модельный ряд модулей на базе чипа ESP8266.
![](https://habrastorage.org/getpro/habr/upload_files/744/8a2/299/7448a229913087af27bb742e976946ef.jpg)
Последняя плата из тех, о которых я расскажу (ESP32 WROOM DevKit v1), построена на контроллере семейства ESP32 - более продвинутой по своим возможностям версии ESP8266.
Все представленные модели можно программировать и загружать прошивки через Arduino IDE точно так же, как при работе с Arduino.
Настройка среды программирования Arduino IDE
По умолчанию среда IDE настроена только на AVR-платы. Для платформ, представленных ниже, необходимо добавить в менеджере плат дополнительную поддержку.
1) Открываем среду программирования Arduino IDE.
2) В пункте меню File (Файл) выбираем Preferences (Настройки). В окне Additional Boards Manager URLs вводим через запятую адреса http://arduino.esp8266.com/stable/package_esp8266com_index.json и https://dl.espressif.com/dl/package_esp32_index.json.
http://arduino.esp8266.com/stable/package_esp8266com_index.json, https://dl.espressif.com/dl/package_esp32_index.json
![](https://habrastorage.org/getpro/habr/upload_files/9d9/bdb/de2/9d9bdbde21be1bec1fce21eff2485d49.png)
3) Нажимаем OK.
4) В пункте меню Tools (Инструменты) -> Board (Плата) выбираем Boards manager (Менеджер плат).
Находим в списке платформы на ESP8266 и нажимаем на кнопку Install (Установить).
![](https://habrastorage.org/getpro/habr/upload_files/7b0/13a/a92/7b013aa925d9ebb8c4b34319fc469a8c.png)
6) Надпись INSTALLED сообщает, что дополнения успешно установлены.
![](https://habrastorage.org/getpro/habr/upload_files/338/33e/fb9/33833efb934e793cab130421da6e90a2.png)
7) Аналогичным образом устанавливаем дополнение для ESP32.
![](https://habrastorage.org/getpro/habr/upload_files/e99/eeb/ddd/e99eebddd5027dbb28b413a3ad82ae06.png)
8) Теперь нам доступны к программированию платформы с модулем ESP8266 и ESP32.
9) Для подключения плат к платформе Интернета вещей используем библиотеку EspMQTTClient. Чтобы ее установить, в пункте меню Tools (Инструменты) выбираем Manage Libraries (Управлять библиотеками). Находим и устанавливаем библиотеку EspMQTTClient. Может появиться сообщение об установке дополнительных библиотек. Выбираем “Install all”.
![](https://habrastorage.org/getpro/habr/upload_files/e1f/894/73f/e1f89473fcb94dee94f330925b54257f.png)
![](https://habrastorage.org/getpro/habr/upload_files/b00/f74/ca8/b00f74ca8d6b86befc106f8b903abb66.png)
Примечание - Также для работы с платами понадобится установить драйверы 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(
"<wifi-ssid>",
"<wifi-password>",
"dev.rightech.io",
"<ric-mqtt-client-id>"
);
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() {
client.loop();
publishTemperature();
}
Работоспособность кода будем проверять на платформе Rightech IoT Cloud, именно поэтому в качестве адреса MQTT-брокера указан dev.rightech.io. Идентификаторами клиентов служат идентификаторы объектов, созданных на платформе. Под каждую проверку я завела на платформе отдельный объект, именно поэтому во всех скринах кодов, которые будут далее представлены, отличается только строка <ric-mqtt-client-id>.
Прим. - Можно подключаться и к одному и тому же объекту, тогда можно использовать один и тот же код для прошивки всех плат без изменений, однако следите, чтобы в таком случае платы не подключались к одному и тому же объекту одновременно, иначе случится коллизия.
Модули на базе 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 м на открытом пространстве.
Внешний вид
![](https://habrastorage.org/getpro/habr/upload_files/45b/530/539/45b530539847285c2bf7d217015ed4b2.png)
Питание
Родное напряжение модуля — 3,3 В. Его пины не толерантны к 5 В. Если вы подадите напряжение выше, чем 3,3 В на пин питания, коммуникации или ввода-вывода, модуль выйдет из строя.
Подключение периферии
2 порта ввода-вывода общего назначения
Распиновка
![](https://habrastorage.org/getpro/habr/upload_files/e6f/ab6/185/e6fab61859864d9a247d34b72f98cd0e.png)
![](https://habrastorage.org/getpro/habr/upload_files/335/aa3/611/335aa3611f50768ed40d3aa37b4cbc00.png)
Подключение к IoT
Аппаратная часть
![](https://habrastorage.org/getpro/habr/upload_files/378/58e/ec0/37858eec0d475b82511df45640dba04e.jpeg)
1) Собираем схему
ESP-01 | USB-Serial |
VCC | VCC |
CH_PD | VCC |
TX | RX |
RX | TX |
GND | GND |
GPIO 0 - сначала не подключен, но будет использоваться для перевода в режим программирования далее, поэтому к нему уже подведен провод | |
RST, GPIO 2 - не подключены | RTS, CTS - не подключены |
![](https://habrastorage.org/getpro/habr/upload_files/9b8/dc0/5d9/9b8dc05d93f47b12075e829bcae80822.jpeg)
2) Переводим в режим программирования (необходимо каждый раз выполнять перед прошивкой модуля)
2.1) Отключаем питание от модуля
2.2) Подключаем пин GPIO 0 к GND
ESP-01 | USB-Serial |
VCC | VCC |
CH_PD | VCC |
TX | RX |
RX | TX |
GND | GND |
GPIO 0 | GND |
RST, GPIO 2 - не подключены | RTS, CTS - не подключены |
2.3) Подключаем модуль к питанию
![](https://habrastorage.org/getpro/habr/upload_files/989/ec7/837/989ec7837bcd4fbbce5d6096ac338629.jpg)
2.4) Железо готово, приступаем к программной части.
Программная часть
1) Выбираем плату: Tools (Инструменты) -> Board(Плата) Generic ESP8266 Module.
2) Вставляем подготовленный код.
3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.
4) Компилируем и загружаем скетч на плату.
![](https://habrastorage.org/getpro/habr/upload_files/9ba/ad5/d62/9baad5d6282348d1f0694d5707b1f647.png)
5) Для обычной работы модуля (не для режима прошивки) пин GPIO 0 должен быть свободен, поэтому отключаем его от GND.
![](https://habrastorage.org/getpro/habr/upload_files/8c2/ae8/97d/8c2ae897dcb45b5bed95afe1a6d08a5b.jpg)
6) Переподключаем питание ESP-01 (например, вытаскиваем и вставляем обратно адаптер).
7) Видим появление данных на платформе.
![](https://habrastorage.org/getpro/habr/upload_files/7b9/53e/2c6/7b953e2c6d307eedebd6c097f057e554.png)
Средняя цена
~ 100 рублей
Где купить
Прим. - Здесь и далее даны ссылки на магазины, из которых я либо заказывала сама, либо мне их рекомендовали. Это не реклама, а просто желание помочь быстрее найти нужную железку. Вы можете заказывать в любых других понравившихся магазинах =)
2. ESP-07
Особенности этого модуля - керамическая антенна и разъем для внешней антенны, металлический экран.
Внешний вид
![](https://habrastorage.org/getpro/habr/upload_files/d0c/d4c/980/d0cd4c980e78f24ec317c7f53f596b75.png)
Питание
3 - 3,6 В
Подключение периферии
9 портов ввода-вывода общего назначения
1 аналоговый вход
Распиновка
![](https://habrastorage.org/getpro/habr/upload_files/803/629/923/803629923cf26b178acac9fce2196b3a.png)
Подключение к IoT
Аппаратная часть
Работа с этим модулем, к сожалению, прошла не слишком гладко. Ни один из возможных вариантов подключения не сработал, и я, уже отчаявшись, решила удалять его описание из статьи. Но тут мне дали новый модуль и сказали попробовать еще раз - о чудо, он заработал с первого раза! В чем было дело и как сломался первый модуль, который я мучила, - неизвестно, но скорее всего он был убит нещадной статикой. Мораль этого лирического отступления такова - если у вас что-то не заработало по инструкции, написанной ниже, не вините инструкцию - сначала прозвоните и проверьте все контакты, а потом попробуйте на другом модуле.
![](https://habrastorage.org/getpro/habr/upload_files/83c/06e/0c4/83c06e0c4a7014901586e9d8398e5c3c.png)
1) Собираем схему
ESP-07 | USB-Serial |
VCC | VCC |
CH_PD (рекомендуется через резистор) | VCC |
TX | RX |
RX | TX |
GND | GND |
GPIO 15 (рекомендуется через резистор) | GND |
GPIO 0 - сначала не подключен, но будет использоваться для перевода в режим программирования далее, поэтому к нему уже подведен провод | |
все остальные контакты не подключены | RTS, CTS - не подключены |
На фото этого и следующего модуля уже можно заметить резисторы. После неведомой поломки уже решила перестраховаться и поставила килоомники, хотя и без них все должно работать.
![](https://habrastorage.org/getpro/habr/upload_files/247/cf1/67b/247cf167b3bdc13db62fc9740730385e.jpeg)
2) Переводим в режим программирования (необходимо каждый раз выполнять перед прошивкой модуля)
2.1) Отключаем питание от модуля2.2. Подключаем пин GPIO 0 к GND
2.2) Подключаем пин GPIO 0 к GND
ESP-07 | USB-Serial |
VCC | VCC |
CH_PD | VCC |
TX | RX |
RX | TX |
GND | GND |
GPIO 15 | GND |
GPIO 0 | GND |
все остальные контакты не подключены | RTS, CTS - не подключены |
2.3) Подключаем модуль к питанию
2.4) Железо готово, приступаем к программной части.
Программная часть
1) Выбираем плату: Tools (Инструменты) -> Board(Плата) Generic ESP8266 Module.
2) Вставляем подготовленный код.
3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.
4) Компилируем и загружаем скетч на плату.
![](https://habrastorage.org/getpro/habr/upload_files/002/52d/9b6/00252d9b6de573983ab1b9a90a23c70e.png)
5) Для обычной работы модуля (не для режима прошивки) пин GPIO 0 должен быть свободен, поэтому отключаем его от GND.
6) Переподключаем питание ESP-07 (например, вытаскиваем и вставляем обратно адаптер).
7) Видим появление данных на платформе.
![](https://habrastorage.org/getpro/habr/upload_files/ac4/6d3/f9e/ac46d3f9edbca9de6670224e4a0ca8e8.png)
Средняя цена
~ 160 рублей
Где купить
3. ESP-12E
Внешний вид
![](https://habrastorage.org/getpro/habr/upload_files/073/a4b/839/073a4b83942c58189bb48d5a23cb1505.png)
![](https://habrastorage.org/getpro/habr/upload_files/119/20f/c31/11920fc315e1f6513a310fd13fe1949b.png)
Питание
3 - 3,6 В
Подключение периферии
17 портов ввода-вывода общего назначения
1 аналоговый вход
Распиновка
![](https://habrastorage.org/getpro/habr/upload_files/62d/d93/cfc/62dd93cfcf3acb66be8b525c35198cde.png)
Подключение к IoT
Аппаратная и программная часть абсолютно такая же, как и в двух вариантах выше.
![](https://habrastorage.org/getpro/habr/upload_files/5bc/d29/4d2/5bcd294d219e7592f7724f04a068fff8.jpeg)
1) Выбираем плату: Tools (Инструменты) -> Board(Плата) Generic ESP8266 Module.
2) Вставляем подготовленный код.
3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.
4) Компилируем и загружаем скетч на плату.
![](https://habrastorage.org/getpro/habr/upload_files/c98/b1f/df4/c98b1fdf4d4c090603829126b697f8b0.png)
5) Для обычной работы модуля (не для режима прошивки) пин GPIO 0 должен быть свободен, поэтому отключаем его от GND.
6) Переподключаем питание ESP-12 (например, вытаскиваем и вставляем обратно адаптер).
7) Видим появление данных на платформе.
![](https://habrastorage.org/getpro/habr/upload_files/053/428/e87/053428e877e1e06d04d4de1c1a74caff.png)
Средняя цена
~ 170 рублей
Где купить
4. ESP-12F на Wi-Fi Troyka-модуль
Внешний вид
![](https://habrastorage.org/getpro/habr/upload_files/10d/9b4/7fb/10d9b47fbc964715ac2c1930214c8a2c.png)
![](https://habrastorage.org/getpro/habr/upload_files/0b7/203/51b/0b720351bb7684d241b98aeaad8a7243.jpeg)
Разберемся с этим модулем на примере его распайки на Wi-Fi Troyka-модуль производства Амперки. Хоть он и дороже, но взаимодействовать с ним гораздо приятнее. Уже есть ножки, распаянные со со стандартным шагом 2,54 мм, дополнительные защиты, регуляторы напряжения, которые помогают избежать неожиданного поведения и поломок при первых опытах. К слову, когда у меня в далекие времена не получалось подружиться с ESP-01, а время уже поджимало, я взяла этот модуль, и все дальше пошло гладко.
Питание
Рабочее напряжение ESP8266 — 3,3 вольта. Но на Troyka-модуле предусмотрен стабилизатор уровня напряжения, поэтому он работает и от 5 В.
Подключение периферии
5 портов ввода-вывода общего назначения
Максимальный ток с пина: 12 мА
Распиновка
![](https://habrastorage.org/getpro/habr/upload_files/462/a36/828/462a3682802746e854e5d6e68a7700bc.png)
Подключение к IoT
Аппаратная часть
Опять же подключаем через адаптер. На сайте Амперки есть прекрасная схемка.
![](https://habrastorage.org/getpro/habr/upload_files/250/5bc/9ab/2505bc9ab6c7549f44ddb94a6d355b14.png)
1) Собираем схему
Troyka | USB-Serial |
VCC | VCC |
TX | RX |
RX | TX |
GND | GND |
все остальные контакты не подключены | RTS, CTS - не подключены |
![](https://habrastorage.org/getpro/habr/upload_files/8f6/30c/051/8f630c051d7d8dc8e2ef0c8026308071.jpeg)
2) Переводим в режим программирования (необходимо каждый раз выполнять перед прошивкой модуля)
2.1) Зажимаем кнопку PROG
2.2) Нажимаем и отпускаем кнопку RESET
2.3) Отпускаем кнопку PROG
Программная часть
1) Выбираем плату: Tools (Инструменты) -> Board(Плата) Generic ESP8266 Module.
2) Вставляем подготовленный код.
3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.
4) Компилируем и загружаем скетч на плату.
![](https://habrastorage.org/getpro/habr/upload_files/ec8/7a8/042/ec87a80422aeef9fdfabc20549a226a9.png)
5) Переподключаем питание (например, вытаскиваем и вставляем обратно адаптер).
6) Видим появление данных на платформе.
![](https://habrastorage.org/getpro/habr/upload_files/870/c10/5ce/870c105ce902995e2862b5fd7631bb7a.png)
Текущая цена
~ 850 рублей
Где купить
Платы на базе ESP8266
Если с модулями приходилось немного повозиться, то все представленные ниже платы можно сразу подключать к USB-порту компьютера.
1. Goouuu Mini-S1
Внешний вид
![](https://habrastorage.org/getpro/habr/upload_files/685/b42/d08/685b42d085685fb8e19dba47e5954bb0.png)
Питание
5 В (Крайне не рекомендуется запитывать через вывод 3V3. Входящее напряжение будет поступать на чип ESP8266 напрямую, минуя все защиты от перенапряжения и короткого замыкания.)
Подключение периферии
11 цифровых входов/выходов
1 аналоговый вход
Выходы питания 3.3 В и 5 В.
Распиновка
![](https://habrastorage.org/getpro/habr/upload_files/1e7/3b4/cb1/1e73b4cb1316060ea94ca1a292448ead.png)
Подключение к IoT
1) Выбираем плату: Tools (Инструменты) -> Board(Плата) Wemos D1 R1 (или Generic ESP8266 Module, так тоже работает).
2) Вставляем подготовленный код.
3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.
4) Компилируем и загружаем скетч на плату.
![](https://habrastorage.org/getpro/habr/upload_files/387/136/c6c/387136c6c700fb9864f793b78ef88c18.png)
5) Видим появление данных на платформе.
![](https://habrastorage.org/getpro/habr/upload_files/e90/f63/e7f/e90f63e7f139b1620d031cf2c48107ed.png)
Средняя цена
~ 300 рублей
Где купить
2. WeMos D1 mini
Внешний вид
![](https://habrastorage.org/getpro/habr/upload_files/f24/def/b3a/f24defb3a3fc3ad3d0e1df6c641e4a1f.png)
Питание
5 В
Подключение периферии
11 цифровых входов-выходов
1 аналоговый вход
Выходы питания 3.3 В и 5 В.
Распиновка
![](https://habrastorage.org/getpro/habr/upload_files/36c/22d/a8f/36c22da8f5a98bd0f667c3e062dfc5af.png)
Подключение к IoT
1) Выбираем плату: Tools (Инструменты) -> Board(Плата) Wemos D1 R1 (или Generic ESP8266 Module).
2) Вставляем подготовленный код.
3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.
4) Компилируем и загружаем скетч на плату.
![](https://habrastorage.org/getpro/habr/upload_files/dad/a76/723/dada76723460a921d646df79ec65c4ba.png)
5) Видим появление данных на платформе.
![](https://habrastorage.org/getpro/habr/upload_files/bf8/73b/dfe/bf873bdfe265fdaa19953980af5a1683.png)
Средняя цена
~ 220 рублей
Где купить
3. NodeMCU V2
Внешний вид
![](https://habrastorage.org/getpro/habr/upload_files/cc4/c88/9ed/cc4c889ed8d12ade01404d25bb2bb9c6.png)
Питание
5 - 10 В
Подключение периферии
11 портов ввода-вывода общего назначения
1 аналоговый вход
Максимальный выходной ток пина 3V3: 600 мА
Распиновка
![](https://habrastorage.org/getpro/habr/upload_files/204/467/0c0/2044670c0ea594e9db5370ac853f1af0.png)
Подключение к IoT
1) Выбираем плату: Tools (Инструменты) -> Board(Плата) NodeMCU 1.0 (или Generic ESP8266 Module).
2) Вставляем подготовленный код.
3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.
4) Компилируем и загружаем скетч на плату.
![](https://habrastorage.org/getpro/habr/upload_files/e9f/540/ae1/e9f540ae1c09f55e8c20f5bfa25dcec2.png)
5) Видим появление данных на платформе.
![](https://habrastorage.org/getpro/habr/upload_files/cb7/af3/9c9/cb7af39c9e8058cd51b235433ba0b94b.png)
Средняя цена
~ 240 рублей
Где купить
Плата на базе ESP32
ESP32 WROOM DevKit v1
Внешний вид
![](https://habrastorage.org/getpro/habr/upload_files/eff/219/46d/eff21946d6ddb3c422f33b812f759f43.png)
Питание
5 - 14 В
Подключение периферии
Цифровые входы/выходы: 21 пин 1–5, 12–19, 21–23, 25–27, 32 и 33Контакты ввода-вывода общего назначения. Пины могут быть настроены на вход или на выход. Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 12 мА.
Цифровые входы: 4 пина 34–36 и 39Контакты ввода общего назначения. Могут быть настроены только на вход.
ШИМ: все пины ввода-выводаПозволяет выводить аналоговые значения в виде ШИМ-сигнала с разрядность 16 бит. Максимальное количество каналов 16.
АЦП: 15 пинов 2, 4, 12–15, 25–27, 32–36 и 39Позволяет представить аналоговое напряжение в цифровом виде с разрядностью 12 бит.
ЦАП: пины 25(DAC1) и 26(DAC2)Аналоговый выход цифро-аналогового преобразователя, который позволяет формировать 8-битные уровни напряжения.
Максимальный выходной ток пина 3V3: 1 А
Распиновка
![](https://habrastorage.org/getpro/habr/upload_files/955/74c/01a/95574c01ab721435f1ff8ff010ff1d2c.png)
Подключение к IoT
1) Выбираем плату: Tools (Инструменты) -> Board(Плата) DOIT ESP32 DEVKIT V1.
2) Вставляем подготовленный код.
3) Задаем данные для подключения Wi-Fi и идентификатор своего объекта на платформе.
4) Компилируем и загружаем скетч на плату.
![](https://habrastorage.org/getpro/habr/upload_files/06e/107/624/06e107624fafc637118ed172f0996e17.png)
5) Видим появление данных на платформе.
![](https://habrastorage.org/getpro/habr/upload_files/957/fe1/ff8/957fe1ff835f5cd7a3405e210825540b.png)
Средняя цена
~ 520 рублей
Где купить
Надеюсь, что данная инструкция станет полезной для всех, кто начнет работать с представленными модулями или их аналогами, поможет в выборе, а также сократит время на поиски алгоритмов подключения.
Ссылка на видеоинструкцию >>> https://youtu.be/7XzaUGr3-BA
DSarovsky
И все-таки, не слишком ли жирно использовать ESP (а конкретно Wi-Fi) для IoT? На сколько батарейки хватит?
Купил недавно пару BLE чипов TB-03F, стоят немного (около 120 рублей на текущий момент), периферии чуть поменьше, правда, но для простых устройств (типа датчиков движения и т.п.) должно хватит. Вот только SDK у них ужасен, даже демо-проект запустить не получилось.
Кто глубоко в тему IoT погружен, может, стоит обратить внимание на Bluetooth (лучше дешевые, для дома пойдёт, Nordic-и как-то дороговато), а не тратить электричество на 8266?
unsignedchar
С питанием сложно, да. Сам по себе контроллер умеет в deep sleep. Но напрямую к батарее его не подключить (очень сильно не любит, когда не 3.3 В, и очень много потребляет при включенном wifi).
XanKraegor
Можно поставить стабилизатор напряжения на входе с постоянными 3,3 В на выходе.
unsignedchar
Стабилизатор плохо дружит с микропотреблением.
XanKraegor
А можно поподробнее?
Я брал крону и что-то из LM + необходимую обвязку (конденсатор, вроде как), проблем с питанием не было. Единственная проблема с линейными стабилизаторами напряжения, которую я увидел, в том, что они имеют низкий КПД (много омического рассеивания). Но для повышения КПД есть свои варианты, например, небольшие схемы с импульсными стабилизаторами, самые популярные вроде как на LM2596. Полно готовых сборок даже за 100 рублей, если не хочется собирать самому
unsignedchar
Очень широкий диапазон токов - от микроампер до 100 ма. И КПД для питания от батареи это очень критично. И контроллер заряда, если хочется использовать аккумулятор.
Serge78rus
Если токи до 100мА, то посмотрите в сторону питания от литиевого аккумулятора через стабилизатор XC6206 или MCP1700. Единственная проблема — не получится использовать полную емкость аккумулятора, разряжая его до минимума.
unsignedchar
Получается так: таблетка типа CR2032 не вытянет 100 мА. Аккумулятору нужен контроллер заряда. 2 алкалиновых элементов недостаточно. 3 элемента - вопросы по КПД начинаются.
wrewolf
LM и энергопотребление, есть же нормальные способы, а не спускать энергию в тепло
Надо искать высокоэффективные DCDC MP2225
Ну или более правильно использовать 2 микроконтроллера, один для связи с wifi и всегда спит, а второй умеет работать экономно.
Ну или идти дальше и BLE или ZigBee
d1zz3l
Хотите сберечь батарейку ставьте LDO и включайте ESP по событию из вне.
Tutanhomon
Простите нубский вопрос — но как организовать выход в интернет через BLE? Разговор ведь именно про интернет вещей?
DSarovsky
А нужен ли прямой выход в интернет? Конкретно в этой статье железо через MQTT действительно стучит сразу в облако (хотя вопрос, хорошо это или плохо — работать всегда с облаком), в случае с BLE не обойтись без хаба (но и роутер, нужный для работы рассмотренного в статье устройства, тоже в этом плане можно считать хабом. Просто он достался «бесплатно», потому что все равно практически везде он есть).