Предусмотрено два варианта использования чипа:
1) в виде моста UART-WIFI, когда модуль на базе ESP8266 подключается к существующему решению на базе любого другого микроконтроллера и управляется AT-командами, обеспечивая связь решения с инфраструктурой Wi-Fi;
2) реализуя новое решение, использующее сам чип ESP8266 в качестве управляющего микроконтроллера.
Выводы
- Vcc – питание, +3,3 В (максимально 3,6 В)
- GND – общий
- TXD – передача данных (уровень 3,3 В)
- RXD – приём данных (уровень 3,3 В)
- CH_PD – выключение модуля (низкий уровень активный, для включения модуля следует подать Vcc)
- GPIO0 – вывод общего назначения 0
- GPIO2 – вывод общего назначения 2
- RST – сброс модуля (низкий уровень активный)
Простейшее подключение ESP8266 ESP-01 к Arduino UNO
Пример: генерация тестовой веб-страницы и создание точки доступа
Во время выполнения скетча необходимо подключиться с компьютера или смартфона к модулю как к точке доступа и перейти в браузере по IP, который выдается по команде AT+CIFSR в монитор порта.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
/* Подключение: * ESP8266 Arduino UNO * 3V3 ... 3.3V * RX ... 3 * TX ... 2 * GND ... GND */ /* Данный скетч отправляет модулю данные для генерации тестовой веб-страницы и конфигуирует точку доступа. Для того, чтобы увидеть тестовую страницу, необходимо подключиться к модулю по Wi-Fi как к точке доступа и ввести в адресной строке браузера IP адрес модуля. IP адрес отобразится в мониторе серийного порта после создания сервера. */ #include <SoftwareSerial.h> SoftwareSerial esp8266(2,3); // на Ardino UNO: порт D2 – RX, порт D3 – TX void setup() { Serial.begin(9600); // Для монитора последовательного порта esp8266.begin(115200); // Для обмена информацией с модулем ES8266 sendData("AT+RST\r\n",2000); // перезагрузка модуля sendData("AT+CWMODE=2\r\n",1000); // конфигурирование точки доступа sendData("AT+CIFSR\r\n",1000); // узнать IP адрес sendData("AT+CIPMUX=1\r\n",1000); // конфигурирование возможности подключения нескольких устройств sendData("AT+CIPSERVER=1,80\r\n",1000); // установить сервер на порт 80 } int connectionId; void loop() { String webpage = "<html><body><center><h1>Hello World</h1><br><h4>TEST PAGE</h4></center></body></html>"; espsend(webpage); String closeCommand = "AT+CIPCLOSE="; // закрытие сокета closeCommand+=connectionId; closeCommand+="\r\n"; sendData(closeCommand,3000); } // отправка данных на сервер void espsend(String d) { String cipSend = " AT+CIPSEND="; cipSend += connectionId; cipSend += ","; cipSend +=d.length(); cipSend +="\r\n"; sendData(cipSend,1000); sendData(d,1000); } // отправка команд модулю ESP8266 и вывод ответов в монитор порта String sendData(String command, const int timeout) { String response = ""; esp8266.print(command); long int time = millis(); while( (time+timeout) > millis()) { while(esp8266.available()) { char c = esp8266.read(); // чтение следующего символа response+=c; } } Serial.print(response); // вывод ответа модуля в монитор порта return response; } |
Подключение с помощью USB-адаптера
Подключите Wi-Fi модуль ESP-01 к USB-адаптеру таким образом:
Откройте среду разработки Arduino IDE, выберите плату Generic ESP8266 Module и необходимый Порт.
Затем, чтобы прошить Wi-Fi модуль, необходимо замкнуть GPIO0 и GND.
В качестве примера можно взять стандартный WiFiScan из папки Примеры > ESP8266WiFi. Загружаете пример.
После загрузки GPIO0 и GND теперь необходимо разомкнуть. Переподключаете USB-конвертер, заходите в Монитор порта.
Пример успешно загружен: