将人工智能带到物联网边界设备(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的一个容器的方式在运行,在这个时候,咱们尚未部署任何模块:

 

下一部分继续介绍。

相关文章
相关标签/搜索