GET 요청에 대한 응답이 없으므로 ESP8266 + Arduino Mega에서 Node.js로 보내주십시오. 노드의 코드가 요청을 수신하지만 Arduino 코드에 아무것도 표시되지 않습니다.ESP8266 Node.js에서 GET 응답을받지 못함
Node.js를
app.get('/StatusSaidas', function(req,res){
res.charset = 'UTF-8';
console.log('Send to Arduino: ' + statusArdu);
res.send(statusArdu);
});
'나는 돈
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");
아두 이노
에서 코드Node.js를에서 콘솔 로그 내 코드에 어떤 문제가 있는지 알 수 없습니다. 내가 아두 이노와 ESP8266를 사용 메가
첫 번째로 응답을 끝내기 위해'res.end'도없이'res.send' 만하면 전체 응답을 제대로 보내지 못할 수도 있습니다. 두 번째로 응답에서 HTTP 헤더를 파싱하려고 시도하는 것 같지만 'statusArdu' 만 보내므로 응답이 없습니다. 응답에 쿠키를 추가하면 코드에서 특별히 검색하는 '\ r \ n \ r \ n'이 응답에 포함될 수 있으며 이는 쿠키와 함께 작동하는 이유 일 수 있습니다. – leetibbett