gpt4 book ai didi

c++ - 为什么我的代码从来没有得到命令重启?

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:02 27 4
gpt4 key购买 nike

它一直在失败、失败、失败。

Arduino YUN 我有这个代码。它必须转到一个站点并获取值“rebo​​ot”,如果值“rebo​​ot”找到它执行操作,如果“rebo​​ot”不执行则什么都不做。

有时候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);
}

关于c++ - 为什么我的代码从来没有得到命令重启?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35740112/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com