Основи роботи з мікроконтролерами 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, просто на ній відправляє відладочну інформацію. За замовчуванням швидкість повинна бути 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 для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.