檢視上篇文章,
點選這裡。三、基于阿裡雲的遠端點燈實驗
上面我們用樹莓派4控制了硬體(Arduino),接下來我們用阿裡雲來控制我們的裝置。主要分為三個步驟:
(一)阿裡雲IOT注冊與産品建立
在将裝置連接配接到阿裡雲之前,我們需要登入阿裡雲IOT的網站首頁建立一個賬号,然後開通并啟用物聯網平台,然後進入如下操作:
1.建立産品
産品是物聯網産品的基本單元,每個産品下面會有一個或多個一模一樣的裝置,是以産品是我們描述一個裝置功能的一個模闆。點選裝置管理中的産品進入産品頁面建立産品,簡單起見選擇自定義品類,直連裝置 ,連網方式根據實際情況選擇,資料格式選擇Alink JSON , 認證方式選擇裝置密鑰,點選儲存即可完成建立。
2.添加功能
在産品頁面中,我們定義一個物模型,然後添加一個自定義功能,本例中就是開關,資料類型是bool型,通過0和1來實作燈的關和開,如下圖所示。通過釋出,我們就在阿裡雲IOT上有了一個帶開關屬性的産品。

3.添加裝置
完成産品後,我們就需要從平台申請裝置了,隻有申請了裝置,才能獲得平台的登入資格,也才能将我們的真實實體裝置與平台的雲端虛拟裝置對應綁定起來。點選菜單裝置管理 ,裝置,在下拉菜單裡選擇我們之前建立的産品,然後點選添加裝置,即可建立一個裝置。建立完成之後,裝置詳情頁中我們已經可以看到裝置連接配接雲端的密鑰了,一共三個,一個産品ID 一個裝置ID,和密鑰,密鑰是隐藏的,點選檢視即可顯示,此參數注意保密不要洩露。密鑰我們會在裝置上用到,需要先儲存下來。
(二)裝置連接配接阿裡雲
1.安裝依賴庫
阿裡雲使用的是mqtt協定,是以在連接配接阿裡雲之前我們可以通過如下代碼安裝mqtt庫:
python3 -m pip install paho-mqtt
2.修改程式
首先到
https://www.yuque.com/miniqiang/swxcv8/xwgp5w#b5676800下載下傳程式源碼壓縮包,其中所包含的程式和介紹如下圖所示:
- aliLink.py :阿裡雲登入相關協定支援
- mqttd.py :mqtt服務
- rpi.py :擷取系統資料與控制led函數
- run.py :主函數
按照如下圖所示修改其中的三元素和topic并儲存,這樣我們的裝置就能夠有權限登入阿裡雲IOT了。
3.運作程式
我們需要使用shell來啟動程式,是以我們需要在shell下将工作目錄移動到code目錄下,然後運作主程式。随後,裝置就會與阿裡雲正常通訊,每隔10秒上報一次自己的資料,并且會自動響應雲端控制指令
4.雲端調試
我們前往IOT背景,在控制台頁面選擇産品服務 , 搜尋關鍵字IOT,點選物聯網平台連結确認我們的裝置已經線上了,并且可以看到最後線上時間。點選檢視連接配接進入詳情頁,運作狀态下就可以看到上報的資料了。打開實時重新整理功能,就看到我們的裝置上報資料了,各種系統資料一目了然,并且會自動重新整理,我們亦可通過線上調試頁籤向裝置下發指令進行控制調試。
(三)IOT Studio WEB可視化
通過注冊阿裡雲和裝置連接配接阿裡雲兩個步驟,我們可以通過阿裡雲給樹莓派4發送消息,在樹莓派接收到消息後再通過USB給Arduino發送指令,控制Led燈的開關,就實作了基于阿裡雲的遠端點燈試驗。但是,畢竟不是可視化的應用,用起來還是有些麻煩,是以我們可以使用阿裡雲的IOT Studio WEB可視化開發來開發一個可視化的工具。
首先我們選擇IoT Studio的開發服務,選擇建立項目,建立好項目後,快速關聯上之前的産品和裝置,讓IoT Studio 能夠通路到我們的裝置資料源;然後,選擇WEB可視化開發菜單,進入web可視化開發頁面,建立一個web可視化應用,點選元件,選擇開關,選擇開關元件對應的裝置以及對應裝置的屬性即可。通過以上,我們便得到了一個如下圖所示的非常簡單的web應用,可以通過該應用來控制我們Arduino裝置上Led燈的開關。
四、由簡單到複雜,走進物聯網開發
上文我們基于物聯網開發的點燈實驗,由淺到深的介紹了物聯網開發的基本套路。基于上文的實驗,如果我們在樹莓派4上連接配接繼電器,通過繼電器連接配接其他更加複雜的裝置(需要注意的是一般需要外接電源,單獨接樹莓派4的話會供電不足,造成裝置無法使用),就可以逐漸實作功能更加複雜的物聯網應用。通過阿裡雲控制遠端物聯網裝置的指令執行順序大緻如下:
(1)我們通過阿裡雲釋出指令;
(2)阿裡雲下傳指令到樹莓派4;
(3)樹莓派4通過USB線傳輸指令到繼電器;
(4)通過繼電器上電路的開關來控制繼電器上連接配接的裝置。
在以上實驗的基礎上,我們可以進行更複雜的案例,比如基于IOT的自助汽車充氣吸塵裝站、全自動自助洗車房、無人售貨櫃等等,也許大家會覺得很複雜,但是要隻要深刻了解了“點燈實驗”的原理,那麼無論再複雜的應用,都可以被分解為無數個點燈實驗!行動起來吧!
關鍵詞:樹莓派4、物聯網開發、IOT開發、Arduino、阿裡雲