天天看點

“0”基礎物聯網IOT開發實踐(下)——阿裡雲 MVP程磊三、基于阿裡雲的遠端點燈實驗四、由簡單到複雜,走進物聯網開發

【MVP時間】線上峰會,一鍵收藏 《“0”基礎物聯網IOT開發實踐》精彩直播

檢視上篇文章,

點選這裡。

三、基于阿裡雲的遠端點燈實驗

上面我們用樹莓派4控制了硬體(Arduino),接下來我們用阿裡雲來控制我們的裝置。主要分為三個步驟:

(一)阿裡雲IOT注冊與産品建立

在将裝置連接配接到阿裡雲之前,我們需要登入阿裡雲IOT的網站首頁建立一個賬号,然後開通并啟用物聯網平台,然後進入如下操作:

1.建立産品

産品是物聯網産品的基本單元,每個産品下面會有一個或多個一模一樣的裝置,是以産品是我們描述一個裝置功能的一個模闆。點選裝置管理中的産品進入産品頁面建立産品,簡單起見選擇自定義品類,直連裝置 ,連網方式根據實際情況選擇,資料格式選擇Alink JSON , 認證方式選擇裝置密鑰,點選儲存即可完成建立。

2.添加功能

在産品頁面中,我們定義一個物模型,然後添加一個自定義功能,本例中就是開關,資料類型是bool型,通過0和1來實作燈的關和開,如下圖所示。通過釋出,我們就在阿裡雲IOT上有了一個帶開關屬性的産品。

“0”基礎物聯網IOT開發實踐(下)——阿裡雲 MVP程磊三、基于阿裡雲的遠端點燈實驗四、由簡單到複雜,走進物聯網開發

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了。

“0”基礎物聯網IOT開發實踐(下)——阿裡雲 MVP程磊三、基于阿裡雲的遠端點燈實驗四、由簡單到複雜,走進物聯網開發

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燈的開關。

“0”基礎物聯網IOT開發實踐(下)——阿裡雲 MVP程磊三、基于阿裡雲的遠端點燈實驗四、由簡單到複雜,走進物聯網開發

四、由簡單到複雜,走進物聯網開發

上文我們基于物聯網開發的點燈實驗,由淺到深的介紹了物聯網開發的基本套路。基于上文的實驗,如果我們在樹莓派4上連接配接繼電器,通過繼電器連接配接其他更加複雜的裝置(需要注意的是一般需要外接電源,單獨接樹莓派4的話會供電不足,造成裝置無法使用),就可以逐漸實作功能更加複雜的物聯網應用。通過阿裡雲控制遠端物聯網裝置的指令執行順序大緻如下:

(1)我們通過阿裡雲釋出指令;

(2)阿裡雲下傳指令到樹莓派4;

(3)樹莓派4通過USB線傳輸指令到繼電器;

(4)通過繼電器上電路的開關來控制繼電器上連接配接的裝置。

“0”基礎物聯網IOT開發實踐(下)——阿裡雲 MVP程磊三、基于阿裡雲的遠端點燈實驗四、由簡單到複雜,走進物聯網開發

在以上實驗的基礎上,我們可以進行更複雜的案例,比如基于IOT的自助汽車充氣吸塵裝站、全自動自助洗車房、無人售貨櫃等等,也許大家會覺得很複雜,但是要隻要深刻了解了“點燈實驗”的原理,那麼無論再複雜的應用,都可以被分解為無數個點燈實驗!行動起來吧!

關鍵詞:樹莓派4、物聯網開發、IOT開發、Arduino、阿裡雲