①TPC连接NB114接线示意:
②TPC连接ME31-AXAX4040示意:
软件配置1.阿里云MQTT环境配置
①有账号直接登录 , 没有账号点击立即注册 , 根据注册引导进行下一步 , 可在网上查找到阿里云注册方法 , 本文不做介绍 。
②在“产品”目录下选择“物联网IOT”的企业物联网平台 , 进入控制台 , 选择“公共实例” 。
③点击“创建产品” , 配置产品名称 , 选择“自定义品类” , 其余参数保持默认 。
④选择“功能定义” , 点击“编辑草稿” 。
⑤可以选择在“默认模块”下配置或者添加一个新的模块用于区别不同设备的功能定义 , 本项目使用“默认模块”即可 。
⑥点击“添加自定义功能” , 选择“属性” , 配置名称 , 配置标志符(标准符与MCGS的JSON协议解析相关 , 若要使用本文解析脚本需要与我的配置方法保持一致 , 否则无法解析和正确组包数据) , 数据类型选择BOOL(布尔型) , 配置0和1的具体含义 , 如图所示:
⑦其他变量参考“开关量输入第一路”配置 , 在配置“开关量输出”注意修改为读写 。
标识符说明(定义时需要与我保持一致)
⑧在该产品目录下“添加设备” , 复制产品“三要素” 。
查询物模型的发布与订阅地址:
发布地址:/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输出
处理上报阿里云物模型数据
接下来对上报数据进行处理 , 创建“用户策略” 。
- 曝格力成立数字化渠道管理部:任命王自如为负责人
- 阿里巴巴|还在把中国自家技术往外推?阿里云出招了
- 倪光南|俄罗斯再次敲响警钟!倪光南院士预言成真
- Java|特斯拉为何使用.net core技术框架?为何不用java/go等?
- 创投圈|【腾复医疗完成超亿元A+轮融资】
- 阿里巴巴|马云的另一个“身份”,和老美的合作令人猜想,他到底做了什么?
- 关于网传“用脚踩制作螺蛳粉用酸豆角”网络舆情事件的声明
- 腾讯|【微言微语】网络筹款平台“默认”额外收费,怎能遮遮掩掩
- 苹果|保时捷曾与苹果讨论扩展合作项目,与Apple Car有关?
- 食品安全|螺霸王否认螺蛳粉使用脚踩酸豆角:将邀请用户访问工厂