微軟雲Azure上物聯網產品提供了從設備接入到設備與雲的雙向通訊,到數據在雲中存儲,到數據分析,最後到數據展現的完整解決方案,本文主要介紹一些基本的概念,後續的章節中,會詳細介紹每款產品的使用方法及步驟。html
在公衆號(來學雲計算)中觀看本課程視頻:數據庫
或以下連接:https://v.qq.com/x/page/w3018a9etgc.html後端
雲中負責消息收發的主要產品是IoTHub,具有以下特色和優點,也就是爲何咱們會選擇IoTHub呢?安全
Dps是設備預配服務,當有大量設備要接入IoT Hub時,能夠提早配置預配服務,經過預配服務,設備可自動註冊到IoT Hub中。服務器
Azure 提供了C、NodeJS、C#,Python、Java等多種語言的設備SDK,經過這些SDK,使用Https,AMQP, MQTT協議經由設備鏈接字符串或者X509證書認證後, 設備便可接入IoT Hub,接入IoT Hub的設備,系統會自動爲每個設備建立一個設備孿生的Json文件,並公開了API/SDK,利用相似SQL的語法,能夠快速查詢雲中的設備狀態等,同時利用設備孿生,還能進行雙向通訊。網絡
設備使用SDK發送消息到雲端後,IoT Hub 自帶的消息路由功能,能夠將消息通過必定的過濾條件篩選後,轉發到不一樣的終結點,典型的應用是,將全部原始消息發送到Blob,作歷史記錄,或者將特定的數據,例如溫度高於100°C的消息發送到特定的消息隊列,這樣後端的應用就能夠從該隊列獲取到消息並進行處理,實現與業務系統的對接。架構
除了上述的IoT Hub 自帶的消息路由的方式,Azure 上其餘的服務也能夠對IoT Hub的數據進行處理,好比典型的實時流分析,流分析能夠以相似SQL的語法對數據進行查詢,好比:函數
SELECT * INTO [output] FROM [IoTHubInput] HAVING Temperature > 30雲計算
同時流分析還支持翻轉窗口,跳躍窗口,滑動窗口,會話窗口等幾種開窗函數,能夠實現更爲複雜的數據分析,典型的場景例如:操作系統
每30秒監測一次傳感器上報的平均溫度,高於100度時報警,就是經過滑動窗口實現的。
在上一個案例中,在某些特定的場景下,咱們只須要將溫度大於100°C的數據上傳,這樣能夠保證上傳到雲端的數據質量,在傳感器衆多的場景下,也可以節約傳輸成本。這樣的需求,Azure 也是支持的,Azure提供了邊緣計算產品,可以將流分析服務下沉到客戶本地網絡,提供以下優點:
將流分析下沉到邊緣側以後的架構,參見下圖:
那麼Azure IoT Edge是如何支撐流分析下沉到邊緣的呢?
Azure IoT Edge採用兼容於Docker的容器技術,支持Windows和Linux邊緣設備,在設備上裝Runtime後,能夠從Azure container registry中拉取鏡像並自動部署,基於此結構,還支持將雲上的認知服務、存儲、數據庫等部署在邊緣。
以上介紹的是微軟雲上產品,微軟在端側一樣提供了多種方案,最主要的是Windows操做系統,從小型設備到標準設備到邊緣計算服務器,微軟的IOT操做系統都進行了覆蓋:
雲和端之間,須要保證數據傳輸的安全,微軟提供了另外一個安全的高級應用程序平臺-Azure Sphere: