昨天介紹了 AWS IoT 雲端服務,AWS IoT 也有邊緣的架構-> Greengrass,今天來介紹 Microsoft Azure IoT Edge 的邊緣架構。
雲觀幾乎有無限的空間可以儲存資料還有做資料的複雜運算,能夠收集所有的數據資料,並加以分析處理,通過物聯網設備整合到雲端服務中,可以監控或者管理這些物聯網的裝置設備。有了這些大量收集的資料還有複雜的運算功能,就可以實行來做機器學習、人工智能。
無限空間可以儲存資料、運算
可以監控、管理裝置設備
當物聯網進入邊緣端,意思就是在靠近裝置設備上運作,而不是傳送的遙遠的雲端上,控制基於AI(人工智慧)或者ML(機器學習)所訓練出來的結果做應用,不再是需要透過網路呼叫,然後再返回結果,而是需要在靠近裝置設備上(也就是邊緣)來進行模型訓練,或者是對邊緣裝置收集到的資料先做預處理的動作。當資料十分大量時,全部傳送到雲端去做運算和處理是要耗費很大的資源和金錢的,這時候可以先在邊緣做資料的處理與分析,初步的篩選與過濾再上傳至雲端。
需要非常及時的情況
當資料過於龐大,全部上傳雲端會耗費大量資源與金錢
Azure IoT的Hub,有點類似AWS IoT的gateway。
架構圖
物聯網還有一個重要的概念 - 邊緣服務。來介紹另一個雲端服務 - Azure。
Azure IoT的邊緣是讓雲端分析及運算功能能移到邊緣上運作,如果有大量的連線與部署就可以先在邊緣先做處理。
開發的部分提供了的程式語言包含: C、Node.js、Python,另外還支援C#,因為C#是微軟自己的語言,開發的時也支援VS Code。
在Azure IoT Edge當中,主要有三個元件:
IoT Edge 模組:
IoT Edge Runtime:
雲端式介面:
IoT Edge 模組是執行的單位,這些Edge的模組就是執行Azure服務的本體
,也可以是自己所寫的程式將程式碼部署到裝置,可以把它是作要執行的動作和條件,也能夠將很多模組互相傳訊,建立資料處理的管道。
Azure IoT Edge Runtime 可在 IoT Edge 裝置上執行IoT Edge 模組,在 IoT Edge 裝置上就可以執行與管理。 Runtime會執行數個IoT Edge 模組
當數量眾多的 IoT 裝置分散在各個地方運行,要如何管理這些軟體裝置就成為一件重要的事情,利用IoT Edge Runtime將模組狀態發佈到雲端來進行遠端監控,就可以來觀察裝置是否出現任何異常狀況。
邊緣的裝置管理
IoT 邊緣執行動作
https://docs.microsoft.com/zh-tw/azure/iot-edge/about-iot-edge
https://kknews.cc/tech/nm2kxxq.html
https://www.youtube.com/watch?v=01kHKNN3z-0