Добрый день! Помогите диагностировать ошибку. Хардверная часть - Arduino Uno + WiFi ESP8266 на тройка модуле (http://wiki.amperka.ru/продукты:troyka-wi-fi) Модуль подключен через SoftwareSerial на 4 и 5 пины. Софтверная часть АТ командами модуль настроен на подключение к роутеру, Выставлены одинаковые скорости на 9600. Далее в скетче (коих сотни в интернете) поднимается сервер, который ждет запросы на 80 порт. Код (C++): #define DEBUG true #include <SoftwareSerial.h> SoftwareSerial mySerial(4, 5); void setup() { Serial.begin(9600); mySerial.begin(9600); sendData("AT+RST\r\n", 2000, DEBUG); Serial.println("set mode 1"); sendData("AT+CWMODE=1\r\n", 5000, DEBUG); Serial.println("Testing CIFSR"); sendData("AT+CIFSR\r\n", 7000, DEBUG); Serial.println("setting for multiple connection"); sendData("AT+CIPMUX=1\r\n", 2000, DEBUG); Serial.println("print MAC address"); sendData("AT+CIPSTAMAC?\r\n", 2000, DEBUG); Serial.println("set port 80 for server"); sendData("AT+CIPSERVER=1,80\r\n", 2000, DEBUG); Serial.println("ending setup"); } void loop() { if (mySerial.available()) { if (mySerial.find("+IPD,")) { delay(4000); sendData("<!DOCTYPE html> <html> <head></head><body>Hello!!!</body></html>\r\n", 3000, DEBUG); int connectionId = mySerial.read() - 48; String closeCommand = "AT+CIPCLOSE="; closeCommand += connectionId; closeCommand += "\r\n"; sendData(closeCommand, 3000, DEBUG); } } } void sendData(String command, const int timeout, boolean debug) { String response = ""; mySerial.print(command); long int time = millis(); while ( (time + timeout) > millis()) { while (mySerial.available()) { char c = mySerial.read(); response += c; } } if (debug) { Serial.print(response); } } Кусок лога из монитора порта на этап инициализации: Код (Text): AT+RST OK WIFI DISCONNECT Ai-Thinker Technology Co. Ltd. ready set mode 1 AT+CWMODE=1 OK WIFI DISCONNECT WIFI CONNECTED WIFI GOT IP Testing CIFSR AT+CIFSR +CIFSR:STAIP,"10.0.0.101" +CIFSR:STAMAC,"84:f3:eb:be:61:b7" OK setting for multiple connection AT+CIPMUX=1 OK print MAC address AT+CIPSTAMAC? +CIPSTAMAC:"84:f3:eb:be:61:b7" OK set port 80 for server AT+CIPSERVER=1,80 OK ending setup При обращении по IP с мобильного (подключенного к тому же роутеру) в мониторе порта видно что приходит запрос, идет попытка отдать ответ, с выкидыванием в ERROR. Как диагностировать ошибку? Код (Text): 0,365:GET / HTTP/1.1 Host: 10.0.0.101 Upgrade-Insecure-Reques<!DOCTYPE html> <html> <head></head><body>Hello!!!</body></html> ERROR AT+CIPCLOSE=-49 UNLINK ERROR Если обращаюсь из Хрома под Виндой, то в лог идет такая строка: Код (Text): 0,432:GET / HTTP/1.1 Host: 10.0.0.101 Connection: keep-alive <!DOCTYPE html> <html> <head></head><body>Hello!!!</body></html> ERROR AT+CIPCLOSE=-49 UNLINK