iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 28
0
Microsoft Azure

Azure 的奇幻之旅系列 第 28

Azure 系列文(28) - Edge 搭配 Stream Analytics 把危機都解除

  • 分享至 

  • xImage
  •  

上一篇提到了如何使用Azure Stream Analytics來做即時串流分析將結果輸出到Power BI,因此我們就可以有一個動態的儀表板,可是光是只能看絕對是不夠的,這篇我們會跟著Azure的範例加入警示的功能,讓Sensor的值達到一個閾值的時候,就馬上通知裝置,然後裝置做即時的動作,就可以避免災害發生,那我們就繼續看下去吧!

準備

  • Azure 帳號
  • Azure Stream Analytics
  • Azure IoT Edge

建立Azure Stream Analytics

先建立一個串流分析,然後填完資料後,按下建立
https://ithelp.ithome.com.tw/upload/images/20201007/20127994Oc5D4RvdWK.png

再來到輸入的部分,新增一個Edge 中樞,名稱為input
https://ithelp.ithome.com.tw/upload/images/20201007/201279948zRNsk4VWA.png

再來到輸出的部分,新增一個Edge 中樞,名稱為output
https://ithelp.ithome.com.tw/upload/images/20201007/20127994sWUxXtGeZh.png

然後到查詢的部分,貼上以下的程式碼,並且儲存

SELECT  
    'reset' AS command
INTO
    output
FROM
    input TIMESTAMP BY timeCreated
GROUP BY TumblingWindow(second,30)
HAVING Avg(machine.temperature) > 70

建立儲存體帳戶

首先建立一個儲存體帳戶
https://ithelp.ithome.com.tw/upload/images/20201007/20127994KLZU2ClkLN.png

填完一些資訊後就可以按下建立了
https://ithelp.ithome.com.tw/upload/images/20201007/20127994Jc9JUskMUv.png

新增儲存體帳戶

再來到Stream Analytics的儲存體帳戶設定,並且新增一個
https://ithelp.ithome.com.tw/upload/images/20201007/20127994VcACjHzIv2.png

部署模組

到IoT Hub的IoT Edge,接著進到設定模組內,新增一個Edge 模組
https://ithelp.ithome.com.tw/upload/images/20201007/20127994KQtonw60ew.png

模組

  • 名稱: SimulatedTemperatureSensor
  • 映像: mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:1.0

https://ithelp.ithome.com.tw/upload/images/20201007/20127994SoVDActvEj.png

接著新增一個Azure Stream Analytics模組
https://ithelp.ithome.com.tw/upload/images/20201007/20127994V2DcjZ3neB.png

接著在路由的部分新增四個

  • telemetryToCloud: FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
  • alertsToCloud: FROM /messages/modules/{剛剛的Stream Analytics模組名稱}/* INTO $upstream
  • alertsToReset: FROM /messages/modules/{剛剛的Stream Analytics模組名稱}/* INTO BrokeredEndpoint("/modules/SimulatedTemperatureSensor/inputs/control")
  • telemetryToAsa: FROM /messages/modules/SimulatedTemperatureSensor/* INTO BrokeredEndpoint("/modules/{剛剛的Stream Analytics模組名稱}/inputs/temperature")

https://ithelp.ithome.com.tw/upload/images/20201007/201279949lchR9cVQo.png

再來就可以到Edge裡面看結果了

iotedge logs SimulatedTemperatureSensor

可以看到機器在平均70度的時候就會直接reset裝置,然後降溫
https://ithelp.ithome.com.tw/upload/images/20201007/201279948UrFKeDA9T.png

透過上面的方式我們就可以達到快速處理異常的方法了,那後續的部分會將前面幾個章節的IoT Solution串起來,請大家敬請期待!


上一篇
Azure 系列文(27) - Stream Analytics 串流你的資料
下一篇
Azure 系列文(29) - Active Directory Single-Sign-On 應用程式註冊
系列文
Azure 的奇幻之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言