Azure IoT Edge on Raspberry Pi 3 with Raspbian


        在《Azure IoT Edge on Windows 10 IoT Core》一文中,我們以運行Windows 10 IoT Core的MinnowBoard MAX為例,詳細講述了Windows 10 IoT Core(Build 16299)的安裝、Docker的部署、Python和Iotedgectl工具的安裝、IoT Edge Device的創建、Module的部署與運行。

        本文中,我們將以運行Linux的樹莓派3為例,詳細講述Raspbian系統的安裝、Python和pip工具的安裝、Docker的部署、IoT Edge Control的安裝、IoT Edge Device的創建以及Module的部署與運行。

 

1. 在Raspberry Pi 3 上安裝Raspbian系統

        對於樹莓派3而言,Raspbian是官方支持的系統,其系統安裝就是將Raspbian燒寫到TF卡中。首先,用戶可以到樹莓派的官網下載系統(鏈接為:https://www.raspberrypi.org/downloads/raspbian ),下載的光盤鏡像文件Raspbian-stretch大約有1.7G。然后,准備一張8G、Class10 以上的TF卡,將其插入到讀卡器並連接到PC。接着,利用Etcher工具(https://etcher.io/ )把下載的系統燒錄到TF卡中。

clip_image002

        整個過程大概需要15分鍾,如果TF卡速度快,那時間就會短很多。燒寫完成之后,將TF卡插入樹莓派3,同時,為樹莓派的HDMI接上顯示器、鼠標和鍵盤,就可以上電了。系統運行以后,在樹莓派的設置中,將Enable SSH的選項勾上,如下圖所示。

clip_image004

        接下來,我們需要使用Putty連接樹莓派,默認情況下,用戶名是pi,密碼是raspberry。

clip_image006

        然后,我們需要運行如下指令來更新系統:

          sudo apt update && sudo apt full-upgrade –y

 

2. 安裝Python和pip

        由於Azure IoT Edge Runtime本身就是一個Python pip,所以需要在樹莓派上安裝這個工具。如果安裝系統鏡像的時候,是最新的文件,那么Python和pip應該是2.7.13和9.0.1的版本。可以通過如下兩個指令來查看:

          python --version

          pip –version

        輸出結果如下:

clip_image008

        如果沒有安裝Python和pip,那么可以通過以下命令安裝:

          sudo apt install python-pip -y

        之后,我們需要對工具進行更新,分別鍵入如下指令:

          sudo pip install --upgrade setuptools pip

          sudo apt install python2.7-dev libffi-dev libssl-dev -y

        執行結果如下圖所示:

clip_image010

3. 安裝Docker

        利用Putty連接樹莓派,使用如下命令安裝Docker

          curl -sSL https://get.docker.com | sudo -E sh

        安裝完成之后,為當前用戶(pi)添加運行Docker的權限,

          sudo usermod -aG docker pi

        然后,使用如下指令重啟樹莓派:

         sudo reboot

        並使用下面的指令來測試Docker運行狀態:

         docker run hello-world

        其輸出如下:

clip_image012

        現在,我們需要通過Docker將IoTedge Agent 和 IoTedge Hub這兩個模塊 Pull到本地,即在PowerShell中分別運行:

          docker pull microsoft/azureiotedge-agent:1.0-preview

          docker pull microsoft/azureiotedge-hub:1.0-preview

 

4. IoT Edge Device的創建

        這部分可以參考《Azure IoT Edge on Windows 10 IoT Core》一文中的第4部分,在IoT Edge中創建一個名為Raspberry的IoT Edge Device,並獲得其連接字符串Connection String。

 

5. IoT Edge Runtime的部署與配置

        首先,使用如下命令安裝IoT Edge control腳本:

          sudo pip install -U azure-iot-edge-runtime-ctl

        之后,通過執行如下指令來配置IoT Edge Runtime:

          iotedgectl setup --connection-string "{device connection string}" --auto-cert-gen-force-no-passwords

        其中的"{device connection string}"由上面第4步中保存的Connection String來代替。

clip_image014

        配置結果如下,顯示設置成功:

clip_image016

        配置完成后,開始運行IoT Edge Runtime:

          sudo iotedgectl start

clip_image018

        IoT Edge Runtime運行以后,可以通過如下命令查看IoT Edge agent的運行情況:

          sudo docker ps

        輸出如下:

clip_image020

        表明IoT Edge hub和agent已經開始運行。

 

6. 部署一個Module並監控數據

        這部分可以參考《Azure IoT Edge on Windows 10 IoT Core》一文中的第6部分,在Azure Portal中為Raspberry創建一個Module。

        運行起來以后,用戶可以通過Azure Device Explorer工具完成數據監控,這部分內容可以參考《Azure IoT Edge on Windows 10 IoT Core》一文中的第7部分.

clip_image022

        至此,我們已經在樹莓派上完成了Raspbian的安裝,進行了Docker的部署和Python、Iotedgectl工具的安裝,同時,在Azure Portal上完成了IoT Edge Device的創建、Module的部署與運行。同時,通過Azure Device Explorer工具監控Edge Device和Azure IoTHub數據的交互。

 

參考鏈接:

1. Azure IoT Edge on Windows 10 IoT Core

2. https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-simulate-device-Linux

3. https://pypi.python.org/pypi/azure-iot-edge-runtime-ctl#installation-troubleshooting

4. http://blog.jongallant.com/2017/11/azure-iot-edge-raspberrypi/

5. Azure Device Explorer工具下載:https://github.com/Azure/azure-iot-sdk-csharp/releases

 

我的博客即將同步至騰訊雲+社區,邀請大家一同入駐。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM