iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 26
0
Microsoft Azure

Azure 的奇幻之旅系列 第 26

Azure 系列文(26) - IoT Edge

Azure IoT Edge 將雲端分析和自訂商務邏輯移至裝置,讓您的組織可以專注於商業洞見而非資料管理。 將您的商務邏輯封裝到標準容器中,以擴增您的 IoT 解決方案,然後將這些容器部署到任何裝置,並從雲端進行全面監視。

我們可以使用Azure IoT Edge在邊緣進行分析、或者是異常偵測,可以更快速的回應,也可以減少到雲端的頻寬,所以今天本篇會帶大家部署一個簡單的Linux IoT Edge Runtime!

準備

  • Azure 帳號

建立IoT Hub

我們用Azure CLI來建立IoT Hub,所以需要先登入Azure

az login

安裝Extension

az extension add --name azure-iot

建立資源群組

az group create --name IoTEdge-rg --location westus2

建立IoT Hub

az iot hub create --resource-group IoTEdge-rg --name IoTEdge-hub --sku F1 --partition-count 2

註冊IoT Edge裝置

在IoT Hub裡面建立一個裝置

az iot hub device-identity create --device-id myEdgeDevice --edge-enabled --hub-name IoTEdge-hub

取得連接字串

az iot hub device-identity show-connection-string --device-id myEdgeDevice --hub-name IoTEdge-hub

部署IoT Edge

我們用範本快速建立一個Edge VM的環境

az deployment group create --resource-group IoTEdge-rg --template-uri "https://aka.ms/iotedge-vm-deploy" --parameters dnsLabelPrefix='iotEdge-vm' --parameters adminUsername='azureUser' --parameters deviceConnectionString=$(az iot hub device-identity show-connection-string --device-id myEdgeDevice --hub-name <REPLACE_WITH_HUB_NAME> -o tsv) --parameters authenticationType='password' --parameters adminPasswordOrKey="<REPLACE_WITH_PASSWORD>"

建立完後會有一個JSON的輸出,記住SSH的部分

 "outputs": {
      "public SSH": {
        "type": "String",
        "value": "ssh azureUser@xxxxxxx
      }
    },

連線IoT Edge

接著ssh到VM

ssh xxx@xxx.com

可以透過這個指令看IoT Edge有沒有Running

sudo systemctl status iotedge

部署模組

首先到剛剛建立好的IoT Hub,選擇IoT Edge
https://ithelp.ithome.com.tw/upload/images/20201005/201279944tiY26SJbq.png

點選剛剛建立好的myEdgeDevice,選擇設定模組
https://ithelp.ithome.com.tw/upload/images/20201005/20127994laeKV4Os2Y.png

在新增模組的地方,選擇Marketplace Module
https://ithelp.ithome.com.tw/upload/images/20201005/20127994IPF5Te5hzf.png

在Marketplace裡面找Simulated Temperature Sensor
https://ithelp.ithome.com.tw/upload/images/20201005/20127994buePnpc67b.png

再來直接建立即可
https://ithelp.ithome.com.tw/upload/images/20201005/20127994DJySfQo57x.png

查看資料

接著到VM看部署模組有沒有成功

sudo iotedge list

監視Log

sudo iotedge logs SimulatedTemperatureSensor -f

接著就可以看到輸出了!

 Sending message: 27, Body: [{"machine":{"temperature":29.796817919726855,"pressure":2.0021691300954645},"ambient":{"temperature":20.985177143702831,"humidity":25},"timeCreated":"2020-10-05T02:03:11.6584958Z"}]

當然我們也可以用前幾篇的方法到VScode的Extension看輸出
[圖]

我們透過上面的方式就可以在Edge端部署模組,然後將資料送到IoT Hub,當然我們也可以使用其他不同的模組,比如說AI分析的模組,或者自定義的程式碼,下一篇主題還沒想到,下集待續吧XD


上一篇
Azure 系列文(25) - IoT Hub 遠端控制裝置
下一篇
Azure 系列文(27) - Stream Analytics 串流你的資料
系列文
Azure 的奇幻之旅30

尚未有邦友留言

立即登入留言