Основы работы с микроконтроллерами ESP8266

Кроме всевозможных интересных проектов на Arduino, хотелось бы сказать несколько слов о ESP8266.

Миниатюрный WiFi модуль на базе новейшей микросхемы ESP8266 со встроенным стеком TCP / IP и управлением AT-командами. Чип создан для использования в умных розетках, mesh-сетях, IP-камерах, беспроводных сенсорах, носимой электронике и т.д. Назначение ESP8266 стать мозгом будущего «Интернета вещей».


Рисунок 1 – Внешний вид микроконтроллера ESP-8266

Предусмотрено два варианта использования чипа: 1) в виде моста UART-WIFI, когда модуль на базе ESP8266 подключается к существующему решению на базе любого другого микроконтроллера и управляется AT-командами, обеспечивая связь решения с инфраструктурой Wi-Fi; 2) реализуя новое решение, которое использует сам чип ESP8266 в качестве управляющего микроконтроллера.

Характеристики:
1. Стандарты WI-FI: 802.11 b / g / n.
2. Поддерживаемые типы шифрования: WEP, WPA, WPA2.
3. Поддерживаемые режимы работы: Клиент (STA), Точка доступа (AP), Клиент + Точка доступа (STA + AP).
4. Напряжение питания 1.7..3.6 В.
5. Ток: до 215 мА в зависимости от режима работы.
6. Количество GPIO: 16 (фактически до 10). Доступно на модулях: ESP-01-4, ESP-03-7 + 1, влючаючая UART. Существуют и другие варианты модулей.
7. Внешняя Flash пам’ять размером 512кб.
8. RAM данных 80 кб, RAM инструкций – 32 кб.
9. Спецификация чипа ESP8266_Specifications_v4.pdf

Выводы модуля:
1. Vcc – питание, +3,3 (максимально 3,6)
2 .GND – общий
3. TXD – передача данных (уровень 3,3)
4. RXD – прийом данных (уровень 3,3)
5. CH_PD – выключения модуля (низкий уровень активный, для включения модуля следует подать Vcc)
6. GPIO0 – вывод общего назначения 0
7. GPIO2 – вывод общего назначения 2
8. RST – сброс модуля (низкий уровень активный)

Примечание: GPIO 1 соответствует вывод TXD. GPIO 3 – RXD.


Рисунок 2 – Назначение выводов ESP8266

В общем случае программирование ESP8266 осуществляется с помощью USB-to-TTL конвертера (рис. 3, 4), но также это можно сделать используя Arduino со встроенным USB-TTL конвертером. В таком случае можно использовать схему подключения приведенную на рисунке 4 ( Помните! При прошивке микроконтроллера GPIO0 замыкается на землю (GND)).
В качестве программного обеспечения для прошивки микроконтроллеров ESP8266 можно воспользоваться Arduino IDE, но для этого необходимо осуществить некоторые дополнительные настройки этого программного пакета.


Рисунок 3 – Пример USB-to-TTL конвертора


Рисунок 4 – Прошивка ESP8266 с помощью конвертера


Рисунок 5 – Схема підключения ESP8266 к Arduino

Обратите внимание:
1. Arduino Reset подключен к GND (синий провод) чтобы не запускался микроконтроллер на Arduino, в данном случае мы используем Arduino как прозрачный USB-to-TTL конвертер.
2. RX и TX подключены не «крест-накрест», а прямо – RX – RX (зеленый), TX – TX (желтый)

ВАЖНО. На Arduino может быть установлен стабилизатор питания, который не выдержит ток, необходимый для ESP8266, поэтому прежде, чем производить подключение, необходимо свериться с технической документацией на стабилизатор, установленный именно у вас. Избегайте использования других энергопотребляющих компонентов одновременно с ESP8266 в связи с риском выхода из строя встроенного в Arduino стабилизатора питания.

Настройка Arduino IDE для роботы с ESP8266
Запускаем среду разработки и идем в Файл/Настройки:

Вставляем ссылку:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
в поле “Дополнительные ссылки для Менеджера плат: ” и жмем “OK”.
Потом идем в Инструменты / Плата: / Менеджер плат …:

Перед нами появится окно менеджера плат, листаем его до самого низа, и если все сделано правильно мы увидим что-то вроде рисунка ниже:

Кликаем курсором по надписи “esp8266 by ESP8266 Community” после этого, у нас появилась кнопка «Установка», выбираем последнюю и устанавливаем ее. Среда разработки закачает необходимые файлы (около 150 мегабайт) и напротив надписи “esp8266 by ESP8266 Community” появится «INSTALLED», то есть установлено.
После совершения данных шагов в перечне плат Arduino IDE ( Инструменты / платы ) появится ESP8266. Далее нужно выбрать необходимый COM-порт и скорость обмена данными. Откроем Serial Port (Монитор последовательного порта).
Если вывод нечитабельный, выставляем необходимую скорость и «NL & CR» и перезапускаем микроконтроллер (выключив питания), должны получить:

Заметьте, 74880 бод – не основная скорость ESP8266, просто на ней ESP8266 отправляет отладочную информацию. По умолчанию скорость должна быть 115200, но в отдельных случаях может быть и 9600 и др.
После подбора нужной скорости отправляем модулю команду «AT» и он должен ответить «ОК». Команда «AT + GMR» выводит информацию о прошивке.

Пример кода для управления штатным светодиодом:

#define TXD 1 // GPIO1/TXD01
void setup() {
pinMode(TXD, OUTPUT);
}
void loop() {
digitalWrite(TXD, HIGH);
delay(1000);
digitalWrite(TXD, LOW);
delay(1000);
}

Оставить ответ

Обязательные поля помечены*

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.