Приветствую!
Имеется Arduino Leonardo + esp8266 и удаленный веб-сервер.
Аrduino cчитывает данные с датчиков, AT командами подключает esp-шку к WiFi (esp на борту Arduino, в данном случае это не самостоятельный МК), esp отправляет POST запрос на сервер. Тут проблем нет. Все работает корректно.
Веб-сервер (node.js + express) парсит тело запроса, складывает данные в JSON. Последним, задается ответ со статусом 200 и значением 1. Ответ уходит именно с этим статусом и именно с этим значением. Со стороны сервера проблем нет.
Теперь задача: Как получить это значение из ответа? Дело в том что отталкиваясь от него нужно включать реле, да или хотя бы просто вывести его в Serial . Но как бы я не старался, ничего не получается. Возможно дело во времени ожидании этого самого ответа?
Проще говоря, как мне отправлять данные на включение реле с сервера?
Ниже код POST запроса :
Имеется Arduino Leonardo + esp8266 и удаленный веб-сервер.
Аrduino cчитывает данные с датчиков, AT командами подключает esp-шку к WiFi (esp на борту Arduino, в данном случае это не самостоятельный МК), esp отправляет POST запрос на сервер. Тут проблем нет. Все работает корректно.
Веб-сервер (node.js + express) парсит тело запроса, складывает данные в JSON. Последним, задается ответ со статусом 200 и значением 1. Ответ уходит именно с этим статусом и именно с этим значением. Со стороны сервера проблем нет.
Теперь задача: Как получить это значение из ответа? Дело в том что отталкиваясь от него нужно включать реле, да или хотя бы просто вывести его в Serial . Но как бы я не старался, ничего не получается. Возможно дело во времени ожидании этого самого ответа?
Проще говоря, как мне отправлять данные на включение реле с сервера?
Ниже код POST запроса :
Код:
void httppost () {
Serial1.println("AT+CIPSTART=\"TCP\",\"" + server + "\",80");
while (Serial1.available()) Serial.write(Serial1.read());
if( Serial1.find("OK")) {
Serial.println("TCP connection ready");
}
delay(1000);
String postRequest =
"POST " + postUri + " HTTP/1.0\r\n" +
"Host: " + server + "\r\n" +
"Accept: *" + "/" + "*\r\n" +
"Content-Length: " + data.length() + "\r\n" +
"Content-Type: application/x-www-form-urlencoded\r\n" +
"\r\n" + data;
String sendCmd = "AT+CIPSEND=";
Serial1.print(sendCmd);
Serial1.println(postRequest.length());
delay(500);
if(Serial1.find(">")) {
Serial.println("Отправка данных..");
Serial1.print(postRequest);
if(Serial1.find("SEND OK")) {
Serial.println("Данные отправлены");
}
}
}