Инструменты пользователя

Инструменты сайта


ps:orlovsv:diplom:2017:esp8266

WiFi-модуль ESP8266

Схема подключения

+--------------+  1 - GND
| +-+ +-+ +--- |  2 - GPIO2 - через R 10K на VCC
| | | | | |    |  3 - GPIO0 - через R 10K на VCC
| | +-+ +-+    |  4 - RXD - напрямую (хотя надо через делитель) на 11 пин (TXD на arduino)
| |            |  5 - TXD - через делитель на 10 пин (RXD на arduino)
| |            |  6 - CH_PD - через R 10K на VCC
|  1  2  3  4  |  7 - RST - подавать GND для перезапуска модуля
|  5  6  7  8  |  8 - VCC - 3.3В
+--------------+

Передача UDP-данных

  • Модуль используется как клиент, подключающийся к WiFi-точке доступа (ТД).
  • Параметры соединения (имя ТД и пароль) указываются в скетче и запоминаются модулем.
  • IP-адрес выдается ТД.

Основные AT-команды управления модулем ESP8266 в качестве клиента:

  • AT+CIPMUX=1 - разрешить множественные соединения
  • AT+CIPSTART=S,«UDP»,«192.168.2.218»,12345,12346,0 - открыть соединение S с компьютером 192.168.2.218:12345 (UDP-сервером)
  • AT+CIPSEND=S,N - подготовить отправку в соединение S данных длиной N байт (после команды ожидается строка с ENTER)
  • AT+CIPCLOSE=S - удалить соединение с номером S

Пример скетча:

#include <SoftwareSerial.h>
// ESP8266 -- Arduino
// ESP TX - 10 (Arduino SoftwareSerial RX)
// ESP RX - 11 (Arduino SoftwareSerial TX)
SoftwareSerial espSerial(10, 11);
 
// для SoftSerial скорость порта в 115200 является большой и не гарантирует стабильную работу
const int COM_BAUD = 9600;

int i = 0;
  
void setup() {
  espSerial.begin(COM_BAUD);
  Serial.begin(COM_BAUD);
}

void loop() {
  espSerial.println("AT+CIPMUX=1");
  delay(200);
  espSerial.println("AT+CIPSTART=4,\"UDP\",\"192.168.2.218\",12345,12346,0");
  delay(200);
  espSerial.println("AT+CIPSEND=4,1");
  delay(200); 
  i++;
  espSerial.println(String(i));
  espSerial.println("AT+CIPCLOSE=4");
  delay(1000);
}
ps/orlovsv/diplom/2017/esp8266.txt · Последние изменения: 2017/05/08 18:54 (внешнее изменение)

Инструменты страницы