狠狠色噜噜狠狠狠狠2021,久久精品国产亚洲av麻豆白洁,777米奇影视盒,国内精品老年人视频网站

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

1單片機(jī)

題目

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

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

一說到51單片機(jī)的型號那就太多了,因為我們要使用MQTT協(xié)議對接阿里云生活物聯(lián)網(wǎng)平臺,所以對RAM空間要求比較多,一些常見的型號比如89C51,89C52,因為RAM空間太少不能用,所以我們本次DIY程序設(shè)計使用的單片機(jī)型號是STC12LE5A60S2。

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

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

1單片機(jī)

圖1

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

1單片機(jī)

圖2

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

1單片機(jī)

圖3

接下來,我們需要創(chuàng)建新產(chǎn)品。

1單片機(jī)

圖4

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

1單片機(jī)

圖5

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

1單片機(jī)

圖6

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

1單片機(jī)

圖7

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

1單片機(jī)

圖8

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

1單片機(jī)

圖9

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

1單片機(jī)

圖10

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

1單片機(jī)

圖11

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

1單片機(jī)

圖12

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

1單片機(jī)

圖13

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

1單片機(jī)

圖14

我們勾選上充分了解的對勾,然后點擊開發(fā)完成,到此我們整個項目的配置就算完成了,就下來我們要修改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個字符串,最麻煩的就是第3個,也就是MQTT協(xié)議中CONNECT報文中的包含的密碼信息。我們一個一個來,講一下怎么修改。

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

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

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

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

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

1單片機(jī)

圖17

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

1單片機(jī)

圖18

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

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

*|securemode=3,signmethod=hmacsha1|

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

D001|securemode=3,signmethod=hmacsha1|

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

*&#

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

D001&a1jWDQfzbVB

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

clientId*deviceName*productKey#

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

clientIdD001deviceNameD001productKey a1jWDQfzbVB

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

1單片機(jī)

圖19

我們復(fù)制待加密的字符串和密鑰的時候,一定要多檢查,不要多空格,不要多回車,錯一點加密后的結(jié)果都不會正確的,所以大家一定要小心。加密后的結(jié)果就是第3個字符串的內(nèi)容,到此6個需要修改的字符串我們都修改完畢了,重新編譯程序,下載到開發(fā)板就行了。然后我們再回到阿里云生活物聯(lián)網(wǎng)平臺。

1單片機(jī)

圖20

我們進(jìn)入第3步,人機(jī)交互設(shè)置頁面,我們點擊紅圈所示的內(nèi)容,然后彈出頁面,需要我們填寫設(shè)備名稱,以我的為例,填上D001,然后就可以生成我們需要的,添加設(shè)備的二維碼,因為文章中不能出現(xiàn)二維碼,所以超子就不展示了。到此我們本次51單片機(jī)的DIY程序設(shè)計,基本就完成了。


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

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

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

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

相關(guān)推薦