это продолжает терпеть неудачу и терпеть неудачу и терпеть неудачу.
Arduino YUN У меня есть этот код. Он должен перейти на сайт и получить значение «reboot», если значение «reboot» обнаружило, что оно выполняет действие, если «reboot» нет, то больше ничего не делать.
Иногда команда перезагрузки работает, но не всегда работает, что меня огорчает.
Кто-нибудь знает, почему мой код не работает?
#include <Bridge.h>
#include <HttpClient.h>
String result = String("");
void setup() {
delay(5000);
pinMode(2, OUTPUT);
Bridge.begin();
digitalWrite(2, HIGH);
}
void loop() {
HttpClient client;
// PIN 2
client.get("http://www.example.com/output.php?value=reboot");// output.php outputs the value reboot and the reset the value to empty string. after 10 second php puts the value to reboot and then put the value to empty.
result = "";
while (client.available()) {
char c = client.read();
result = result + c;
}
if(result.indexOf("reboot") >= 0) {// this keeps failing, sometime working and sometime not working
digitalWrite(2, LOW);
delay(3000);
digitalWrite(2, HIGH);
}
delay(7000);
}
оно работает.
#include <Bridge.h>
#include <HttpClient.h>
String result = String("");
void setup() {
delay(5000);
pinMode(2, OUTPUT);
Bridge.begin();
digitalWrite(2, HIGH);
}
boolean was_on = false;
void loop() {
HttpClient client;
// PIN 2
client.get("http://ok.example.com/ajax/light");
delay(500);
result = "";
while (client.available()) {
char c = client.read();
result = result + c;
}if(result.indexOf("reboot") >= 0) {
digitalWrite(2, LOW);
delay(2000);
was_on = true;
} else {
if(was_on) {
digitalWrite(2, HIGH);
delay(1000);
was_on = false;
}
}
delay(3000);
}
Других решений пока нет …