系列文章目錄
第一章?阿里云物聯(lián)網(wǎng)平臺搭建
第二章 訂閱與發(fā)布MQTT消息
第三章?為ESP8266-NodeMCU搭建ArduinoIDE環(huán)境?
第四章?ESP8266連接阿里云
第五章 阿里云平臺云產(chǎn)品流轉(zhuǎn)
第六章 使用Aruino與云產(chǎn)品流轉(zhuǎn)實(shí)現(xiàn)遠(yuǎn)程控制ESP8266
目錄
前言
一、遠(yuǎn)程控制的意義
二、準(zhǔn)備工作
1.阿里云平臺設(shè)備創(chuàng)建
2.創(chuàng)建云產(chǎn)品流轉(zhuǎn)規(guī)則
三、遠(yuǎn)程控制步驟
前言
前面我們已經(jīng)實(shí)現(xiàn)了如何使用ESP8266連接阿里云并實(shí)現(xiàn)阿里云云產(chǎn)品流轉(zhuǎn),通過本文,我們將靈活運(yùn)用該規(guī)則去實(shí)現(xiàn)A設(shè)備通過云平臺去控制B設(shè)備。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、遠(yuǎn)程控制的意義
我們使用ESP8266實(shí)現(xiàn)遠(yuǎn)程控制是使用其通過阿里云平臺進(jìn)行數(shù)據(jù)傳輸,從而擺脫局域網(wǎng)的束縛,實(shí)現(xiàn)阿里云平臺A設(shè)備遠(yuǎn)程控制B設(shè)備。后續(xù)加上我們的上位機(jī)程序(如微信小程序、AndroidAPP、Web端)實(shí)現(xiàn)真正的遠(yuǎn)程控制我們的家居系統(tǒng),真正距離與有線的束縛。
二、準(zhǔn)備工作
1.阿里云平臺設(shè)備創(chuàng)建
創(chuàng)建兩個(gè)云上設(shè)備?
?如還不知道具體如何創(chuàng)建和連接云上設(shè)備可先看看第一章和第四章。
2.創(chuàng)建云產(chǎn)品流轉(zhuǎn)規(guī)則
?編寫SQL
添加操作
??如還不知道具體如何創(chuàng)建和連接云上設(shè)備可先看看第五章。
三、遠(yuǎn)程控制步驟
1.使用以下代碼進(jìn)行連接:
鏈接:https://pan.baidu.com/s/1jhDMaWmhT8a0S82x0NXlKA?pwd=yckz?
提取碼:yckz
2.修改為自己創(chuàng)建的設(shè)備信息
?設(shè)備2的信息
3.修改為自己所在的局域網(wǎng)信息
4. 識別函數(shù)
AliyunIoTsDK::bindData("LEDSwitch",LEDSwitchCallback);
該行代碼調(diào)用了AliyunIoTSDK的Arduino庫,該函數(shù)第一個(gè)參數(shù)(LEDSwitch)為尋找收到的MQTT消息的字段,第二個(gè)參數(shù)(LEDSwitchCallback)為跳轉(zhuǎn)的回調(diào)函數(shù),若接收到的MQTT消息中含有“LEDSwitch”,則會跳轉(zhuǎn)至第二個(gè)參數(shù)的那個(gè)回調(diào)函數(shù)。
5.回調(diào)函數(shù)?
// LED狀態(tài)修改的回調(diào)函數(shù)
void LEDSwitchCallback(JsonVariant p)
{
int LEDSwitch = p["LEDSwitch"];
// 變更LED狀態(tài)
Serial.println("LEDSwitch:");
Serial.println(LEDSwitch);
digitalWrite(LED_BUILTIN, LEDSwitch);
}
該函數(shù)是回調(diào)函數(shù),在回調(diào)函數(shù)中我們將LEDSwitch字段后的數(shù)據(jù)賦給變量LEDSwitch,并且將該變量的值賦給板子上的LED燈引腳,對其進(jìn)行控制。后續(xù),想要加入其他的執(zhí)行的事件與變化都可以在回調(diào)函數(shù)里加,或者重新加入更多的識別函數(shù)與回調(diào)函數(shù)。
?6.連接ESP8266,點(diǎn)擊“上傳”
7.打開阿里云平臺,觀察設(shè)備2的狀態(tài)
顯示“在線”
?8.啟用云產(chǎn)品流轉(zhuǎn)規(guī)則
?9.啟用設(shè)備2的在線調(diào)試
點(diǎn)擊“關(guān)閉-1”、“設(shè)置”
?串口查看是否接收到消息與進(jìn)入回調(diào)函數(shù)。
?10.使用設(shè)備1模擬控制設(shè)備2
‘MQTT.fx模擬設(shè)備1
?11.選擇發(fā)布的主題
選擇的主題來自于這里?
?12.發(fā)送控制指令
{
"params":{
"LEDSwitch":0
}
}
?13.觀察現(xiàn)象
?總結(jié)文章來源:http://www.zghlxwxcb.cn/news/detail-776753.html
通過本文。我們實(shí)現(xiàn)了如何使用設(shè)備A遠(yuǎn)程控制設(shè)備B,這樣如果我們?nèi)嗽趯W(xué)校,但是設(shè)備在宿舍,就可以遠(yuǎn)程控制我們在宿舍的設(shè)備啦。比如:遠(yuǎn)程打開宿舍的門鎖或者開燈等等。文章來源地址http://www.zghlxwxcb.cn/news/detail-776753.html
到了這里,關(guān)于【智能家居遠(yuǎn)程控制系統(tǒng)】ESP8266連接阿里云(六)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!