首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将人工智能带到物联网边界(1)

我们已经将越来越多的设备连接起来,采集海量的数据,利用云端海量的计算能力和处理能力,进行设备的远程监控,预测分析,远程控制等功能,而机器学习,人工智能技术也越来越多的被用到物联网的解决方案中,让我们的设备便的更加智能。在传统的物联网解决方案中,设备端只是作为数据的源和命令执行端,并不具备逻辑处理能力,但在很多场景下,我们希望实时的响应能力,设备变得越来越智能,比如:

工厂连接的设备,需要针对紧急状况具备毫秒级的本地处理能力

在车联网方案中,即使汽车驶入车库无法联网,车机也可以工作

野外无人值守的石油设备,由于昂贵的通讯费用(卫星线路 )可以根据当前的油压,深度等参数使用本地机器学习模型自动深度调节设备运行,只有需要时才发送数据或报警到云端

智能家居/智能监控场景中的摄像头/麦克需要接近实时处理图像,声音,文字等

…….

从这个需求上来讲,我们除了需要物联网场景中云端的大规模计算和接入能力外,也需要设备端具备一定的逻辑处理和智能,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设备上的运行的管理程序,管理部署在设备山过的模块,并负责安全通讯等工作。

目前IOT Edge在本例中,测试使用的是Azure public账号,并使用Mac OS作为模拟IOT Edge设备,但因为IOT Edge的运行时和模块都是容器,其实在实际的设备和Linux,Windows上并没有太大区别。例子介绍主要分为3个部分:

配置IOT Hub云端服务

部署IOT edge数据处理模块

部署IOT Edge机器学习模块

前提条件(本文略过Azure CLI和Docker的基础介绍,如有兴趣,可以参考笔者之前文章):

已经具备Azure账号

本机安装Azure CLI https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest

本机安装Docker环境 https://www.docker.com/get-docker

配置IOT Hub云端服务

1. 首先需要创建一个测试的资源组:

azgroupcreate--namemyaksdemo--locationeastus

2. 创建IOT Hub云端服务

aziot hubcreate--resource-groupmyaksdemo--namemyiotsteven--skuF1

3. 登录到Azure管理界面,打开IOT Hub的管理界面,IOT Edge是一个独立类型的设备,所以在左侧的设备管理选择IOT Edge,注册新的IOT Edge设备:

添加新的设备并选择启用:

4. 完成后,点击设备获得连接字符串以及相关秘钥:

部署IOT edge数据处理模块

在IOT Hub端注册完设备后,我们就需要配置边缘设备上的运行时了,IOT Edge的运行时由两个模块组成,IOT Edge边界代理主要负责保证模块部署以及监控;而IOT Edge中心主要负责安全和通讯。

所以当你部署的时候,你的IOT Edge边界上的代理会先启动,而IOT Edge Hub中心会在你部署一个模块之后启动,首先来安装IOT Edge控制脚本

配置IOT Edge边界设备的运行时:

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

然后我们就可以启动边界运行时,可以看到,他是以docker的一个容器的方式在运行,在这个时候,我们还没有部署任何模块:

下一部分继续介绍。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180329G1J54X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券