阿里云服务器上传,阿里轻量服务器怎么搭建
在之前的文章中我们了解到虚拟串口软件作为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连接阿里云物模型实现远程控制采集。
发布于:2023-01-18,除非注明,否则均为
原创文章,转载请注明出处。
发表评论