Wi-Fi модуль ESP-07: выводы, настройка Arduino IDE и пример

ESP-07 — модуль на ESP8266EX с керамической антенной и 16 выводами. Характеристики, настройка Arduino IDE и пример с DHT11 и дисплеем Nokia 5110.
Особенности модуля
ESP-07 — одна из модификаций плат на основе микросхемы ESP8266EX. На модуле установлена микросхема флеш-памяти 25Q04 ёмкостью 512 Кб. Оперативная память встроена в основной чип: 80 Кб отведено под данные и 32 Кб под инструкции.

Для связи с внешними устройствами предусмотрено 16 выводов с шагом 2 мм. Это не совпадает с шагом 2,54 мм, принятым для штырьковых разъёмов Arduino и макетных плат, поэтому модуль удобно ставить на плату-переходник.

Антенна у ESP-07 керамическая, встроенная. Существует и вариант с разъёмом под внешнюю антенну; с ней дальность связи по Wi-Fi может достигать нескольких сотен метров. Как и другие модули семейства, ESP-07 управляется AT-командами через последовательный порт либо работает самостоятельно под собственной прошивкой. Типичные области применения — бытовая техника, домашняя автоматика и устройства Интернета вещей.
Назначение контактов
- RX и TX — последовательный порт;
- GND — общий;
- VCC — питание модуля;
- CH_PD — управление питанием модуля;
- Reset — перезагрузка;
- GPIO — цифровые контакты ввода-вывода;
- ADC0 — вход аналого-цифрового преобразователя.

Технические характеристики
| Стандарт Wi-Fi | 802.11 b/g/n |
| Режимы работы | STA (клиент), AP (точка доступа), STA+AP |
| Напряжение питания | 1,7–3,6 В |
| Максимальный ток потребления | 200 мА |
| Количество GPIO | 16 |
| Flash-память | 512 кБайт |
| RAM | 80 кБайт данных + 32 кБайт инструкций |
Подключение и настройка Arduino IDE
К компьютеру модуль подключают через переходник USB-UART.

Скетчи для ESP8266 можно писать и загружать из Arduino IDE версии не ниже 1.6.5, предварительно установив поддержку этих плат. Порядок действий:
- открыть Файл → Настройки и в поле Additional Boards Manager URLs указать адрес http://arduino.esp8266.com/stable/package_esp8266com_index.json;
- перейти в Инструменты → Плата → Boards Manager, найти в списке ESP8266 и нажать Install;
- дождаться загрузки и автоматической установки — после этого в меню Инструменты → Плата появятся платы ESP8266.
Пример: метеоданные на дисплее и в ThingSpeak
В демонстрационном проекте ESP-07 работает без внешнего контроллера: считывает температуру и влажность с датчика DHT11, показывает их на дисплее Nokia 5110 и отправляет в сервис ThingSpeak. Для сборки нужны модуль ESP-07, плата прототипирования, датчик DHT11, модуль дисплея Nokia 5110, соединительные провода и блок питания на 3–3,6 В.
DHT11 — датчик относительной влажности и температуры с однопроводным интерфейсом; в скетче он подключён к выводу 5. Линии дисплея распределены так: SCLK — 14, DIN — 13, D/C — 12, CS — 15, RST — 4. Чтобы отправлять данные в ThingSpeak, нужно зарегистрироваться в сервисе и получить ключ privateKey.
В программе используются библиотеки ESP8266WiFi (встроенная), DHT, Adafruit_GFX и Adafruit_PCD8544. Перед загрузкой в скетч подставляют имя и пароль своей точки доступа и ключ приложения.
Работает скетч следующим образом. При запуске инициализируется дисплей, задаётся контрастность 70 и выводится сообщение о подключении к Wi-Fi. После установления соединения на экране появляется заставка и запускается датчик. В основном цикле по таймеру на millis() создаётся WiFi-клиент и открывается соединение с сервером ThingSpeak (184.106.153.149, порт 80). Затем считываются температура и влажность, значения выводятся на дисплей в строках T= и H=, а на сервер уходит GET-запрос вида /update?key=...&temp=...&humidity=.... Первое измерение выполняется через 10 секунд после старта, после чего интервал увеличивается до 10 минут. Графики показаний доступны в личном кабинете ThingSpeak.
Типичные проблемы
- Скетч не загружается из Arduino IDE: проверяют подключение модуля к переходнику USB-UART и перед загрузкой снимают и вновь подают питание на ESP-07.
- Нет изображения на дисплее Nokia 5110: проверяют правильность его подключения.
- Модуль не получает данные от DHT11: проверяют подключение датчика.
- Данные не доходят до ThingSpeak: проверяют соединение модуля с точкой доступа, доступ точки в интернет и корректность запроса.