zoukankan      html  css  js  c++  java
  • 将人工智能带到物联网边界设备(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的基础介绍,如有兴趣,可以参考笔者之前文章):

     

    配置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的一个容器的方式在运行,在这个时候,我们还没有部署任何模块:

     

    下一部分继续介绍。

     

     

  • 相关阅读:
    Verilog模块概念和实例化#转载自Jason from Lofter
    P4-verilog实现mips单周期CPU
    P0-Logisim简单部件与有限状态机
    终——提问回顾与个人总结
    技术博客——PyPDF2 & Reportlab 使用
    结对——软工第一次结对项目
    分析——个人第二次博客作业
    交点——软工第一次个人项目作业
    启——软工第一次个人博客作业
    再会,旧时光——软工热身作业
  • 原文地址:https://www.cnblogs.com/cloudapps/p/8671814.html
Copyright © 2011-2022 走看看