中文字幕 日本 在线 高清,久久精品国产99精品国,超碰人人香蕉,一区二区三区无码高清视频

51單片機(jī) ESP8266模塊 APP控制繼電器,物聯(lián)網(wǎng)DIY入門(mén)新手指南(esp8266單片機(jī)51程序)

1單片機(jī)

題目

大家好,超子能力有限,技術(shù)不高,有什么錯(cuò)誤的地方,歡迎批評(píng)指正。超子之前寫(xiě)過(guò)一篇STM32單片機(jī)配合ESP8266的WiFi模塊接入阿里云生活物聯(lián)網(wǎng)平臺(tái)的DIY實(shí)驗(yàn),有小伙伴問(wèn)我51單片機(jī)能不能實(shí)現(xiàn),答案是能。那么今天超子就給大家介紹下51單片機(jī)的實(shí)現(xiàn)方法。

程序設(shè)計(jì)中,我們使用的軟件是Keil集成開(kāi)發(fā)環(huán)境,C語(yǔ)言編寫(xiě)。如果大家想要程序源碼的話,可以私信我,超子不是專(zhuān)業(yè)的程序員,水平不高,大家不嫌棄就行。

一說(shuō)到51單片機(jī)的型號(hào)那就太多了,因?yàn)槲覀円褂肕QTT協(xié)議對(duì)接阿里云生活物聯(lián)網(wǎng)平臺(tái),所以對(duì)RAM空間要求比較多,一些常見(jiàn)的型號(hào)比如89C51,89C52,因?yàn)镽AM空間太少不能用,所以我們本次DIY程序設(shè)計(jì)使用的單片機(jī)型號(hào)是STC12LE5A60S2。

ESP8266模塊是通過(guò)串口AT指令控制的那種,網(wǎng)上有很多,價(jià)格也比較便宜,非常適合我們做DIY。

雖然我們前面使用STM32單片機(jī)做了第一個(gè)DIY設(shè)計(jì),但是考慮到有些小伙伴,沒(méi)有看過(guò),所以超子還是說(shuō)的詳細(xì)一點(diǎn),把每一個(gè)步驟再重新走一遍。

1單片機(jī)

圖1

首先進(jìn)入我們自己的阿里云生活物聯(lián)網(wǎng)平臺(tái),然后創(chuàng)建項(xiàng)目,我們就創(chuàng)建一個(gè)51單片機(jī)DIY項(xiàng)目吧,以后所有51單片機(jī)相關(guān)的DIY設(shè)計(jì),我們都加入到這個(gè)項(xiàng)目?jī)?nèi)。

1單片機(jī)

圖2

項(xiàng)目建立完畢后,可以在項(xiàng)目列表中,看到51單片機(jī)DIY項(xiàng)目,旁邊的第一個(gè)DIY設(shè)計(jì)項(xiàng)目,是上次STM32單片機(jī)DIY設(shè)計(jì)時(shí)建立的。然后我們點(diǎn)擊51單片機(jī)DIY項(xiàng)目,進(jìn)入項(xiàng)目管理界面。

1單片機(jī)

圖3

接下來(lái),我們需要?jiǎng)?chuàng)建新產(chǎn)品。

1單片機(jī)

圖4

產(chǎn)品名稱(chēng)就叫51單片機(jī)插座,大家也可以起自己喜歡的名字。然后所屬品類(lèi)選擇電工照明下的插座。節(jié)點(diǎn)類(lèi)型選擇設(shè)備,不接入網(wǎng)關(guān),因?yàn)镋SP8266可以連接WiFi路由器,直接具備接云的能力,所以是直連設(shè)備,不需要網(wǎng)關(guān)。連網(wǎng)方式一定要注意,雖然ESP8266是WiFi模塊,但是不能選擇WiFi連網(wǎng),因?yàn)槲覀兪褂玫氖峭ㄓ玫?,AT指令控制的ESP8266,沒(méi)有在阿里云生活物聯(lián)網(wǎng)平臺(tái)認(rèn)證,不兼容阿里云生活物聯(lián)網(wǎng)平臺(tái)APP的配網(wǎng)協(xié)議,如果我們選擇WiFi方式的話,配網(wǎng)過(guò)不去,程序設(shè)計(jì)就無(wú)法進(jìn)行了。所以我們?nèi)€(gè)巧,使用蜂窩連接方式,跳過(guò)阿里云生活物聯(lián)網(wǎng)平臺(tái)APP的配網(wǎng),我們可以用ESP8266模塊自己的APP配網(wǎng)或是直接把WiFi的SSID以及密碼寫(xiě)在程序里。然后數(shù)據(jù)格式選擇JSON,不適用ID2認(rèn)證,最后點(diǎn)擊完成就行了。

1單片機(jī)

圖5

產(chǎn)品建立完成后,我們要先進(jìn)行第1步的功能定義的設(shè)置,我們選擇的是電工照明分類(lèi)下的插座,所以阿里云生活物聯(lián)網(wǎng)平臺(tái)自動(dòng)幫我們添加了電源開(kāi)關(guān)的功能屬性。所以這一步我們不需要做什么額外的設(shè)置,直接點(diǎn)擊下一步:設(shè)備調(diào)試。

1單片機(jī)

圖6

我們新建設(shè)備的時(shí)候,為了跳過(guò)配網(wǎng)協(xié)議,所以故意選擇了蜂窩的連接方式,所以我們隨便選一個(gè)通過(guò)認(rèn)證的模組就行,選哪個(gè)型號(hào)都不會(huì)影響我們的DIY設(shè)計(jì)。

1單片機(jī)

圖7

選好模組后,我們點(diǎn)擊新增測(cè)試設(shè)備,每個(gè)產(chǎn)品下可以添加最多50個(gè)免費(fèi)的測(cè)試設(shè)備,我們做DIY程序設(shè)計(jì),50個(gè)足夠我們用了。

1單片機(jī)

圖8

新增測(cè)試設(shè)備時(shí),我們要輸入設(shè)備名稱(chēng),就叫D001吧,超子喜歡用這種編號(hào)命名設(shè)備,大家可以根據(jù)喜好自己設(shè)置設(shè)備名稱(chēng),然后點(diǎn)擊確定就行。

1單片機(jī)

圖9

然后會(huì)彈出激活憑證,也就是三元組信息,這個(gè)是登錄阿里云生活物聯(lián)網(wǎng)平臺(tái)的認(rèn)證信息,稍后我們修改51單片機(jī)C語(yǔ)言程序時(shí)要用到這些重要信息。然后我們點(diǎn)擊下一步:人機(jī)交互。

1單片機(jī)

圖10

和使用STM32單片機(jī)做DIY設(shè)計(jì)時(shí)一樣,我們使用阿里云生活物聯(lián)網(wǎng)平臺(tái)的公版APP,也就是云智能APP。我們打開(kāi)上圖中紅圈所示的開(kāi)關(guān)。

1單片機(jī)

圖11

然后我們點(diǎn)擊未設(shè)置,選擇一個(gè)界面。

1單片機(jī)

圖12

自己喜歡哪個(gè),選一個(gè)就行,然后點(diǎn)擊確認(rèn)。

1單片機(jī)

圖13

然后頁(yè)面下方,我們要配置APP功能,同STM32單片機(jī)DIY時(shí)一樣,我們主要設(shè)置多語(yǔ)言管理,填寫(xiě)品牌名稱(chēng),設(shè)備名稱(chēng),產(chǎn)品編號(hào)等等,大家根據(jù)喜好自己填一個(gè)就。最下方我們看到了天貓精靈,插座是天貓精靈支持的品類(lèi),所以可以直接綁定天貓精靈的賬號(hào),用天貓精靈控制開(kāi)關(guān),非常方便。然后我們點(diǎn)擊下一步:批量投產(chǎn)。

1單片機(jī)

圖14

我們勾選上充分了解的對(duì)勾,然后點(diǎn)擊開(kāi)發(fā)完成,到此我們整個(gè)項(xiàng)目的配置就算完成了,就下來(lái)我們要修改51單片機(jī)的程序了。

1單片機(jī)

圖15

首先看esp8266.c源文件,wifi_mode變量用于設(shè)置使用哪種方式進(jìn)行配網(wǎng),大家根據(jù)注釋自行選擇就行,如果選擇0的話,SSID和密碼要在esp8266.h頭文件中設(shè)置。

1單片機(jī)

圖16

然后我們需要修改mqtt.h頭文件中的6個(gè)字符串,最麻煩的就是第3個(gè),也就是MQTT協(xié)議中CONNECT報(bào)文中的包含的密碼信息。我們一個(gè)一個(gè)來(lái),講一下怎么修改。

我們先看第6個(gè)需要修改的字符串,服務(wù)器的域名,格式如下所示:

*.iot-as-mqtt.cn-shanghai.aliyuncs.com

我們把*號(hào)替換成我們自己設(shè)備的ProductKey,這個(gè)ProductKey就是我們新建設(shè)備時(shí)彈出的3元組信息,圖9所示,以我新建的設(shè)備作為例子,我們修改一下,最終結(jié)果如下:

a1jWDQfzbVB.iot-as-mqtt.cn-shanghai.aliyuncs.com

然后看第4和第5個(gè)字符串, 都是Topic主題,第4個(gè)set是用來(lái)接收控制開(kāi)關(guān)命令推送的Topic,我們需要訂閱它,第5個(gè)post是用來(lái)往服務(wù)器上傳數(shù)據(jù)的,這次的實(shí)驗(yàn)post不是關(guān)鍵點(diǎn)。那么這兩個(gè)Topic再那找呢?看下圖。

1單片機(jī)

圖17

測(cè)試設(shè)備點(diǎn)擊紅圈圈中的查看。

1單片機(jī)

圖18

然后在Topic列表下,可以看到post和set,根據(jù)自己設(shè)備的實(shí)際內(nèi)容,修改程序中第4和第5個(gè)字符串即可。

接下來(lái)看第1個(gè)字符串,也就是MQTT協(xié)議中CONNECT報(bào)文中包含的客戶端ID信息,格式如下:

*|securemode=3,signmethod=hmacsha1|

其中*號(hào)是設(shè)備名稱(chēng),以我的設(shè)備為例,修改一下,結(jié)果如下:

D001|securemode=3,signmethod=hmacsha1|

然后再看第2個(gè)字符串,也就是MQTT協(xié)議中CONNECT報(bào)文中包含的用戶名信息,格式如下:

*&#

其中*號(hào)是設(shè)備名稱(chēng) ,#號(hào)是ProductKey,都是圖9中的三元組信息,就以我的設(shè)備為例,修改一下,結(jié)果如下:

D001&a1jWDQfzbVB

最后再看最麻煩的第3個(gè)字符串,也就是MQTT協(xié)議中CONNECT報(bào)文中包含的密碼信息,需要經(jīng)過(guò)一步加密,我們先要構(gòu)建待加密的明文字符串,格式如下:

clientId*deviceName*productKey#

其中*號(hào)是設(shè)備名稱(chēng) ,#號(hào)是ProductKey,以我的設(shè)備為例,修改一下,結(jié)果如下:

clientIdD001deviceNameD001productKey a1jWDQfzbVB

加密用的秘鑰是圖9中,三元組信息里的DeviceSecret,我們網(wǎng)上找一個(gè)加密算法的網(wǎng)站。

1單片機(jī)

圖19

我們復(fù)制待加密的字符串和密鑰的時(shí)候,一定要多檢查,不要多空格,不要多回車(chē),錯(cuò)一點(diǎn)加密后的結(jié)果都不會(huì)正確的,所以大家一定要小心。加密后的結(jié)果就是第3個(gè)字符串的內(nèi)容,到此6個(gè)需要修改的字符串我們都修改完畢了,重新編譯程序,下載到開(kāi)發(fā)板就行了。然后我們?cè)倩氐桨⒗镌粕钗锫?lián)網(wǎng)平臺(tái)。

1單片機(jī)

圖20

我們進(jìn)入第3步,人機(jī)交互設(shè)置頁(yè)面,我們點(diǎn)擊紅圈所示的內(nèi)容,然后彈出頁(yè)面,需要我們填寫(xiě)設(shè)備名稱(chēng),以我的為例,填上D001,然后就可以生成我們需要的,添加設(shè)備的二維碼,因?yàn)槲恼轮胁荒艹霈F(xiàn)二維碼,所以超子就不展示了。到此我們本次51單片機(jī)的DIY程序設(shè)計(jì),基本就完成了。


大家如果有什么想做的,或者有什么想法,都可以評(píng)論區(qū)留言告訴超子哦~~~

想要程序的小伙伴,可以舉手哦~~~

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2024年5月1日 下午1:26
下一篇 2024年5月1日 下午1:38

相關(guān)推薦