资料中心
昆仑通态触摸屏(McgsPro)用 MQTT 连接阿里云
在物联网项目中,“触摸屏 + 云端” 的组合很常见 —— 比如用昆仑通态触摸屏采集设备数据,再通过 MQTT 协议上传到阿里云,实现远程监控。但很多小伙伴卡在 “参数配置” 和 “数据打通” 环节,要么连不上云,要么数据传不过去。
今天就带大家从 0 到 1 实操,搞定昆仑通态(McgsPro)触摸屏与阿里云的 MQTT 连接,新手也能跟着做!
一、前期准备:阿里云物联网平台配置
连接前,得先在阿里云上搭好 “接收端”—— 也就是创建实例、产品和设备,获取关键连接参数(这些参数后面要填到触摸屏驱动里)。
1. 找「实例 ID」和「实例域名」
阿里云物联网平台用 “实例” 管理设备,公共实例可免费用于测试,企业项目建议用企业版。
- 进入阿里云物联网平台控制台:https://iot.console.aliyun.com/
- 选择已开通的「公共实例」(若未开通,按提示开通即可),在「实例详情」页直接复制实例 ID(如:iot-06z00djgad7bo5r)。
- 查「实例域名」:在实例页找到「查看开发配置」→ 「终端节点(Endpoint)」,复制MQTT 协议的域名(如:iot-06z00i6mcexlahf.mqtt.iothub.aliyuncs.com),这是触摸屏连接阿里云的 “地址”。
2. 创建设品(设备模型)
“产品” 是同一类设备的集合(比如所有触摸屏),需先创建产品才能添加设备:
- 控制台左侧选「设备管理」→「产品」→「创建产品」。
- 填写关键信息:
- 产品名称:自定义(如 “昆仑通态触摸屏”)。
- 所属品类:选「自定义品类」(简单场景够用)。
- 节点类型:默认「直连设备」(触摸屏直接连阿里云)。
- 点击「确认」,创建后在产品详情页复制ProductKey(如:hgdaiCIOfdj),后续驱动配置要用到。
3. 添加设备(获取设备身份)
产品下添加具体设备,每个设备有唯一的 “身份信息”(DeviceName、DeviceSecret),是连接的核心:
- 进入产品详情页,点击「前往管理」→「添加设备」。
- 设备名称:自定义(如 “MQTTzhidao”),其他默认。
- 创建后,点击设备进入「设备信息」页,复制DeviceName和DeviceSecret(点击 “查看” 显示)。
- ✅ 此时设备状态是「未激活」,等触摸屏成功连接后会自动变成「在线」。
二、屏端配置:McgsPro 添加 MQTT 驱动
打开昆仑通态 McgsPro 软件,给触摸屏添加 “MQTT 驱动”,并把阿里云的参数填进去,建立连接链路。
1. 添加 MQTT 驱动
- 进入 McgsPro「设备管理」→「可选设备」,展开「物联网」分类,找到「MQTT_STD 阿里云驱动」。
- 点击「增加」,将驱动添加到「选定设备」,命名设备(如 “阿里云 MQTT 设备”)。
- 双击添加的驱动,进入「设备编辑窗口」,默认设置:
- 初始工作状态: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. 阿里云:定义物模型(数据格式)
“物模型” 就是告诉阿里云:要接收什么数据(如电压、温度)、数据类型是什么(整数、浮点)。
- 进入产品详情页,选「功能定义」→「编辑草稿」。
- 点击「添加自定义功能」,配置数据:
- 功能类型:选「属性」(常规数据上报用属性)。
- 功能名称:自定义(如 “电压”)。
- 标识符:必须记好!(如 “num”,后续驱动要对应,大小写敏感)。
- 数据类型:选「int32(整数型)」(根据实际数据类型选,如温度用浮点型 df)。
- 读写类型:选「只读」(触摸屏只上报数据,不接收云端修改)。
- 点击「发布上线」,物模型生效。
- 查上报 Topic:在产品详情页「Topic 类列表」→「物模型通信 Topic」,找到「设备属性上报」的 Topic,格式为:
/sys/{ProductKey}/{DeviceName}/thing/event/property/post
把{ProductKey}和{DeviceName}换成自己的参数(如:/sys/hgdaiCIOfdj/MQTTzhidao/thing/event/property/post),这是触摸屏上报数据的 “目标地址”。
2. McgsPro:配置发布订阅(数据传输)
在驱动里设置 “发布”(触摸屏发数据到云)和 “订阅”(触摸屏收云端指令),重点先配置 “发布”。
(1)配置 “发布”:触摸屏上报数据
- 驱动编辑窗口→「驱动配置」→「消息列表」→「发布订阅」→「添加发布消息」。
- 填写发布参数:
- 主题名称:粘贴第一步复制的「设备属性上报 Topic」(确保 DeviceName 正确)。
- 主题别名:自定义(如 “电压上报”,无实际影响)。
- 消息格式:选「json 格式」(阿里云物模型要求)。
- 触发方式:选「变数触发」(用 “心跳变量” 触发数据发送)。
{
"params": {
"num": -2147483647 // "num"是阿里云物模型的标识符,值填触摸屏变量
}
}
- 点击「消息编辑」,定义 JSON 数据格式:
阿里云要求的固定格式为:
- 在「消息定义窗口」,按上述格式添加:先建 “params” 对象,再添加 “num” 字段(数据类型选 int32)。
- 点击「确定」,发布配置完成。
(2)配置 “订阅”:触摸屏接收云端指令
如果需要云端控制触摸屏(如修改参数),需配置订阅:
- 同 “发布” 步骤,添加「订阅消息」,主题名称用阿里云「设备属性设置」的 Topic:
/sys/{ProductKey}/{DeviceName}/thing/service/property/set
- 消息格式同样选 JSON,编辑格式时对应物模型标识符即可。
(3)连接变量 & 测试
- 驱动配置完成后,会自动生成「通道」(如publish::/sys/...::params.num),将通道与触摸屏的实际变量(如 “电压采集值”)关联。
- 运行 McgsPro 模拟器,查看「通讯状态」:
- 若通讯状态为「0」:说明触摸屏与阿里云连接成功,设备在阿里云上会变成「在线」。
- 若不为 0:检查驱动参数(服务器 IP、客户端 ID、用户名密码)是否填错。
- 测试数据上报:修改触摸屏变量值(如电压 220),触发心跳变量(给心跳值取反),在阿里云设备详情页「物模型数据」(勾选实时刷新),就能看到上报的数据啦!
四、常见问题排查 & 小贴士
- 通讯状态不为 0?
- 优先查驱动参数:服务器 IP 是否是 MQTT 域名、客户端 ID 是否带全参数(securemode、signmethod)、用户名是否是 “DeviceName&ProductKey”。
- 检查网络:触摸屏是否能联网,阿里云端口 1883 是否被防火墙拦截。
- 通讯成功但数据不上报?
- 查 Topic:确认{DeviceName}是否替换正确,Topic 格式是否有多余空格。
- 查 JSON 格式:括号、引号是否为英文半角,标识符是否与阿里云物模型一致(大小写敏感)。
- 小贴士:
- 关键参数(ProductKey、DeviceSecret、Topic)建议存到记事本,避免反复查找。
- 测试用公共实例足够,正式项目需升级企业版(数据隔离、更高 SLA)。
结尾
以上就是昆仑通态触摸屏用 MQTT 连接阿里云的完整实操流程,核心在于 “参数对应” 和 “数据格式匹配”—— 只要把阿里云的关键参数准确填到驱动,再按物模型要求配置 JSON,就能轻松打通 “屏→云” 链路。
如果在操作中遇到问题,欢迎在评论区留言,一起交流解决!








