將人工智能帶到物聯網邊界設備(1)

咱們已經將愈來愈多的設備鏈接起來,採集海量的數據,利用雲端海量的計算能力和處理能力,進行設備的遠程監控,預測分析,遠程控制等功能,而機器學習,人工智能技術也愈來愈多的被用到物聯網的解決方案中,讓咱們的設備便的更加智能。在傳統的物聯網解決方案中,設備端只是做爲數據的源和命令執行端,並不具有邏輯處理能力,但在不少場景下,咱們但願實時的響應能力,設備變得愈來愈智能,好比: docker

  • 工廠鏈接的設備,須要針對緊急情況具有毫秒級的本地處理能力
  • 在車聯網方案中,即便汽車駛入車庫沒法聯網,車機也能夠工做
  • 野外無人值守的石油設備,因爲昂貴的通信費用(衛星線路 )能夠根據當前的油壓,深度等參數使用本地機器學習模型自動深度調節設備運行,只有須要時才發送數據或報警到雲端
  • 智能家居/智能監控場景中的攝像頭/麥克須要接近實時處理圖像,聲音,文字等
  • …….

從這個需求上來說,咱們除了須要物聯網場景中雲端的大規模計算和接入能力外,也須要設備端具有必定的邏輯處理和智能,Azure的IOT Edge爲設備賦能,讓你把人工智能,邏輯處理能力從雲端帶到邊界設備上,讓設備具有智能,雲端的IOT和設備端互相協做: 安全

在下面的例子中,我將介紹如何將你的機器學習模型部署到IOT邊界設備,實現設備端的邏輯處理和人工智能,基本的部署模型以下: 機器學習

一些基本的組件和服務介紹以下: 學習

IOT Hub服務:部署在Azure端的物聯網服務,支持百萬量級設備鏈接,進行IOT edge設備管理和雙向鏈接控制,經過module twins和設備twins同步雲端和設備端狀態 測試

IOT Edge模塊:IOT edge上的模塊其實是Docker容器,也就意味着只要是能夠容器化的服務,模型,代碼,均可以部署到邊界設備(無限想象力吧),另一個層面也說明,只要能夠支持Docker的ARM/X86嵌入式設備,均可以做爲IOT Edge設備 人工智能

IOT Edge 運行時:IOT Edge設備上的運行的管理程序,管理部署在設備山過的模塊,並負責安全通信等工做。 spa

目前IOT Edge在本例中,測試使用的是Azure public帳號,並使用Mac OS做爲模擬IOT Edge設備,但由於IOT Edge的運行時和模塊都是容器,其實在實際的設備和Linux,Windows上並無太大區別。例子介紹主要分爲3個部分: 代理

  • 配置IOT Hub雲端服務
  • 部署IOT edge數據處理模塊
  • 部署IOT Edge機器學習模塊

前提條件(本文略過Azure CLI和Docker的基礎介紹,若有興趣,能夠參考筆者以前文章): blog

 

配置IOT Hub雲端服務

 

  1. 首先須要建立一個測試的資源組:

az group create --name myaksdemo --location eastus 資源

 

  1. 建立IOT Hub雲端服務

az iot hub create --resource-group myaksdemo --name myiotsteven --sku F1

  1. 登陸到Azure管理界面,打開IOT Hub的管理界面,IOT Edge是一個獨立類型的設備,因此在左側的設備管理選擇IOT Edge,註冊新的IOT Edge設備:

 

添加新的設備並選擇啓用:

 

  1. 完成後,點擊設備得到鏈接字符串以及相關祕鑰:

部署IOT edge數據處理模塊

 

在IOT Hub端註冊完設備後,咱們就須要配置邊緣設備上的運行時了,IOT Edge的運行時由兩個模塊組成,IOT Edge邊界代理主要負責保證模塊部署以及監控;而IOT Edge中心主要負責安全和通信。

因此當你部署的時候,你的IOT Edge邊界上的代理會先啓動,而IOT Edge Hub中心會在你部署一個模塊以後啓動,首先來安裝IOT Edge控制腳本

 

配置IOT Edge邊界設備的運行時:

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

 

而後咱們就能夠啓動邊界運行時,能夠看到,他是以docker的一個容器的方式在運行,在這個時候,咱們尚未部署任何模塊:

 

下一部分繼續介紹。

相關文章
相關標籤/搜索