讨厌发布这个,但是我被谷歌搜索并尝试了许多不同的选项但没有成功。
基本上我想获取一个状态为10灯的页面并打开/关闭相应的灯。 Arduino正在获取结果并在串行监视器中发布字符串,但字符串不会触发我的if语句。不确定我是否使用错误的函数来解析字符串或我的if语句不正确。
这是GET的输出,它在串行监视器中发布(打印readString
):
光线1:1 Light2:0 Light3:0 Light4:0 Light5:0 Light6:1 Light7:0 Light8:1 Light9:0 Light10:0
这是我在草图中尝试的最后一件事,每个灯都有一个if语句:
if (readString.indexOf("Light1:1">0))
{
digitalWrite(light1, HIGH);
}
else
{
digitalWrite(light1, LOW);
}
你会用什么功能?我究竟做错了什么? 重构页面输出也是一种选择。
答案 0 :(得分:2)
可能的拼写错误...您已在.indexOf()
电话中进行了比较。你的意思是
if (readString.indexOf("Light1:1") >= 0)
答案 1 :(得分:1)
字符串将从位置0开始。使用> = 0