资料中心

昆仑通态触摸屏(McgsPro)用 MQTT 连接阿里云

昆仑通态触摸屏(McgsPro)用 MQTT 连接阿里云

在物联网项目中,“触摸屏 + 云端” 的组合很常见 —— 比如用昆仑通态触摸屏采集设备数据,再通过 MQTT 协议上传到阿里云,实现远程监控。但很多小伙伴卡在 “参数配置” 和 “数据打通” 环节,要么连不上云,要么数据传不过去。

今天就带大家从 0 到 1 实操,搞定昆仑通态(McgsPro)触摸屏与阿里云的 MQTT 连接,新手也能跟着做!

一、前期准备:阿里云物联网平台配置

连接前,得先在阿里云上搭好 “接收端”—— 也就是创建实例、产品和设备,获取关键连接参数(这些参数后面要填到触摸屏驱动里)。

1. 找「实例 ID」和「实例域名」

阿里云物联网平台用 “实例” 管理设备,公共实例可免费用于测试,企业项目建议用企业版。

    1. 进入阿里云物联网平台控制台:https://iot.console.aliyun.com/
    1. 选择已开通的「公共实例」(若未开通,按提示开通即可),在「实例详情」页直接复制实例 ID(如:iot-06z00djgad7bo5r)。
    1. 查「实例域名」:在实例页找到「查看开发配置」→ 「终端节点(Endpoint)」,复制MQTT 协议的域名(如:iot-06z00i6mcexlahf.mqtt.iothub.aliyuncs.com),这是触摸屏连接阿里云的 “地址”。

2. 创建设品(设备模型)

“产品” 是同一类设备的集合(比如所有触摸屏),需先创建产品才能添加设备:

    1. 控制台左侧选「设备管理」→「产品」→「创建产品」。
    1. 填写关键信息:
    • 产品名称:自定义(如 “昆仑通态触摸屏”)。
    • 所属品类:选「自定义品类」(简单场景够用)。
    • 节点类型:默认「直连设备」(触摸屏直接连阿里云)。
    1. 点击「确认」,创建后在产品详情页复制ProductKey(如:hgdaiCIOfdj),后续驱动配置要用到。

3. 添加设备(获取设备身份)

产品下添加具体设备,每个设备有唯一的 “身份信息”(DeviceName、DeviceSecret),是连接的核心:

    1. 进入产品详情页,点击「前往管理」→「添加设备」。
    1. 设备名称:自定义(如 “MQTTzhidao”),其他默认。
    1. 创建后,点击设备进入「设备信息」页,复制DeviceNameDeviceSecret(点击 “查看” 显示)。
  • ✅ 此时设备状态是「未激活」,等触摸屏成功连接后会自动变成「在线」。

二、屏端配置:McgsPro 添加 MQTT 驱动

打开昆仑通态 McgsPro 软件,给触摸屏添加 “MQTT 驱动”,并把阿里云的参数填进去,建立连接链路。

1. 添加 MQTT 驱动

    1. 进入 McgsPro「设备管理」→「可选设备」,展开「物联网」分类,找到「MQTT_STD 阿里云驱动」。
    1. 点击「增加」,将驱动添加到「选定设备」,命名设备(如 “阿里云 MQTT 设备”)。
    1. 双击添加的驱动,进入「设备编辑窗口」,默认设置:
    • 初始工作状态:1 - 启动(驱动默认启动)。
    • 最小采集周期:100ms(根据需求调整)。

2. 驱动参数与阿里云对应(关键!)

点击「驱动配置」,填写阿里云 MQTT 连接参数,每一项都要和阿里云设备参数完全一致(网页文本可能无法直接复制,手动输入时仔细校对):

驱动参数

对应阿里云来源

示例值

通讯协议

固定选 MQTT v3.1.1

MQTT v3.1.1

服务器 IP

实例域名(MQTT 终端节点)

iot-06z00i6mcexlahf.mqtt.iothub.aliyuncs.com

服务端口

固定 1883(非加密端口,测试用)

1883

客户端 ID

设备 MQTT 连接参数中的 clientId

hgdaiCIOfdj.MQTTzhidao|securemode=2,signmethod=hmacsha256,timestamp=1684304461727|

用户名

设备 MQTT 连接参数中的 username

MQTTzhidao&hgdaiCIOfdj

密码

设备 MQTT 连接参数中的 passwd

8c99e66fc47275410e8f17395381796690fd0e42b8a800270ef985663d85fa47

  • 心跳周期:默认 30 秒(保持与云端的连接)。

  • 填写完成后点击「确定」,驱动连接的基础就打好了。

三、数据上传:打通 “屏→云” 链路

驱动连好后,还需定义 “传什么数据”(阿里云物模型)和 “怎么传”(McgsPro 发布订阅),才能让触摸屏数据上报到阿里云。

1. 阿里云:定义物模型(数据格式)

“物模型” 就是告诉阿里云:要接收什么数据(如电压、温度)、数据类型是什么(整数、浮点)。

    1. 进入产品详情页,选「功能定义」→「编辑草稿」。
    1. 点击「添加自定义功能」,配置数据:
    • 功能类型:选「属性」(常规数据上报用属性)。
    • 功能名称:自定义(如 “电压”)。
    • 标识符:必须记好!(如 “num”,后续驱动要对应,大小写敏感)。
    • 数据类型:选「int32(整数型)」(根据实际数据类型选,如温度用浮点型 df)。
    • 读写类型:选「只读」(触摸屏只上报数据,不接收云端修改)。
    1. 点击「发布上线」,物模型生效。
    1. 查上报 Topic:在产品详情页「Topic 类列表」→「物模型通信 Topic」,找到「设备属性上报」的 Topic,格式为:

/sys/{ProductKey}/{DeviceName}/thing/event/property/post

把{ProductKey}和{DeviceName}换成自己的参数(如:/sys/hgdaiCIOfdj/MQTTzhidao/thing/event/property/post),这是触摸屏上报数据的 “目标地址”。

2. McgsPro:配置发布订阅(数据传输)

在驱动里设置 “发布”(触摸屏发数据到云)和 “订阅”(触摸屏收云端指令),重点先配置 “发布”。

(1)配置 “发布”:触摸屏上报数据

    1. 驱动编辑窗口→「驱动配置」→「消息列表」→「发布订阅」→「添加发布消息」。
    1. 填写发布参数:
    • 主题名称:粘贴第一步复制的「设备属性上报 Topic」(确保 DeviceName 正确)。
    • 主题别名:自定义(如 “电压上报”,无实际影响)。
    • 消息格式:选「json 格式」(阿里云物模型要求)。
    • 触发方式:选「变数触发」(用 “心跳变量” 触发数据发送)。

		

{

"params": {

"num": -2147483647 // "num"是阿里云物模型的标识符,值填触摸屏变量

}

}

    1. 点击「消息编辑」,定义 JSON 数据格式:

阿里云要求的固定格式为:

    • 在「消息定义窗口」,按上述格式添加:先建 “params” 对象,再添加 “num” 字段(数据类型选 int32)。
    • 点击「确定」,发布配置完成。

(2)配置 “订阅”:触摸屏接收云端指令

如果需要云端控制触摸屏(如修改参数),需配置订阅:

    1. 同 “发布” 步骤,添加「订阅消息」,主题名称用阿里云「设备属性设置」的 Topic:

/sys/{ProductKey}/{DeviceName}/thing/service/property/set

    1. 消息格式同样选 JSON,编辑格式时对应物模型标识符即可。

(3)连接变量 & 测试

    1. 驱动配置完成后,会自动生成「通道」(如publish::/sys/...::params.num),将通道与触摸屏的实际变量(如 “电压采集值”)关联。
    1. 运行 McgsPro 模拟器,查看「通讯状态」:
    • 若通讯状态为「0」:说明触摸屏与阿里云连接成功,设备在阿里云上会变成「在线」。
    • 若不为 0:检查驱动参数(服务器 IP、客户端 ID、用户名密码)是否填错。
    1. 测试数据上报:修改触摸屏变量值(如电压 220),触发心跳变量(给心跳值取反),在阿里云设备详情页「物模型数据」(勾选实时刷新),就能看到上报的数据啦!

四、常见问题排查 & 小贴士

  1. 通讯状态不为 0?
    • 优先查驱动参数:服务器 IP 是否是 MQTT 域名、客户端 ID 是否带全参数(securemode、signmethod)、用户名是否是 “DeviceName&ProductKey”。
    • 检查网络:触摸屏是否能联网,阿里云端口 1883 是否被防火墙拦截。
  1. 通讯成功但数据不上报?
    • 查 Topic:确认{DeviceName}是否替换正确,Topic 格式是否有多余空格。
    • 查 JSON 格式:括号、引号是否为英文半角,标识符是否与阿里云物模型一致(大小写敏感)。
  1. 小贴士:
    • 关键参数(ProductKey、DeviceSecret、Topic)建议存到记事本,避免反复查找。
    • 测试用公共实例足够,正式项目需升级企业版(数据隔离、更高 SLA)。

结尾

以上就是昆仑通态触摸屏用 MQTT 连接阿里云的完整实操流程,核心在于 “参数对应” 和 “数据格式匹配”—— 只要把阿里云的关键参数准确填到驱动,再按物模型要求配置 JSON,就能轻松打通 “屏→云” 链路。

如果在操作中遇到问题,欢迎在评论区留言,一起交流解决!


Copyright © 2015-2025  昆态自动化科技有限公司  [浙ICP备2022031582号]