Skip to main content

Azure IoT Edge快速介绍

分类:  Azure物联网 标签:  #Azure #IoT Edge # 发布于: 2023-06-14 20:35:38

边缘计算的概念已经火了一段时间,Azure为物联网的边缘计算也提供了自己的解决方案,也就是我们今天要介绍的Azure IoT edge, 主要的目的还是将原先部分由云计算中心完成的部分业务逻辑或者数据分析业务根据应用场景转移到设备上。

Azure IoT Edge为了满足边缘计算的目的,允许用户集成更多的Azure服务到设备上,例如Azure FunctionAzure AI等等,同时也支持用户在边缘设备上运行自己的代码,Azure IoT Edge提供三类组件:

  • IoT Edge Module: 容器化的应用,运行在本地设备上。
  • Iot Edge runtime: 运行在每个设备上,为设备管理模块的部署。
  • 云计算接口:用于远程监控和管理Edge设备。

Azure IoT Edge安装的注意事项

要安装Azure IoT Edge在设备上,必须要熟悉设备上运行的系统,Azure将支持的平台分为两个级别,请仔细注意Tier 1Tier 2两类级别的操作系统的支持不一样。

  • Tier 1级别的系统是直接受微软支持的:
    • 这个级别的系统是被微软测试过的。
    • 微软提供预编译包
  • Tier 2级别的系统是和Azure IoT Edge兼容的,一般相对来说比较容易安装,对于这个级别的系统,微软:
    • 微软有限测试过这个级别的系统或者微软的合作商测试过。
    • 不一定提供预编译的安装包。

那么这两个级别分别有哪些系统呢?

Tier 1

操作系统AMD64ARM32V7AMR64
Ubuntu 18.04支持不支持Public preview
Raspberry Pi OS Stretch不支持支持不支持

注意
IoT Edge 1.1 LTS 是最后一个支持windows容器的版本,IOT Edge 1.2以及之后的版本都不支持Windows容器了, IoT Edge需要容器的支持

Tier 2

这个级别的操作系统有:
(截至时间为: 2021-12-16, 如果需要更新的说明,请参考文档:https://docs.microsoft.com/en-us/azure/iot-edge/support?view=iotedge-2020-11)


注意
选定系统之后,要安装Azure IoT Edge,一定要注意选择对应系统的预编译包,预编译包从这里对照下载:https://github.com/Azure/azure-iotedge/releases

快速的Ubuntu 18.04上安装Azure IoT Edge

安装Ubuntu 18.04不用赘述,安装好系统之后,使用创建的用户登录到控制台,采用如下的步骤来安装和配置Azure IoT Edge

  1. 打开控制台,在控制台下运行如下的命令来更新Ubuntu的安装源:

    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/packages-microsoft-prod.deb > ./packages-microsoft-prod.deb
    

    然后安装下载回来的包:

        sudo dpkg -i packages-microsoft-prod.deb
    

    更新安装源:

        sudo apt update
    
  2. 安装容器引擎:

     sudo apt-get install moby-engine
    
  3. 安装Azure IoT Edge的运行时

        sudo apt-get install aziot-edge
    
  4. 配置您的Azure IoT Edge使得该设备可以连接到Azure IoT Hub
    关于如何快速的创建Azure IoT Hub, 请参考文档:https://www.azuredeveloper.cn/article/azure-iot-hub-tools, 简单的步骤如下:

    az group create --name MyIoTGroupByCli --location chinaeast2 
    az iot hub create --resource-group MyIoTGroupByCli --name MyIoTHubByCli
    az iot hub device-identity create --device-id simDevice --edge-enabled --hub-name MyIoTHubByCli #创建一个IoT Edge设备
    

    创建完成后,取得该IoT Edge设备的SAS Key连接字符串:

    az iot hub device-identity connection-string show  --device-id simDevice --resource-group MyIoTGroupByCli
    

    拿到连接字符串之后,使用如下的命令来配置:

        sudo iotedge config mp --connection-string '您的连接字符串'
        sudo iotedge config apply -c /etc/aziot/config.toml
    
  5. 启动Azure IoT Edge服务:

        sudo iotedge system restart
    
  6. 其他有用的命令:

    • `sudo iotedge logs 
    • sudo iotedge system logs
    • sudo iotedge check
    • sudo iotedge system status
    • sudo iotedge list

设置Azure IoT Edge模块edgeAgentedgeHub

设备上的Azure IoT Edge runtime安装完成之后,我们需要重新设定一下模块edgeAgentedgeHub, 这两个模块的设置,需要登录到Azure Portal, 找到Azure IoT Hub, 然后在左侧菜单里找到IoT Edge, 如下图:



然后在左侧的列表中找到您的Azure IoT Edge设备,选择该设备,点击进去,然后选择菜单Set Module, 如下图:


在出现的界面里选择Runtime Setting, 如下图:


在配置页面中更改edgeAgentedgeHub的路径和版本如下:

如下图:


然后在配置页面选择Apply按钮之后,回到配置页面选择Review + Create,完成配置就可以了,


另外需要注意的是edgeAgentedgeHub的版本和Azure IoT Edge Runtime之间是有对应关系的,并不是越新越好,详细对应的情况,您可以参考微软的文档:https://docs.microsoft.com/en-us/azure/iot-edge/support?view=iotedge-2020-11#releases, 也可以参考下图:

Azure IoT Edge 1.2发布:


之前的老版本支持: