模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云

模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云缩略图
本文目录
  1. 1. MQTT 接入点
  2. 2. 环境准备
  3. 3. 接入示例
  4. 4. 配置 MQTT.fx 接入文件
  5. 5. 测试通信
  6. 6. 上行通信
  7. 7. 下行通信
  8. 8. 总结

TuyaLink 协议是涂鸦 IoT 开发平台面向物联网开发领域设计的一种数据交换规范,数据格式为 JSON,主要用于设备端和涂鸦 IoT 开发平台的双向通信,更便捷地实现了设备端和平台之间的业务数据交互。

设备的通信方式也是多种多样的。无线通信方式有蓝牙 LE、Zigbee、蓝牙 Mesh、433 协议,有线通信方式有 RS-485、RS-232、以太网以及各种工业协议等。但通信只是建立一个数据通道,要想真正运作起来,还需要了解数据包格式协议。数据协议包括 OCPP、Modbus、工业标准协议和其他自定义协议等。

本文介绍的 Tuya MQTT 标准协议是其中一种协议,也是涂鸦物联网平台最底层的基础通讯协议。开发者可根据协议完全自主地进行嵌入式开发,该协议可支持所有设备的集成。

本文以一款常见的 MQTT 客户端 MQTT.fx 为例,模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云。

MQTT 接入点

涂鸦 IoT 开发平台支持全球多个区域的设备接入,故需要根据设备实际使用的区域,来选择对应的接入点。

全球 6 大区 MQTT 接入点如下:

区域MQTT 接入域名端口号
中国数据中心m1.tuyacn.com8883
中欧数据中心m1.tuyaeu.com8883
美西数据中心m1.tuyaus.com8883
美东数据中心m1-ueaz.tuyaus.com8883
西欧数据中心m1-weaz.tuyaeu.com8883
印度数据中心m1.tuyain.com8883

环境准备

在 涂鸦 IoT 开发平台 创建产品,获取如下参数值。详细创建产品的过程请参考 选品类创建产品

模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图
模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图1
参数名称参数说明
ProductID产品的信息
DeviceID设备的身份信息,用于连接云端授权和通信使用
DeviceSecret设备的密码信息 ,用于连接云端授权使用

接入示例

配置 MQTT.fx 接入文件

1.在 MQTT.fx 官网下载并安装相应操作系统版本的 MQTT.fx 客户端。

2.打开 MQTT.fx 软件,单击菜单栏中的 Extras 选项,并选择 Edit Edit Connection Profiles模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图2

3.在 Edit Edit Connection Profiles 页面中填写相关参数。
模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图3

参数名称参数说明
Profile Name输入您的自定义名称
Profile TypeMQTT 服务器连接,选择 MQTT Broker
Broker AddressMQTT 接入域名,对应 MQTT 协议中的域名,此处以中国区域名 m1.tuyacn.com 为例
Broker Port通信端口号,设置为 8883
Client IDMQTT 协议字段,格式为 tuyalink_{$deviceid}
General使用默认值即可

4.选择 User Credentials 并填写相关参数。模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图4

参数名称参数说明
User Name${deviceId}|signMethod=hmacSha256,timestamp=${当前 10 位时间戳},secureMode=1,accessType=1;例如:6c828cba434ff40c074wF2|signMethod=hmacSha256,timestamp=1607837283,secureMode=1,accessType=1
PasswordhmacSha256(content, deviceSecret),content 的值"deviceId=6c828cba434ff40c074wF2,timestamp=1607635284,secureMode=1,accessType=1",按照 deviceId,timestamp,secureMode,accessType 这个顺序组装明文内容。64 位字符的 16 进制数,不足 64位时前面需要补零。

此处涉及到的 DeviceID 和 DeviceSercet 信息在 IoT 平台注册设备时生成,可参考 环境准备 章节找打到相应参数,Password 加密信息可以通过 Hmac 在线计算工具生成。示例如下:
模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图5

5.选择 SSL/TLS,选中 Enable SSL/TLS 并设置 Protocol 为 TLSv1.2模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图6

6.单击右下角 OK 完成设置,再去主页面单击 Connect
等待右侧指示灯变绿,表示连接成功。模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图7

测试通信

上行通信

  1. 在 Publish 页面输入发布的 topic,并填写 payload 信息,点击 Publish,此处以 tylink/6c855a6e81c40a91e9k5gx/thing/model/get topic 为例进行介绍。模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图8模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图9
  2. 进入涂鸦 IoT 开发平台的设备日志页面,输入 DeviceID 信息,可以看到刚才发布的消息,证明上行通信已经成功。模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图10

下行通信

  1. 在 Subscribe 页面输入 topic,点击 Subscribe,客户端会出现一条订阅的信息,此处以 tylink/6c855a6e81c40a91e9k5gx/thing/property/get_response topic 为例进行介绍。模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图11
  2. 进入 Publish 页面,输入与订阅对应的 topic 信息,并点击 Publish 发布模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图12
  3. 返回到 Subscribe 页面,可以看到刚才订阅的 topic 收到了云端的信息。模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云插图13

总结

涂鸦IoT平台的Tuya MQTT标准协议是一种基础通讯协议,用于支持各种设备的集成。文章以MQTT.fx客户端为例,介绍了如何使用涂鸦的开放MQTT协议接入涂鸦云。涂鸦IoT平台为全球多个区域提供设备接入支持,因此需要根据设备所在区域选择相应的MQTT接入点。文章还详细描述了如何在MQTT.fx中配置接入设置,包括Broker地址、端口、客户端ID、用户凭证和SSL/TLS设置。这一流程旨在帮助开发者理解并实现设备与涂鸦云之间的有效通信。

技术术语(共 5 个)—— 点击展开
MQTT轻量级物联网消息传输协议,基于发布/订阅模式,适合低带宽不稳定网络
BrokerMQTT 代理服务器,负责接收发布消息并分发给订阅者
TopicMQTT 主题,消息路由的层级字符串,支持通配符 + 与 #
订阅客户端向 Broker 注册感兴趣的主题以接收消息
发布客户端向指定主题发送消息
来源/工具信息 —— 点击展开
来源 MQTT中文网(mqtt.cn) —— 国内领先的MQTT通信协议技术社区 分类 MQTT 教程 / 智能家居 字数 2426 字 · 阅读约 7 分钟 更新 2023-12-09 永久链接 https://www.mqtt.cn/1236.html
推荐工具:MQTT调试助手 微信小程序
MQTT中文网官方推出的MQTT调试工具,支持 MQTT 3.1.1/5.0 实时连接调试、主题订阅、消息收发监控与报文分析。 无需安装,微信搜索「MQTT调试助手」即可使用。 电脑端入口:https://www.mqtt.cn/mqtttool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 mqtt.cn
相关标签
📝 作者声明
本文由 MQTT中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口

发表回复