2022
我们一起努力

阿里云服务器远程,串口设备接入阿里云

在之前的文章中我们了解到虚拟串口软件作为TCP客户端来结合串口服务器使用,这一期我们来看一下串口服务器怎样接入阿里云物模型。

步骤详尽,一文读懂。

硬件准备

ME31-AXAX4040网络IO联网模块一台;

MCGS的TPC7062组态屏一台;

RS-458通讯电缆若干;

线缆若干;

12V开关电源一个;

串口服务器(NB114);

*说明:串口服务器作为数据传输设备目前版本并不支持对JSON数据的处理(处理指的是JSON转Modbus RTU协议,但可以传输JSON数据)因此需要使用MCGS对数据进行组包和解包操作。

设备接线

本例程需要使用的TPC7062的两路串口,COM2连接ME31-AXAX4040实现Modbus控制,COM1连接NB114实现连接阿里云MQTT服务器。

NB114的RS-232接口定义与TPC的2、3、5相同,连接时应当注意RX与TX交叉连接。

①TPC连接NB114接线示意:

②TPC连接ME31-AXAX4040示意:

软件配置

1.阿里云MQTT环境配置

①有账号直接登录,没有账号点击立即注册,根据注册引导进行下一步,可在网上查找到阿里云注册方法,本文不做介绍。

②在“产品”目录下选择“物联网IOT”的企业物联网平台,进入控制台,选择“公共实例”。

③点击“创建产品”,配置产品名称,选择“自定义品类”,其余参数保持默认。

④选择“功能定义”,点击“编辑草稿”。

⑤可以选择在“默认模块”下配置或者添加一个新的模块用于区别不同设备的功能定义,本项目使用“默认模块”即可。

⑥点击“添加自定义功能”,选择“属性”,配置名称,配置标志符(标准符与MCGS的JSON协议解析相关,若要使用本文解析脚本需要与我的配置方法保持一致,否则无法解析和正确组包数据),数据类型选择BOOL(布尔型),配置0和1的具体含义,如图所示:

⑦其他变量参考“开关量输入第一路”配置,在配置“开关量输出”注意修改为读写。

标识符说明(定义时需要与我保持一致)

名称

标识符

开关量输入第一路

DI01

开关量输入第二路

DI02

开关量输入第三路

DI03

开关量输入第四路

DI04

开关量输出第一路

DO01

开关量输出第二路

DO02

开关量输出第三路

DO03

开关量输出第四路

DO04

⑧在该产品目录下“添加设备”,复制产品“三要素”。

查询物模型的发布与订阅地址:

发布地址:/sys/a1mc0PReOQ9/${deviceName}/thing/service/property/set

订阅地址:/sys/a1mc0PReOQ9/${deviceName}/thing/event/property/post

${deviceName}需要替换为具体设备名,发布订阅都使用服务等级“0”。

2.串口服务器(NB114)配置

串口服务器连接MQTT服务器方法参考“串口服务器用户手册”,不再重复说明。

3.设备驱动添加与处理

本次例程需要使用到TPC的两路串口以及两种收发协议,详细说明如下:

①在MCGS官网下载“MCGS_嵌入式_扫码枪驱动”并安装用以实现串口数据透传。

②添加两台父设备分别关联COM1与COM2,COM1下添加扫码枪驱动,COM2添加Modbus RTU驱动。

③Modbus RTU驱动定义变量添加通道,参考中配置。

④扫码枪驱动定义变量添加通道,参考中配置。

4.变量添加

①除了设备通道中定义的变量外还需添加一些中间变量用于数据解析,如图所示。

阿里云物模型下发数据处理

添加事件脚本,关联“COM1_DEV4_S_R_STATE”,COM1在收到数据时有电平跳变,因此可以借助这个电平跳变采集串口数据,并使能数据处理脚本。

脚本如下:

接收处理,周期查询检测是否被使能。

标记设备,我这有多台设备需要接入服务器因此需要的各型号进行标记,若是单台设备直接对标记变量赋与固定值,具体脚本如下。

对原始数据进行第一次处理,仅保留JSON中“属性”字段,脚本如下

调用具体策略将平台数据解析到中间变量中缓存。

先将设备的DO状态保存到中间变量,再调用处理DO脚本,本例并未使用到AO请忽略。

DO处理脚本如下

调用处理IO执行脚本,脚本如下。

忽略对ME31-XAAX0440与ME31-AAAX2240的数据处理。

处理完成标记

简单制作一个界面关联相应变量。

②经过上述步骤,已经可以实现物模型平台控制,演示如下:

在“在线调试”控制第一路DO输出

处理上报阿里云物模型数据

接下来对上报数据进行处理,创建“用户策略”。

手动对数据进行组包处理,图中所示其余脚本在单设备中不生效。

标记完成对单设备不生效,因此只用清空处理标志。

添加手动上传功能,自动上传只是周期调用“上传策略”,不再说明:

查询当前平台参数:

点击“手动上传”,刷新网页再次查询:

自此就ME31-AXAX404通过TPC7062连接阿里云物模型实现远程控制采集。

赞(0)
文章名称:《阿里云服务器远程,串口设备接入阿里云》
文章链接:https://www.fzvps.com/95347.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!