杜龙少(sdvdxl)

网关采集 Modbus 温度传感器数据传输到 IoTOS 实例

字数统计: 2.9k阅读时长: 10 min
2020/02/19 Share

概述

氦氪 IoTOS 是一款物联网数据中台产品,可覆盖 BAT、华为物联网云服务的绝大部分功能,可接入市面上大多数硬件网关。而 Hekr Gateway204 作为一款搭载氦氪物联网边缘计算操作系统 EdgeOS 的工业网关,自然可以和 IoTOS 无缝对接。

本文对 Hekr Gateway204 采集 Modbus 温度传感器数据并上传到 IoTOS 这样一个最简单的对接实例进行介绍。

实现目标

  • 采集温度数据上报到 IoTOS
  • IoTOS 展示实时温度曲线
  • IoTOS 发送超温报警到第三方应用

配置前准备

  1. IoTOS 上注册账号
  2. Hekr Gateway204 硬件网关一台(包括配套电源)
  3. Modbus 温度采集控制器及传感器一套(包括配套电源)
  4. 网线一根、485双绞线一根

对接流程

  1. 平台配置:登陆 IoTOS 并创建网关和温度传感器的产品物模型,并创建设备信息(三元组,鉴权使用)
  2. 网关配置:登陆网关配置页面进行配置网关及协议参数
  3. 设备连接:将网关接入网络,并将网关与温度采集控制器及传感器的对应接口相连接
  4. 数据查看:在 IoTOS 上查看上下行数据、指标趋势和聚合趋势
  5. 报警转发:在 IoTOS 上配置超温报警的转发规则

平台配置

  1. 注册并登陆 IoTOS 平台
  2. 通过“产品开发”栏创建网关产品,相关配置如下图:
  3. 通过“产品开发”栏创建温度传感器产品,相关配置如下图:
  4. 找到3中创建的温度传感器产品,进入“功能定义”栏,点击“创建参数”进行平台端参数创建,相关配置如下图:

    点击“命令”进行平台端命令创建,并将“待选参数”channelA填入“已选参数”,相关配置如下图:
  5. 通过“设备管理”栏创建网关设备,“所属产品”选择2中创建的网关产品,“设备名称”与“设备ID”的内容客户可自行进行编辑填写,“设备ID”创建后不可修改。本例中创建网关设备的相关配置如下图:
  6. 通过“设备管理”栏创建温度传感器设备,“所属产品”选择3中创建的温度传感器产品,“设备名称”与“设备ID”的内容客户可自行进行编辑填写,“设备ID”创建后不可修改。本例中创建温度传感器设备的相关配置如下图:

网关配置

硬件介绍

Hekr Gateway204 采用 TI 公司 CortexA8 嵌入式低功耗 CPU(主频600M)为核心,外扩 256MB DDR3,256MB Nandflash (可选8G e.MMC)存储,4路RS485/RS232,2个10M/100M 自适应的以太网,1个4G 模块,2个USB-Host接口,可接TF卡外外扩大容量存储,具有电磁屏蔽性好,美观坚固的铝合金结构机箱。

网络接口图示

Hekr Gateway204 型工业网关共有2个网口。ETH1 作为外网网口接入路由器或者交换机,ETH0 作为内网网口常用于网关配置。
初次使用工业网关时,需用网线将 PC 与网关 ETH0 网口直连。请保证 PC 的网卡正常并且有线网络连接处于开启状态。

建立网络连接

Hekr Gateway204 型工业网关共有2个网口。ETH1 作为外网网口接入路由器或者交换机,可通过 DHCP 自动获取上级设备分配的 IP 地址,ETH0 作为内网网口,上位机与 ETH0 直连后可通过 DHCP 自动获取内网给上位机分配的 IP 地址,windows 电脑可通过 cmd 指令 ipconfig 查询本机有线网络 IP 地址,通常为 192.168.17.X,那么 ETH0 网关访问地址即为 192.168.17.1,可使用 ping 命令确认网络连通性。

登录智能管理界面

打开 Web 浏览器(推荐 Chrome 浏览器),在地址栏输入网关访问地址(通常为 192.168.17.1,部分场景会有不同),回车后进入如下登录页面。

输入用户名、密码(缺省均为 admin,区分大小写),单机“登录”按钮或直接回车即可进入智能管理页面。

设备主界面

登录成功后,主界面如下图:

主界面信息栏显示网关设备当前主要的运行参数。

创建并配置实例

下面,我们将以典型的串口 Modbus 协议采集,网口 KLink 协议转发到 IoTOS 为例,引导您一步一步创建并配置一个实例。一般步骤为:

1
2
3
4
5
6
7
8
9
1.创建转发实例

2.配置转发实例参数

3.创建数据采集实例

4.配置数据采集实例参数并关联到转发实例

5.保存改动到配置文件并重启设备
创建转发实例

点击侧边栏“转发”按钮并点击“添加”在弹出来的页面中填写转发实例标识符,类型选择“KLinkMQTT”

配置转发实例参数
  • 添加实例完成后点击该实例的按钮进行参数配置,界面如下:

  • 在“主机”栏中填写设备连接服务器域名或者 IP:IoTOS测试 MQTT 协议连接地址为 test-mqtt.hekr.me

  • 在“端口”栏中填写设备连接服务器端口:mqtt协议连接端口默认为1883

  • 在“MQTT协议版本”栏中选择3.1.1

  • 在“发布QoS”栏中选择 QoS0

  • 在“订阅QoS”栏中选择 QoS0

  • 在“Product Key”栏中填写在 IoTOS 上创建的网关产品PK

  • 在“Device Id”栏中填写在 IoTOS 上创建的网关设备名称

  • 在“Device Secret”栏中填写在 IoTOS 上创建的网关设备秘钥

  • 点击“添加”在“添加产品”页面的“Product Key”栏中填写在 IoTOS 上创建的子设备(温度采集控制器)产品PK,在“命令”栏中填写命令名称,这里上报命令可填写 report,填写完成后点击“确定”

  • 上一步添加子产品完成后会生成子设备的产品记录,点击该行记录的“编辑”按钮可进行管理子设备,这里点击“添加”按钮在“Device Id”栏中填写在 IoTOS 上创建的子设备(温度采集控制器)名称

  • 在“上报间隔”栏中可填写命令帧的上报时间间隔,这里默认填写5000(毫秒)

  • 上述一系列操作完成后在页面最上方的“启用”按钮栏打钩并点击页面最下方的“更新”按钮。

此时,KLink 协议连接到 IoTOS 转发实例配置完成。

创建数据采集实例

点击侧边栏“数据”按钮并点击“添加”在弹出来的页面中填写数据采集实例标识符,类型选择“Modbus RTU”

配置数据采集实例参数并关联到转发实例

  • 添加实例完成后点击该实例的按钮进行参数配置,界面如下:

  • 在“设备节点”栏中填写网关设备串口通道地址,默认通道为/dev/ttyO4

  • 在“波特率”栏中选择通信波特率,默认为9600

  • 在“数据位”栏中选择数据位,默认为8

  • 在“校验位”栏中选择校验位,默认无校验为N

  • 在“停止位”栏中选择1

  • 在“超时时间”栏中填写 Modbus 命令应答超时时间,这里填1000(ms)

  • 点击按钮添加设备,在页面中的“设备标识”栏填写在 IoTOS 上创建的子设备(温度采集控制器)名称(同转发实例中的子设备名称)

  • 在“设备采集点表”栏下点击“+”进行Modbus采集点位编辑

  • 本实例中的 Modbus 协议设备为温度传感器,“属性名”填为channelA,“设备地址”填为1,“功能码”选择保持寄存器(0x03,0x16),“寄存器地址”填为40,“数据类型”填为INT16,“交换寄存器内高低字节”填为否,“交换寄存器顺序”填为否,“时间间隔”填为1000(这里的Modbus解析参数可能需要根据实际接入的设备协议不同进行调整)

  • 上述一系列操作完成后在页面最上方的“启用”按钮栏打钩并点击页面最下方的“更新”按钮。并在上边菜单“高级”栏中勾选“启用转发”的启用按钮并点击页面下方的“更新”按钮

此时,通过 Modbus RTU 协议采集温度传感器数据采集实例配置完成,并成功关联到 KLink 转发实例。

保存改动到配置文件并重启

点击侧边栏“设置”按钮并点击“保存改动”页面右上角弹出“成功”则配置文件成功保存到网关设备。点击“重新启动硬件”则可重启网关设备。

设备连接

此时,平台和网关的相关参数已经配置完成,将网关 ETH1 网口接入外网,并且使用双绞线将网关第4号485口与温度采集控制器的485接口相连接并且将温度采集控制器上电,网关即可采集到相应的温度数据。接线端子定义及接线方法如下所示:

电源及串口端子定义

引脚序号 信号定义 功能说明 备注
1 12V/VCC 电源输入+端 电压范围9V-30V 推荐使用12V供电
2 GND 电源输入-端/电源地 电压范围9V-30V 推荐使用12V供电
3 232TX1 232发送引脚 第一路RS232接口
4 232RX1 232接收引脚 第一路RS232接口
5 232GND 信号地
6 232TX2 232发送引脚 第二路RS232接口
7 232RX2 232接收引脚 第二路RS232接口
8 232GND 信号地
9 232TX3 232发送引脚 第三路RS232接口
10 232RX3 232接收引脚 第三路RS232接口
11 232GND 信号地
12 232TX4 232发送引脚 第四路RS232接口
13 232RX4 232接收引脚 第四路RS232接口
14 232GND 信号地
15 485A1 485+端引脚 第一路RS485接口
16 485B1 485-端引脚 第一路RS485接口
17 485A2 485+端引脚 第二路RS485接口
18 485B2 485-端引脚 第二路RS485接口
19 485A3 485+端引脚 第三路RS485接口
20 485B3 485-端引脚 第三路RS485接口
21 485A4 485+端引脚 第四路RS485接口
22 485B4 485-端引脚 第四路RS485接口
23 CANL1 CAN总线L端引脚 第一路CAN接口
24 CANH1 CAN总线H端引脚 第一路CAN接口
25 CANGND 信号地
26 CANL0 CAN总线L端引脚 第零路CAN接口
27 CANH0 CAN总线H端引脚 第零路CAN接口
28 CANGND 信号地

接线安装

接线时,我们建议您带有管型预绝缘端子的导线。将导线插入接线端子对应的插槽中,并将螺丝拧紧即可。

数据查看

所有设备接线完成后,登录 IoTOS 后台在设备列表中可查看到设备成功上线。

点击“查看”进入设备详情页面,通过“设备上下行数据”功能可查看上报的原始数据。

点击“指标趋势”或“聚合趋势”可看到温度数据的原始值趋势和聚合值趋势,如下图:

报警转发

在实际工业场景中,业主可能会只关心报警、故障等关键信息,而非所有数据,此时可用“规则引擎”功能简单配置。

假如温度超过45℃就要报警,业务应用数据接收报警地址为http://testdomain/warning,则规则引擎配置如下图:

总结

至此,我们的目标已经实现。

来源

原文作者:杜龙少(sdvdxl)

原文链接:https://todu.top/posts/5a99/

发表日期:2020-02-19 15:12:32

更新日期:2020-04-11 18:34:43

版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可

CATALOG
  1. 1. 概述
  2. 2. 实现目标
  3. 3. 配置前准备
    1. 3.1. 对接流程
    2. 3.2. 平台配置
    3. 3.3. 网关配置
      1. 3.3.1. 硬件介绍
      2. 3.3.2. 网络接口图示
      3. 3.3.3. 建立网络连接
      4. 3.3.4. 登录智能管理界面
      5. 3.3.5. 设备主界面
      6. 3.3.6. 创建并配置实例
        1. 3.3.6.1. 创建转发实例
        2. 3.3.6.2. 配置转发实例参数
        3. 3.3.6.3. 创建数据采集实例
        4. 3.3.6.4. 保存改动到配置文件并重启
  4. 4. 设备连接
    1. 4.1. 电源及串口端子定义
    2. 4.2. 接线安装
  5. 5. 数据查看
  6. 6. 报警转发
  7. 7. 总结