Я не отвечаю на запрос GET, отправлю от ESP8266 + Arduino Mega до Node.js. Мой код в узле получает запрос, но я ничего не получаю в коде Arduino.ESP8266 не получают ответ GET от Node.js
Node.js
app.get('/StatusSaidas', function(req,res){
res.charset = 'UTF-8';
console.log('Send to Arduino: ' + statusArdu);
res.send(statusArdu);
});
консоли журнала из Node.js
кодекса в Arduino
uint8_t buffer[1024] = {0};
if (wifi.createTCP(HOST_NAME, HOST_PORT)) {
Serial.print("Connection with Host OK!\r\n");
} else {
Serial.print("Error to connected to Host!\r\n");
}
char *ComandoGET = "GET /StatusSaidas HTTP/1.1\r\nHost: SmartHouse\r\nConnection: close\r\n\r\n";
wifi.send((const uint8_t*)ComandoGET, strlen(ComandoGET));
uint32_t len = wifi.recv(buffer, sizeof(buffer), 10000);
char *resposta = buffer;
for (int i = 0; i < len; i++)
{
if (strncmp(resposta++, "\r\n\r\n", 4) == 0) break;
}
resposta += 3;
receive = resposta;
Serial.print(receive);
Serial.print("\n\r");
Я не» Я знаю, в чем проблема с моим кодом. я использовать ESP8266 с Arduino Mega
Во-первых, если вы просто сделаете 'res.send', не получив' res.end', чтобы закончить ответ, он может не завершить отправку всего ответа правильно. Во-вторых, похоже, что вы пытаетесь разобрать HTTP-заголовки из ответа, но их нет, потому что вы только отправляете 'statusArdu'. Добавление файлов cookie в ответ может привести только к тому, что в ответе действительно будет '\ r \ n \ r \ n', который ваш код специально ищет, и может быть, поэтому он« работает »с файлами cookie. – leetibbett