Используя IDE Arduino с модулем Nodemcu-esp12e, я создал программу, которая выполняет HTTP-запрос GET.Проверка возврата HTTP-запроса GET с помощью arduino IDE и nodemcu-esp-12e
Однако я не знаю, как было бы правильным способом справиться с возвратом этой консультации.
Я проверяю возврат с помощью функции 'indexOf', чтобы узнать, является ли возврат false/off или true/on.
Это правильный способ подтверждения возврата?
Любые предложения по улучшению этого кода?
#include <ESP8266WiFi.h>
const char* ssid = "mywifiid";
const char* password = "mypassword";
IPAddress host(192,168,0,11);
void setup() {
Serial.begin(115200);
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
//
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
//
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
//
Serial.print("connecting to ");
Serial.println(host);
//
WiFiClient client;
const int httpPort = 80;
if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
return;
}
else{
Serial.println("connection success");
}
//
String get = "http://localhost/Test/GetStatusSensor?idsensor=2";
Serial.println(get);
//
client.print("GET " + get + "\r\nHTTP/1.1\r\nHost: localhost\Test\r\nConnection: keep-alive\r\n\r\n");
//
while(client.available()){
String line = client.readStringUntil('\r');
//
int iret= line.indexOf('on');
//
Serial.print(line);
Serial.println(String(iret));
//
if (iret> 0) {
//
Serial.println("On");
}
else {
Serial.println("Off");
}
}
//
Serial.println();
Serial.println("closing connection");
delay(20000); // 20 sec
}
Arduino не C! – Olaf
Спасибо за исправление! –
http://stackoverflow.com/questions/11812850/does-arduino-use-c-or-c –