该篇博文是在第一篇博文(一、Arduino UNO R3将数据上传至云平台)的基础上进行的
一、云平台发送指令反向控制Arduino UNO R3
ESP12E Shield开关都推到OFF(要不然下载会报错),往Arduino UNO R3开发板上下载下面的代码
这段代码进行测试要点:对2引脚进行控制
comdata.compareTo("cmd=publish&device_name=beyondyanyu&device_cmd=yy\r\n")==0
其中device_name=beyondyanyu,需要改成你自己创建的设备名称,device_cmd=yy为发送的命令,可以自定义都行,表示发送这条命令的话,执行Serial.println(“hight”);在arduino编译器的串口助手会输出hight。仅为了调试使用。
unsigned long MS_TIMER=0;
unsigned long lastMSTimer=0;
String comdata = "";
char flag=false;
void setup()
{Serial.begin(9600);MS_TIMER=millis();
}
void loop()
{if(flag == false){if(millis() - MS_TIMER> 5000){Serial.println("cmd=subscribe&topic=beyondyy");MS_TIMER = millis(); }}if (Serial.available() > 0) {//comdata = char(Serial.read());comdata += char(Serial.read());lastMSTimer = millis();delay(5);}if(comdata.length()>0&& millis() - lastMSTimer > 100){if(comdata.compareTo("cmd=subscribe&res=1\r\n")==0)flag = true;else if(comdata.compareTo("cmd=publish&device_name=beyondyanyu&device_cmd=yy1\r\n")==0){Serial.println("yy1");}else if(comdata.compareTo("cmd=publish&device_name=beyondyanyu&device_cmd=yy2\r\n")==0){Serial.println("yy2");}comdata = "";}
}
下载完成之后,将ESP12E Shield开关都推到ON(不然没办法联网)。
通过管理路由器可以看到开发板已经连接到路由器上了
二、反向控制
打开云平台
发送指令控制Arduino UNO R3开发板
网速很慢,耐心点,不行的话多reset一下