LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试
1. 云端准备工作 —— 注册并登录OC平台
注册并登录华为OceanConnect平台,需要使用华为云账号登录。
进入后界面如下:
文章图片
华为云界面 2. 云端操作 — 创建云端设备
2.1. 创建项目
点击创建项目:
文章图片
填写信息之后提交:
文章图片
mark 创建之后,系统会弹出分配的应用ID和秘钥,应点击下载,及时保存:
文章图片
mark 打开下载的文件,可以看到其中存放的ID和秘钥信息:
文章图片
mark 接下来点击进入项目,进入之后界面如下:
文章图片
mark 2.2. 创建产品
文章图片
mark 选择创建自定义产品:
文章图片
mark 填写产品信息:
文章图片
mark 创建产品成功之后如图:
文章图片
mark 接下来我们需要创建该设备的属性和控制命令。
2.2.1. 创建设备属性
创建一个新的服务:
文章图片
mark 添加设备亮度值属性Lightness:
文章图片
mark 编辑属性值的详细信息:
文章图片
mark 设置完成之后如下:
文章图片
mark 2.2.2. 创建下发命令
点击添加命令:
文章图片
mark
文章图片
mark 然后添加下发命令的字段:
文章图片
mark
文章图片
mark 添加完成之后如图:
文章图片
mark 一个完成的产品创建完成。
2.3. 创建设备
2.3.1. 创建虚拟设备测试数据流
在设备管理界面点击创建虚拟设备:
文章图片
mark 创建成功,点击调试产品:
文章图片
mark 调试界面如下:
文章图片
mark 在设备模拟中模拟上报数据:
文章图片
mark 设备数据上报成功,接下来测试命令下发:
2.3.2. 创建真实设备
文章图片
mark
文章图片
mark
文章图片
mark
文章图片
mark 【LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试】创建设备之后查看对接信息:
文章图片
mark 3. 准备证书和连接信息生成工具
连接信息生成工具
下载连接信息生成工具,运行“MqttClientIdGenerator.jar”,填写设备ID和密钥,生成连接信息:
设备ID:在设备详情中查看。
文章图片
mark 设备秘钥:刚刚创建设备之后弹出的,如若未保存,无法查看,需要重新创建设备。
填写完成之后点击生成,即可看到信息:
文章图片
mark 这个信息后续使用,暂时先不要关闭软件。
下载证书
下载证书。
其中使用的证书文件在Agent Lite\Java
:
文章图片
mark 4. 使用mqtt.fx作为客户端测试加密传输(mqtts)
配置 MQTT 的应用客户端,可以快速验证是否可以实现与物接入服务交流发送或者接收消息。
4.0. 前提条件
参考我的另一篇博客,下载并安装MQTT.fx客户端(1.7.1版本)。
- mqtt.fx | 一款超级好用的Mqtt客户端软件(下载、安装、使用详解)
- 打开MQTT.fx,单击“设置”图标:
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/a7f9d1a69a7f41e9a1f846756b53e88b.jpg)
文章图片
- 单击弹出的对话框的左下角的“添加”图标,新增一个配置文件,按照下面的设置填写相应字段:
-
Profile Name
:Test Huawei OceanConnect -
Broker Address
:49.4.93.24 -
Broker Port
:8883 -
Client ID
:填写小工具中生成的
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/9f282e32350c41f5b2a38dcf215ba1a1.png)
文章图片
mark
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/f4d2939163f54c40a982b09aa8b9490a.jpg)
文章图片
mark
- 选择“User Credentials”选项卡,并且按以下字段填写:
- User Name: 填写小工具中生成的
- Password: 填写小工具中生成的
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/1cf73303b3a944b1ae0652695d2b1d5e.png)
文章图片
mark
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/a6742d9242324ec1bfba1fae3da0d103.jpg)
文章图片
mark
- 选择“SSL/TLS”选项卡,勾上“Enable SSL/TLS”,并选择填写之前我们下载的证书文件:
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/91838fb5cea44920bf8a650065829c87.jpg)
文章图片
mark
- 单击“OK”按钮保存设置。
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/3dfcc6918d39426bb4281029794e41f0.jpg)
文章图片
mark 在云平台可以看到设备在线:
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/c85ad80e803e4f5d99b80749fd77617d.jpg)
文章图片
mark 点击调试设备进入调试:
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/6286b4b20d4f4ba08ef2ea3b8f600fc7.jpg)
文章图片
mark 调试界面如下:
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/2926da9056e14408af719f04d94c7a18.jpg)
文章图片
mark 4.3. 客户端发布消息——向平台上报数据 打开Publish标签,填写主题topic,例如:
/huawei/v1/devices/2db7f786-53c1-4e28-9897-0cac80d178ed/data/json
- “codecMode”为上报的编解码类型,当用户使用自身开发的编解码插件时“codecMode”取值为“binary”,没有开发编解码插件的“codecMode”取值为“json”。
- “deviceId”的值,对一机一密设备,使用deviceId接入时填写为设备注册成功后返回的“deviceId”值。
/huawei/v1/devices/{deviceId}/data/{codecMode}
消息质量选择默认的QoS 0,输入框中填写以下有效信息:
{
"msgType": "deviceReq",
"data": [{
"serviceId": "Lightness",
"serviceData": {
"Lightness": 123
}
}]
}
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/c7ea8e88353c4c1d889c0f1964787f75.jpg)
文章图片
mark 在平台调试界面可以看到:
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/fb8e8686d6b44dc8bbaa6e6ed2284b38.jpg)
文章图片
mark 4.4. 客户端订阅消息——接收平台下发指令 成功连接后,即可开始订阅消息。
打开 Subscribe 标签,填写主题 topic,例如:
/huawei/v1/devices/{deviceId}/command/{codecMode}
这里应该是:
/huawei/v1/devices/2db7f786-53c1-4e28-9897-0cac80d178ed/command/json
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/645cfac3b3c24bb0a3fd24ee4caaa0da.jpg)
文章图片
mark 然后在平台下发指令:
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/71fbfa9221c1468188e7c75fdf3e3c5d.jpg)
文章图片
mark 可以看到客户端订阅了,所以接收到该命令:
![LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试](https://img.it610.com/image/info10/f5f53eec89574e968169c76c3e18fe06.jpg)
文章图片
mark 如有兴趣,大家可以再测试命令响应字段,方法相同。
推荐阅读
- 云端漫步
- 长治分行与高管局长治营运中心召开ETC业务对接沟通会
- 隔云端|隔云端|70|你是谁(风一样飘过)
- 我为雨滴走向世界做的事
- 从0开始学架构|从0开始学架构 - 高可用计算架构、异地多活架构、如何应对接口级故障
- LiteOS云端对接教程03-LiteOS基于MQTT对接EMQ-X服务器
- 隔云端|隔云端|45|瓶子里装一段记忆
- 跌入凡间的天使又回云端
- TiDB Cloud 上线亚马逊云科技 Marketplace,为全球用户提供云端一栈式实时 HTAP 数据库体验
- 对接相关 - 使用SoapUI内置MockService制定的一套被动执行规范