Modbus设备通过边缘网关接入阿里云IoT平台
Posted HaaS技术社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Modbus设备通过边缘网关接入阿里云IoT平台相关的知识,希望对你有一定的参考价值。
无需编程,通过边缘计算网关把工业领域常见的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运行所依赖的环境。
- 在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系统命令:printf、echo、cat、ls、expr、grep、test、uname、set、head、sort、cut、uniq、xargs、ifconfig。 - 按照运行环境检查工具的提示在您的机器上安装所有必需的依赖项,当检查工具成功运行完成后,返回如下图信息,表示Link IoT Edge能够在您的机器上成功运行。
- 在x86_64 Ubuntu 16.04机器的本地终端窗口或者SSH终端窗口执行以下命令,下载环境检查工具并运行。
背景信息
Modbus协议是一种较为通用的数据传输协议,覆盖大量的物联网设备场景,因其通信报文种类多,报文中数据解析方式更加灵活而广泛应用于当今工业电子设备。然而,不同的场景需要将报文转换类型和报文解析类型进行组合,因此对Modbus协议的通用性提出了非常高的要求。阿里云提供的一款面向边缘场景的云边一体的PaaS层软件服务:物联网边缘计算产品(Link IoT Edge),很好地解决了Modbus协议通用性问题。该产品以官方驱动(Modbus官方驱动)的方式提供了Modbus协议设备接入能力,该驱动目前支持8种标准功能码,同时支持多达11种数据解析方式,能够满足大多数物联网场景的使用。物联网边缘计算架构图如下。
使用物联网边缘计算,您可以将云端的能力通过适当剪裁和兼容性适配映射到边缘,将云端的服务下沉到边缘,解决边缘实时性、可靠性、运维经济性等方面的问题。在设备接入侧,Link IoT Edge提供了通信协议框架方便软硬件开发者便捷开发;在云端提供了Open API帮助SaaS开发者快速构建云端应用;同时也提供了一体化的运维工具,方便您在云端集中运维,降低运维成本,提升运维效率。设备接入本地边缘计算网关,网关通过Internet接入物联网平台。整体技术架构如下所示。
图 1. 整体技术架构图
阿里云物联网边缘计算产品的官方Modbus驱动示意图如下所示。网关通过本地连接方式(例如通过网络或串口)连接边缘设备,并通过边缘设备中的驱动能力,采集设备数据。
图 2. 官方Modbus驱动示意图
创建边缘计算网关
- 登录物联网平台控制台,左侧导航栏选择设备管理>产品,单击创建产品。
- 按照下图内容填写产品信息,然后单击完成。
- 左侧导航栏选择设备管理>设备,在页面右侧单击添加设备。为上一步创建的网关产品添加一个具体的网关设备。 网关设备创建成功,可获取到设备证书信息,用于后续步骤中网关连接物联网平台的身份验证。
至此,已完成了边缘计算网关的创建。
创建Modbus传感器
接下来要在物联网平台,为用于采集环境数据的Modbus协议六合一传感器设备,创建产品模型。
- 登录物联网平台控制台,左侧导航栏选择设备管理>产品,单击创建产品。
- 根据实际产品情况,填写如下图信息。 其中,部分参数说明如下。
创建成功后,可以在产品详情页面确认关键信息是否正确。参数 描述 节点类型 选择设备 是否入网关 选择是 接入网关协议 选择Modbus - 在产品详情页面功能定义页签,为产品添加物模型(添加自定义功能)。本文以添加温度属性为例,演示物模型属性创建过程。
- 根据下图内容,添加属性,填写功能名称、标识符。
- 查看六合一传感器的说明书,找到温度相关的文档。示例如下:
通过阅读文档,可以了解到温度获值转换的方法。
- 单击功能定义下面的扩展描述,填写操作类型、寄存器地址、数据类型,以及缩放因子,然后单击保存,参考下图。
至此,完成了温度属性的定义。同样方式,为产品添加湿度、气压、二氧化碳、PM2.5、光照强度属性定义。
- 左侧导航栏选择设备管理>设备,在页面右侧单击添加设备,基于产品注册具体设备。
- 设备注册完成后,可获取到传感器设备的证书信息。
配置和部署边缘实例
准备好边缘计算网关和Modbus采集器后,接下来就需要把二者关联起来。本文以一个边缘计算实例的方式来管理这个关系。
- 启动网关设备。
- 左侧导航栏选择边缘计算>边缘实例,单击页面右侧的新增实例。
其中,边缘实例需要关联已创建的边缘计算网关产品和设备,如下图所示。
- 边缘实例创建完成后,需要安装边缘计算软件到网关中。单击软件安装,根据设备实际情况填写信息。
填好信息后,单击生成安装命令。
- 在软件安装话框中单击复制命令。 安装命令参考:
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
- 登录到网关设备,执行安装命令。
该命令实现一键下载、配置并启动Link IoT Edge。命令执行完成后,会在当前目录中下载用于启动Link IoTEdge的link-iot-edge-standard.sh脚本。
- 执行如下命令查看Link IoT Edge核心服务的运行状态。
若系统显示如下信息,表示Link IoT Edge核心服务启动成功。sudo./link-iot-edge-standard.sh --status
说明 您也可以在物联网控制台,选择边缘计算>边缘实例,在已创建好的边缘实例右侧单击查看进入实例详情页面,选择网关,查看网关状态。
- 左侧导航栏选择边缘计算>边缘实例,单击页面右侧的新增实例。
- 安装Modbus设备驱动。
边缘网关设备启动后,把Modbus数据解析为物模型JSON的驱动程序安装到Modbus设备。
- 进入边缘计算实例详情页面的设备驱动配置页签,单击“+”图标,选择对应版本的官方Modbus驱动。如下图。
- 选中已添加的Modbus驱动,单击分配子设备,关联Modbus驱动和Modbus设备。
- 完成驱动和设备的关联后,单击设备名称右侧的设备配置,配置关联通道。参考下图操作。
- 在编辑通道页面,根据设备说明书填写通道配置参数,如下图。
- 通道建立后,还需要配置传感器地址码(从站号),以及数据采集频率。
- 在实例详情页面右上角单击部署。这样就把设备驱动和配置参数从云端下发到边缘网关的设备上了。
边缘计算网关就会按照已设定的频率从指定通道读取数据,并按照属性模型把Modbus数据转化成物模型JSON数据,上报到物联网平台。参考如下。
当部署状态显示为部署成功,表示部署实例完成。您可以单击查看日志,查看部署详情。
- 设备运行后,进入Modbus设备的设备详情页面,查看运行状态,可以看到传感器采集到的环境数据。
名词解释
- 驱动
Link IoT Edge中的设备接入模块称为驱动(Driver)或设备接入驱动。所有连接到Link IoT Edge的设备都需要通过驱动实现接入。
- 边缘实例
边缘实例通过网关关联您的设备,将设备接入到物联网平台进行管理控制,边缘实例同时也管理您设备使用的其他资源,例如驱动,函数计算,场景联动规则等。
- 部署
在云端为设备编排各种功能和配置,然后通过物联网边缘计算部署功能,将云端的能力和配置下发到边缘设备,实现设备功能和配置的自动运行。
- 监控信息
对边缘设备的状态、边缘能力运行状态进行监控,通过图表的方式展示在云端,随时随地监控边缘状态。
- 日志服务
边缘设备上运行的各种能力均可以通过边缘API写入日志,同时支持该日志自动同步到云端,方便您随时随地查看日志状态。
- 消息路由
对边缘设备上数据流转做可视化的管理。通过路由规则动态规划消息的传输路径,使消息按照过滤条件,从消息源路由到目标节点的功能,称为消息路由。
- 产品规格
根据边缘场景不同,划分了三种不同的能力集合,称之为不同的产品规格,包括轻量版、标准版和专业版。
以上是关于Modbus设备通过边缘网关接入阿里云IoT平台的主要内容,如果未能解决你的问题,请参考以下文章