使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(四)---阿里云物联网平台使用基础
前面幾個(gè)文章一直在分析arduino d1 wifi模塊如何安裝開發(fā)板庫,如何編程,如何調(diào)用wifi操作庫,如何運(yùn)行第一個(gè)網(wǎng)絡(luò)掃描程序。
現(xiàn)在突然跳轉(zhuǎn)到介紹阿里云,為什么呢?
原因很簡單,就是物聯(lián)網(wǎng)設(shè)備設(shè)計(jì)中,需要幾個(gè)關(guān)鍵的參數(shù),這幾個(gè)參數(shù)就像是設(shè)備的“身份證”,這個(gè)身份證要在阿里云物聯(lián)網(wǎng)平臺(tái)上進(jìn)行登記,阿里云才能認(rèn)識(shí)這個(gè)設(shè)備是哪個(gè)設(shè)備。當(dāng)然,更重要的是數(shù)據(jù)通信中,數(shù)據(jù)要加密傳輸,防止設(shè)備被惡意劫持,產(chǎn)生風(fēng)險(xiǎn)。
這個(gè)身份證有哪些參數(shù),參數(shù)從何而來呢?
下圖是一個(gè)例子,關(guān)鍵參數(shù)有3個(gè),分別是ProductKey,DeviceName和DeviceSecret。這三個(gè)參數(shù)不是隨便寫到D1模塊的,需要先在阿里云上進(jìn)行登記,然后再寫入到設(shè)備芯片中,相當(dāng)于設(shè)備“身份證”卡片中寫入信息。那么怎么得到這些信息?下面詳細(xì)介紹。
一、阿里云物聯(lián)網(wǎng)平臺(tái)簡介
阿里云的網(wǎng)址是https://www.aliyun.com/
阿里云物聯(lián)網(wǎng)平臺(tái)的幫助文檔鏈接是https://help.aliyun.com/document_detail/30522.html?spm=a2c4g.11174283.2.2.64c31668bS15n1
阿里云的幫助文檔非常棒,請(qǐng)大家自我參考,我這里只談一下我自己的理解,也會(huì)配一些圖片來配合說明。
阿里云物聯(lián)網(wǎng)平臺(tái)就相當(dāng)于你自己有一臺(tái)服務(wù)器,不管是聯(lián)想的還是戴爾的還是IBM的,這臺(tái)服務(wù)器放在了上海的某個(gè)機(jī)房,阿里巴巴公司的技術(shù)人員在幫你管理著。當(dāng)然,你自己買一臺(tái)服務(wù)器,價(jià)格太貴,需要專門的技術(shù)人員進(jìn)行管理,為了安全,還要搭配防火墻等專業(yè)的安全設(shè)備。除此之外,你的服務(wù)器還不是每時(shí)每刻都在向外提供服務(wù),因?yàn)橛械臅r(shí)候有人訪問你的服務(wù)器,有的時(shí)候并沒有人訪問,所以服務(wù)器有的計(jì)算資源是閑置的,是一種浪費(fèi)。
阿里云不一樣,它有龐大的服務(wù)器集群,服務(wù)器都放在專業(yè)的機(jī)房中,恒溫恒濕,條件很好,還有專業(yè)的人員管理,你不需要自己購買服務(wù)器,再給它找個(gè)專門的地方放,不用考慮防病毒,不用考慮突然停電,而且只需要購買所需要的計(jì)算資源,不用擔(dān)心服務(wù)器閑置時(shí)候的浪費(fèi)。阿里云物聯(lián)網(wǎng)平臺(tái)是按條計(jì)費(fèi)的,非常合適。
服務(wù)器問題解決了,就需要研究怎么通信了。
如下圖所示,物聯(lián)網(wǎng)設(shè)備要想跟阿里云進(jìn)行通信,就需要連接路由器,然后通過骨干網(wǎng)絡(luò)連接到阿里云物聯(lián)網(wǎng)平臺(tái),也就是阿里龐大的服務(wù)器集群。通信過程中,數(shù)據(jù)是加密傳輸?shù)摹?/p>
?
二、如何在阿里云物聯(lián)網(wǎng)平臺(tái)新建設(shè)備
上文提到,阿里云物聯(lián)網(wǎng)平臺(tái)相當(dāng)于阿里代為管理自己的服務(wù)器。假如自己的服務(wù)器進(jìn)行操作,可以用鍵盤鼠標(biāo)進(jìn)行,那么阿里云物聯(lián)網(wǎng)平臺(tái)怎么操作呢?
當(dāng)然是網(wǎng)頁形式遠(yuǎn)程訪問。下面就一步步操作。
首先登陸阿里云,輸入用戶名和密碼,淘寶賬戶和密碼就可以,如果沒有可以新注冊(cè)一個(gè)。登陸后進(jìn)入“控制臺(tái)”。
首先需要開通一些產(chǎn)品服務(wù)。我這里已經(jīng)開通了物聯(lián)網(wǎng)平臺(tái)了,所以就直接進(jìn)入。
如果沒有開通的,可以通過控制臺(tái)開通。非常方便,在此不再贅述。注意有些地方需要短信驗(yàn)證碼,是為了安全,按步驟操作即可。
打開物聯(lián)網(wǎng)平臺(tái)后,左側(cè)是菜單,右側(cè)是工作區(qū)。
點(diǎn)擊設(shè)備管理---產(chǎn)品? 菜單。可以看到自己設(shè)計(jì)的產(chǎn)品,有產(chǎn)品名稱,ProductKey,節(jié)點(diǎn)類型,添加時(shí)間和操作。
產(chǎn)品是類名,一類具有共同參數(shù)的所有設(shè)備的統(tǒng)稱,比如圖片所示“智能燈”就是若干個(gè)智能燈設(shè)備,這些設(shè)備具有共同的ProductKey。
下面以新建dddd設(shè)備為例,進(jìn)一步操作。新建設(shè)備,命名為dddd,所屬品類對(duì)話框中輸入“燈”,然后選擇一種,這些都是阿里云支持的不同品類,不同的產(chǎn)品具有不同的參數(shù)和屬性。
建立完成之后,再看詳情,這個(gè)dddd產(chǎn)品下面有ProductKey(產(chǎn)品標(biāo)識(shí)碼),也有ProductSecret(產(chǎn)品密鑰),產(chǎn)品信息、Topic類列表,功能定義,服務(wù)端訂閱等。
Topic類列表如下圖,具體分析見文章
IoT物聯(lián)網(wǎng)平臺(tái)通信用Topic梳理
?
功能定義很重要,主燈開關(guān),標(biāo)識(shí)符LightSwitch很重要,開關(guān)是最重要的功能,需要記住。這個(gè)標(biāo)識(shí)符還要在arduino程序中綁定,用來響應(yīng)網(wǎng)絡(luò)指令。通過手機(jī)APP來控制D1模塊上的LED,全指望這個(gè)標(biāo)識(shí)符代表的信息呢。
服務(wù)端訂閱沒有內(nèi)容,暫時(shí)不提。
有了一種產(chǎn)品還不行,必須確定一個(gè)具體的設(shè)備才能進(jìn)行控制。
依次點(diǎn)擊物聯(lián)網(wǎng)平臺(tái)---設(shè)備管理---設(shè)備。然后添加設(shè)備。
產(chǎn)品選擇剛才定義的ddd,DeviceName可以填寫任意字符串,不過最好有自己的命名規(guī)則(比如light1),備注可以根據(jù)需要填寫。
添加了設(shè)備,就有了具體的執(zhí)行對(duì)象,就好像是生產(chǎn)了一批燈,這是其中一只編號(hào)為1的燈,世界上只有這一只,這只燈可以聯(lián)網(wǎng),可以通過網(wǎng)絡(luò)進(jìn)行控制,這就是物聯(lián)網(wǎng)。
這個(gè)light1打開只有可以看到ProductKey(產(chǎn)品標(biāo)識(shí)碼)和DeviceSecret(設(shè)備密鑰),DeviceName是設(shè)備名稱。
頁面上還有一系列的其他參數(shù),暫時(shí)可以不管。
?
點(diǎn)擊DeviceSecret右側(cè)的“查看”,可以看到一些參數(shù)。
在彈出的對(duì)話框中可以看到詳細(xì)的參數(shù),這就是前文所說的設(shè)備“身份證”信息,如同公民身份證一樣,一人一證,絕不重復(fù)。設(shè)備證書也是這樣,一個(gè)設(shè)備只有一個(gè)身份證,全球唯一。
物聯(lián)網(wǎng)就是這樣,有了身份證,它無論連接的哪個(gè)網(wǎng)絡(luò),只要是聯(lián)網(wǎng)了,就能通過身份證認(rèn)出來它。
這三個(gè)參數(shù)需要記下來,在arduino編程時(shí),需要填寫才行。
設(shè)備在阿里云物聯(lián)網(wǎng)平臺(tái)登記后就有了身份證,但是狀態(tài)顯示是“未激活”“離線”和“在線”。
如果設(shè)備從未聯(lián)網(wǎng),就顯示“未激活”,如果連接阿里云了,就顯示“在線”,如果未連接就顯示“離線”。如下圖所示。
下一步,將使用MQTT.FX軟件模擬設(shè)備連接阿里云物聯(lián)網(wǎng)平臺(tái)。主要是通過模擬連接,熟悉物聯(lián)網(wǎng)連接的原理。
討論交流。
?
?
?
總結(jié)
以上是生活随笔為你收集整理的使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(四)---阿里云物联网平台使用基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【MySQL】求差集
- 下一篇: 了解SPI总线CAN控制器 MCP251