无需编程,通过边缘计算网关把工业领域常见的Modbus协议的硬件设备接入IoT云平台。

前提条件

根据本产品的环境要求,选择运行边缘计算产品的硬件载体,例如准备一个硬件网关或者PC机,然后安装本产品。
  • 环境要求

    三个版本的产品对环境的要求如下。

    产品版本 硬件CPU架构 硬件CPU主频 硬件RAM 硬件磁盘
    专业版 x86-64 ≥2 GHZ ≥2 GB ≥2 GB
    标准版
    • x86-64
    • ARMv8-64
    • ARMv7 VFPv3硬浮点型
    • ARMv7软浮点型
    ≥1 GHZ ≥128 MB ≥128 MB
    轻量版
    • x86-64
    • ARMv8-64
    • ARMv7 VFPv3硬浮点型
    • ARMv7软浮点型
    不限制 ≥1 MB ≥1 MB
  • 环境设置
    我们以在x86_64 Ubuntu 16.04机器上安装Link IoT Edge标准版产品为例,设置Link IoT Edge运行所依赖的环境。
    1. 在x86_64 Ubuntu 16.04机器的本地终端窗口或者SSH终端窗口执行以下命令,下载环境检查工具并运行。
      wget http://iotedge-web.oss-cn-shanghai.aliyuncs.com/public/testingTool/link-iot-edge_env-check.sh
      
      sudo chmod +x./link-iot-edge_env-check.sh
      
      sudo ./link-iot-edge_env-check.sh
      说明 link-iot-edge_env-check.sh脚本在Link IoT Edge支持的平台需要以root权限运行并需要以下Linux系统命令:printfechocatlsexprgreptestunamesetheadsortcutuniqxargsifconfig
    2. 按照运行环境检查工具的提示在您的机器上安装所有必需的依赖项,当检查工具成功运行完成后,返回如下图信息,表示Link IoT Edge能够在您的机器上成功运行。Link IoT Edge能够在设备成功运行

背景信息

Modbus协议是一种较为通用的数据传输协议,覆盖大量的物联网设备场景,因其通信报文种类多,报文中数据解析方式更加灵活而广泛应用于当今工业电子设备。然而,不同的场景需要将报文转换类型和报文解析类型进行组合,因此对Modbus协议的通用性提出了非常高的要求。阿里云提供的一款面向边缘场景的云边一体的PaaS层软件服务:物联网边缘计算产品(Link IoT Edge),很好地解决了Modbus协议通用性问题。该产品以官方驱动(Modbus官方驱动)的方式提供了Modbus协议设备接入能力,该驱动目前支持8种标准功能码,同时支持多达11种数据解析方式,能够满足大多数物联网场景的使用。物联网边缘计算架构图如下。物联网边缘计算架构图使用物联网边缘计算,您可以将云端的能力通过适当剪裁和兼容性适配映射到边缘,将云端的服务下沉到边缘,解决边缘实时性、可靠性、运维经济性等方面的问题。在设备接入侧,Link IoT Edge提供了通信协议框架方便软硬件开发者便捷开发;在云端提供了Open API帮助SaaS开发者快速构建云端应用;同时也提供了一体化的运维工具,方便您在云端集中运维,降低运维成本,提升运维效率。设备接入本地边缘计算网关,网关通过Internet接入物联网平台。整体技术架构如下所示。
图 1. 整体技术架构图
整体技术架构图
阿里云物联网边缘计算产品的官方Modbus驱动示意图如下所示。网关通过本地连接方式(例如通过网络或串口)连接边缘设备,并通过边缘设备中的驱动能力,采集设备数据。
图 2. 官方Modbus驱动示意图
官方Modbus驱动示意图

创建边缘计算网关

  1. 登录物联网平台控制台,左侧导航栏选择设备管理>产品,单击创建产品
  2. 按照下图内容填写产品信息,然后单击完成填写产品信息
  3. 左侧导航栏选择设备管理>设备,在页面右侧单击添加设备。为上一步创建的网关产品添加一个具体的网关设备。添加设备
    网关设备创建成功,可获取到设备证书信息,用于后续步骤中网关连接物联网平台的身份验证。查看设备证书身份验证

    至此,已完成了边缘计算网关的创建。

创建Modbus传感器

接下来要在物联网平台,为用于采集环境数据的Modbus协议六合一传感器设备,创建产品模型。

  1. 登录物联网平台控制台,左侧导航栏选择设备管理>产品,单击创建产品
  2. 根据实际产品情况,填写如下图信息。填写产品信息
    其中,部分参数说明如下。
    参数 描述
    节点类型 选择设备
    是否入网关 选择
    接入网关协议 选择Modbus
    创建成功后,可以在产品详情页面确认关键信息是否正确。确认信息
  3. 产品详情页面功能定义页签,为产品添加物模型(添加自定义功能)。本文以添加温度属性为例,演示物模型属性创建过程。
    1. 根据下图内容,添加属性,填写功能名称、标识符。添加自定义功能
    2. 查看六合一传感器的说明书,找到温度相关的文档。示例如下:温度相关文档
      通过阅读文档,可以了解到温度获值转换的方法。
    3. 单击功能定义下面的扩展描述,填写操作类型寄存器地址数据类型,以及缩放因子,然后单击保存,参考下图。新增扩展描述
      至此,完成了温度属性的定义。同样方式,为产品添加湿度、气压、二氧化碳、PM2.5、光照强度属性定义。
  4. 左侧导航栏选择设备管理>设备,在页面右侧单击添加设备,基于产品注册具体设备。添加设备
  5. 设备注册完成后,可获取到传感器设备的证书信息。传感器设备的证书信息

配置和部署边缘实例

准备好边缘计算网关和Modbus采集器后,接下来就需要把二者关联起来。本文以一个边缘计算实例的方式来管理这个关系。

  1. 启动网关设备。
    1. 左侧导航栏选择边缘计算>边缘实例,单击页面右侧的新增实例
      其中,边缘实例需要关联已创建的边缘计算网关产品和设备,如下图所示。关联网关产品和设备
    2. 边缘实例创建完成后,需要安装边缘计算软件到网关中。单击软件安装,根据设备实际情况填写信息。软件安装
      填好信息后,单击生成安装命令
    3. 软件安装话框中单击复制命令复制命令
      安装命令参考:
      sudo curl -O http://link-iot-edge-packet.oss-cn-
      shanghai.aliyuncs.com/config/link-iot-edge-standard.sh && sudo chmod +x link-
      iot-edge-standard.sh &&./link-iot-edge-standard.sh --install x86-64 v2.1.0 
      &&./link-iot-edge-standard.sh --config a1*****E6E iot_edge_Gateway 
      d8yERLxi6faB5Kxbk8OyTJhoMK*****&& ./link-iot-edge-standard.sh --start
    4. 登录到网关设备,执行安装命令。
      该命令实现一键下载、配置并启动Link IoT Edge。命令执行完成后,会在当前目录中下载用于启动Link IoTEdge的link-iot-edge-standard.sh脚本。
    5. 执行如下命令查看Link IoT Edge核心服务的运行状态。
      sudo./link-iot-edge-standard.sh --status
      若系统显示如下信息,表示Link IoT Edge核心服务启动成功。Link IoT Edge核心服务启动成功
      说明 您也可以在物联网控制台,选择边缘计算>边缘实例,在已创建好的边缘实例右侧单击查看进入实例详情页面,选择网关,查看网关状态。
  2. 安装Modbus设备驱动。
    边缘网关设备启动后,把Modbus数据解析为物模型JSON的驱动程序安装到Modbus设备。
    1. 进入边缘计算实例详情页面的设备驱动配置页签,单击“+”图标,选择对应版本的官方Modbus驱动。如下图。分配驱动
    2. 选中已添加的Modbus驱动,单击分配子设备,关联Modbus驱动和Modbus设备。关联Modbus驱动和设备
    3. 完成驱动和设备的关联后,单击设备名称右侧的设备配置,配置关联通道。参考下图操作。配置关联通道
    4. 编辑通道页面,根据设备说明书填写通道配置参数,如下图。填写通道配置参数
    5. 通道建立后,还需要配置传感器地址码(从站号),以及数据采集频率。配置传感器地址码和数据采集频率
    6. 实例详情页面右上角单击部署。这样就把设备驱动和配置参数从云端下发到边缘网关的设备上了。
      边缘计算网关就会按照已设定的频率从指定通道读取数据,并按照属性模型把Modbus数据转化成物模型JSON数据,上报到物联网平台。参考如下。Modbus数据上报物联网平台当部署状态显示为部署成功,表示部署实例完成。您可以单击查看日志,查看部署详情。
    7. 设备运行后,进入Modbus设备的设备详情页面,查看运行状态,可以看到传感器采集到的环境数据。查看环境数据

名词解释

  • 驱动

    Link IoT Edge中的设备接入模块称为驱动(Driver)或设备接入驱动。所有连接到Link IoT Edge的设备都需要通过驱动实现接入。

  • 边缘实例

    边缘实例通过网关关联您的设备,将设备接入到物联网平台进行管理控制,边缘实例同时也管理您设备使用的其他资源,例如驱动,函数计算,场景联动规则等。

  • 部署

    在云端为设备编排各种功能和配置,然后通过物联网边缘计算部署功能,将云端的能力和配置下发到边缘设备,实现设备功能和配置的自动运行。

  • 监控信息

    对边缘设备的状态、边缘能力运行状态进行监控,通过图表的方式展示在云端,随时随地监控边缘状态。

  • 日志服务

    边缘设备上运行的各种能力均可以通过边缘API写入日志,同时支持该日志自动同步到云端,方便您随时随地查看日志状态。

  • 消息路由

    对边缘设备上数据流转做可视化的管理。通过路由规则动态规划消息的传输路径,使消息按照过滤条件,从消息源路由到目标节点的功能,称为消息路由。

  • 产品规格

    根据边缘场景不同,划分了三种不同的能力集合,称之为不同的产品规格,包括轻量版、标准版和专业版。

更多最佳实践

点击查看更多阿里云最佳实践