該篇博文是在第一篇博文(一、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一下