Page 1 of 1

基于涂鸦IoT开发平台TuyaLink MQTT.fx标准协议接入示例

Posted: 2022年 Oct 21日 11:41
by zhangzh

涂鸦提供云端 TuyaLink标准协议(MQTT )开放协议,供开发者接入硬件设备,本文以一款常见的 MQTT 客户端 MQTT.fx 为例,模拟设备使用涂鸦开放的 MQTT 协议接入涂鸦云

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

参数名称 参数说明
ProductID 产品的信息
DeviceID 设备的身份信息,用于连接云端授权和通信使用
DeviceSecret 设备的密码信息 ,用于连接云端授权使用

接入示例
配置 MQTT.fx 接入文件
1、在 MQTT.fx 官网下载并安装相应操作系统版本的 MQTT.fx 客户端。
Image
2、打开 MQTT.fx 软件,单击菜单栏中的 Extras 选项,并选择 Edit Edit Connection Profiles。
Image

3、在 Edit Edit Connection Profiles 页面中填写相关参数。
Image

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

4、选择 User Credentials 并填写相关参数。

Image

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

此处涉及到的 DeviceID 和 DeviceSercet 信息在 IoT 平台注册设备时生成,可参考 环境准备 章节找打到相应参数,Password 加密信息可以通过 Hmac 在线计算工具生成。示例如下:
Image

5、选择 SSL/TLS,选中 Enable SSL/TLS 并设置 Protocol 为 TLSv1.2。

Image

6、单击右下角 OK 完成设置,再去主页面单击 Connect。
等待右侧指示灯变绿,表示连接成功。
Image

测试通信
上行通信
1、在 Publish 页面输入发布的 topic,并填写 payload 信息,点击 Publish,此处以 tylink/6c855a6e81c40a91e9k5gx/thing/model/get topic 为例进行介绍。

Image
Image

2、进入涂鸦 IoT 开发平台的设备日志页面,输入 DeviceID 信息,可以看到刚才发布的消息,证明上行通信已经成功。

Image

下行通信
1、在 Subscribe 页面输入 topic,点击 Subscribe,客户端会出现一条订阅的信息,此处以 tylink/6c855a6e81c40a91e9k5gx/thing/property/get_response topic 为例进行介绍。

Image

2、进入 Publish 页面,输入与订阅对应的 topic 信息,并点击 Publish 发布

Image

3、返回到 Subscribe 页面,可以看到刚才订阅的 topic 收到了云端的信息。
Image


Re: 基于涂鸦IoT开发平台TuyaLink MQTT.fx标准协议接入示例

Posted: 2022年 Nov 17日 17:07
by guoliang

必须使用SSL连接吗?实测发现不用SSL连不上