LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试

1. 云端准备工作 —— 注册并登录OC平台

注册并登录华为OceanConnect平台,需要使用华为云账号登录。

进入后界面如下:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第1张图片
华为云界面

2. 云端操作 — 创建云端设备

2.1. 创建项目

点击创建项目:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第2张图片

填写信息之后提交:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第3张图片
mark

创建之后,系统会弹出分配的应用ID和秘钥,应点击下载,及时保存:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第4张图片
mark

打开下载的文件,可以看到其中存放的ID和秘钥信息:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第5张图片
mark

接下来点击进入项目,进入之后界面如下:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第6张图片
mark

2.2. 创建产品

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第7张图片
mark

选择创建自定义产品:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第8张图片
mark

填写产品信息:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第9张图片
mark

创建产品成功之后如图:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第10张图片
mark

接下来我们需要创建该设备的属性和控制命令。

2.2.1. 创建设备属性

创建一个新的服务:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第11张图片
mark

添加设备亮度值属性Lightness:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第12张图片
mark

编辑属性值的详细信息:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第13张图片
mark

设置完成之后如下:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第14张图片
mark

2.2.2. 创建下发命令

点击添加命令:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第15张图片
mark
LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第16张图片
mark

然后添加下发命令的字段:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第17张图片
mark
LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第18张图片
mark

添加完成之后如图:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第19张图片
mark

一个完成的产品创建完成。

2.3. 创建设备

2.3.1. 创建虚拟设备测试数据流

在设备管理界面点击创建虚拟设备:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第20张图片
mark

创建成功,点击调试产品:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第21张图片
mark

调试界面如下:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第22张图片
mark

在设备模拟中模拟上报数据:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第23张图片
mark

设备数据上报成功,接下来测试命令下发:

2.3.2. 创建真实设备

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第24张图片
mark
LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第25张图片
mark
LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第26张图片
mark
LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第27张图片
mark

创建设备之后查看对接信息:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第28张图片
mark

3. 准备证书和连接信息生成工具

连接信息生成工具

下载连接信息生成工具,运行“MqttClientIdGenerator.jar”,填写设备ID和密钥,生成连接信息:

设备ID:在设备详情中查看。

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第29张图片
mark

设备秘钥:刚刚创建设备之后弹出的,如若未保存,无法查看,需要重新创建设备。

填写完成之后点击生成,即可看到信息:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第30张图片
mark

这个信息后续使用,暂时先不要关闭软件。

下载证书

下载证书。

其中使用的证书文件在Agent Lite\Java

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第31张图片
mark

4. 使用mqtt.fx作为客户端测试加密传输(mqtts)

配置 MQTT 的应用客户端,可以快速验证是否可以实现与物接入服务交流发送或者接收消息。

4.0. 前提条件

参考我的另一篇博客,下载并安装MQTT.fx客户端(1.7.1版本)。

  • mqtt.fx | 一款超级好用的Mqtt客户端软件(下载、安装、使用详解)

4.1. 添加配置文件

  1. 打开MQTT.fx,单击“设置”图标:
LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第32张图片
  1. 单击弹出的对话框的左下角的“添加”图标,新增一个配置文件,按照下面的设置填写相应字段:
  • Profile Name:Test Huawei OceanConnect
  • Broker Address:49.4.93.24
  • Broker Port:8883
  • Client ID:填写小工具中生成的
LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第33张图片
mark
LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第34张图片
mark
  1. 选择“User Credentials”选项卡,并且按以下字段填写:
  • User Name: 填写小工具中生成的
  • Password: 填写小工具中生成的
LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第35张图片
mark
LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第36张图片
mark
  1. 选择“SSL/TLS”选项卡,勾上“Enable SSL/TLS”,并选择填写之前我们下载的证书文件:
LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第37张图片
mark
  1. 单击“OK”按钮保存设置。

4.2. 连接服务器

选择“Test Huawei OceanConnect”,然后单击“Connect”按钮,连接成功之后如图:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第38张图片
mark

在云平台可以看到设备在线:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第39张图片
mark

点击调试设备进入调试:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第40张图片
mark

调试界面如下:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第41张图片
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测试_第42张图片
mark

在平台调试界面可以看到:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第43张图片
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测试_第44张图片
mark

然后在平台下发指令:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第45张图片
mark

可以看到客户端订阅了,所以接收到该命令:

LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试_第46张图片
mark

如有兴趣,大家可以再测试命令响应字段,方法相同。

你可能感兴趣的:(LiteOS云端对接教程04-华为OC平台创建MQTT产品使用mqtt.fx测试)