歡迎來到《圣博凱斯》變頻供水設(shè)備官網(wǎng)
精銳于專業(yè) / 卓然于品質(zhì) -- 20年專注于供水行業(yè),締造至臻品質(zhì) -- 服務(wù)熱線:0731-85783205 18932453205

esp8266怎么接入機(jī)智云_esp8266接入機(jī)智云教程

esp8266-01/01s接入巴法云,并遠(yuǎn)程控制 第一 下載ESP8266-01示例(arduino ide 編程開發(fā))第二 修改demo例程第三 app inventor 開發(fā)第四 微信小程序控制

原理簡(jiǎn)述:利用發(fā)布訂閱模式,即:ESP8266-01訂閱了一個(gè)主題,再利用app inventor 編寫得app 往這個(gè)主題發(fā)布消息,由于ESP8266 -01訂閱了這個(gè)消息,所以就可以收到app發(fā)布得消息,從而執(zhí)行相應(yīng)得動(dòng)作。

基于TCP長(zhǎng)連接的模式,ESP8266通過TCP長(zhǎng)連接,連接到服務(wù)器,app也同樣通過TCP長(zhǎng)連接,連接到服務(wù)器,兩者通過主題(topic)進(jìn)行耦合。

第一 下載ESP8266-01示例(arduino ide 編程開發(fā))

下載地址: 點(diǎn)擊下載

本demo 是利用arduino IDE開發(fā),關(guān)于arduino IDE 的ESP8266環(huán)境配置可參考:環(huán)境配置: 點(diǎn)擊跳轉(zhuǎn)

安裝好esp8266開發(fā)環(huán)境后,esp8266-01/01s 選擇Generic ESP8266 Module開發(fā)板,其他默認(rèn)即可。

第二 修改demo例程

需要修改的信息有WIF名稱,WIFI密碼,用戶私鑰UID,設(shè)備主題topic。

用戶私鑰可以巴法云控制臺(tái)點(diǎn)擊跳轉(zhuǎn)獲取,注冊(cè)綁定郵箱即可在巴法創(chuàng)客云控制臺(tái)點(diǎn)擊跳轉(zhuǎn)獲取。

登陸完成后,可在控制臺(tái)看到自己的私鑰UID,如圖所示:

創(chuàng)建主題,在控制臺(tái),可創(chuàng)建主題。

第一輸入主題,字母或數(shù)字或字母+數(shù)字組合。點(diǎn)擊創(chuàng)建主題。

WIFI名稱為自己的路由器WIFI名稱,區(qū)分大小寫,寫錯(cuò)會(huì)導(dǎo)致連接不上網(wǎng)絡(luò)的。

關(guān)于主題topic:主題可在控制臺(tái)新建,字母+數(shù)字自定義組合即可。如下,例程的主題為light002。

//********************需要修改的部分*******************//#define DEFAULT_STASSID "newhtc" //WIFI名稱,區(qū)分大小寫,不要寫錯(cuò)#define DEFAULT_STAPSW "qq123456" //WIFI密碼String UID = "7d54f85af42976ee3c2693e692a6bb59"; //用戶私鑰,可在控制臺(tái)獲取,修改為自己的UIDString TOPIC = "light002"; //主題名字,可在控制臺(tái)新建const int LED_Pin = 0; //單片機(jī)LED引腳值,GPIO0引腳//**************************************************//

在本demo中是控制的ESP8266-01的0 口。

//單片機(jī)LED引腳值const int LED_Pin = 0;

推薦使用下載器下載:插上之后,arduino IDE 中找到下載器端口端口就行,在ide 導(dǎo)航欄-“工具”-“端口”,都設(shè)置好后,點(diǎn)下載燒錄就行了。

下載程序到ESP8266中,如果WIFI信息沒有填錯(cuò)的話ESP8266就會(huì)自動(dòng)連接到云服務(wù)器上。

開發(fā)者可進(jìn)行測(cè)試,測(cè)試方法,在控制臺(tái)該主題處推送消息,可觀察ESP8266是否收到該消息??赏ㄟ^串口工具查看輸出。

消息檢測(cè)代碼默認(rèn)為(在例程147行):

//********************可根據(jù)需要修改的部分*******************// if((TcpClient_Buff.indexOf("&msg=on") > 0)) { turnOnLed(); }else if((TcpClient_Buff.indexOf("&msg=off") > 0)) { turnOffLed(); }//**************************************************//

當(dāng)檢測(cè)到消息為on 時(shí),執(zhí)行開燈,當(dāng)檢測(cè)到消息為off 時(shí),執(zhí)行關(guān)燈。開發(fā)者可在控制臺(tái)推送on或者off,然后檢測(cè)esp8266是否收到,如果收到,說明正??蛇M(jìn)行下一步app編寫。

說明:消息不單單局限于on或off,開發(fā)者可以張大腦洞隨意定義的,你推送什么消息,在單片機(jī)處做什么消息檢測(cè)就可以了。例如app推送json數(shù)據(jù),esp8266就可以收到j(luò)son數(shù)據(jù)包。

第三 app inventor 開發(fā)

原理:同樣通過TCP 長(zhǎng)連接,連接到服務(wù)器,當(dāng)按下按鈕,就向服務(wù)器該主題推送個(gè)消息,ESP8266就可以收到該消息了。

簡(jiǎn)介:Google App Inventor是一個(gè)完全在線開發(fā)的Android編程環(huán)境,拋棄復(fù)雜的程式代碼而使用積木式的堆疊法來完成您的Android程式。 而且這款編程軟件不一定非要是專業(yè)的研發(fā)人員,甚至根本不需要掌握任何的程序編制知識(shí)。因?yàn)檫@款軟件已經(jīng)事先將軟件的代碼全部編寫完畢,用戶只需要根據(jù)自己的需求向其中添加服務(wù)選項(xiàng)即可。也就是我們所要做的只是寫簡(jiǎn)單的代碼拼裝程序。

安裝appInventor 點(diǎn)擊安裝

本操作只提供一個(gè)app的demo,界面過于丑陋,大家可自由發(fā)揮更改界面。

demo 下載點(diǎn)擊下載

頂部導(dǎo)航欄,依次點(diǎn)擊(項(xiàng)目–>導(dǎo)入項(xiàng)目aia),選擇上一步驟下載的aia文件導(dǎo)入即可。點(diǎn)擊導(dǎo)入的項(xiàng)目,即可看到控制面板,面板主要分為在組建設(shè)計(jì)和邏輯設(shè)計(jì),用戶可在右上角進(jìn)行模式切換。

(組建設(shè)計(jì))面板可以向屏幕添加組建以進(jìn)行二次開發(fā)。(邏輯面板)則進(jìn)行相關(guān)邏輯編寫。


導(dǎo)入aia文件后,如果只是簡(jiǎn)單使用,只需要修改兩個(gè)地方,一個(gè)是主題名字,一個(gè)是UID,均需開發(fā)者置換成自己的topic(主題名字)和UID(用戶私鑰),均可在創(chuàng)客云控制臺(tái)獲取點(diǎn)擊跳轉(zhuǎn)。

此處的主題topic應(yīng)該和ESP8266程序里面設(shè)定的主題修改為一樣,不然會(huì)收不到消息。UID修改為自己的私鑰。

控制邏輯

當(dāng)按鈕’打開’被點(diǎn)擊,發(fā)送on,ESP8266即可收到on消息

具體發(fā)送的消息,開發(fā)者可自定義,例程中只是發(fā)送簡(jiǎn)單的字符串,開發(fā)者也可發(fā)送json之類的,

不過在ESP8266端要對(duì)json消息體進(jìn)行解析。更多指令格式說明:接入文檔

如果想控制家里的燈具,加個(gè)繼電器即可,通過引腳輸出高低電平控制繼電器的開和關(guān),從而達(dá)到控制220v交流電的效果。繼電器需要用3.3V繼電器。


如果使用下圖這種繼電器模塊,他們的控制引腳就是0腳,上述程序可以直接使用,插上就行了,可以在控制臺(tái)推送on或者off測(cè)試,或者使用app 或小程序進(jìn)行控制。

第四 微信小程序控制

教程:https://bemfa.blog.csdn.net/article/details/107019002

猜你喜歡