java mqtt 服务器_LiteOS云端对接教程04华为OC平台创建MQTT产品使用mqtt.fx测试

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

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

进入后界面如下:

2f370d6f0c5c32c916303e7cef9ecdf1.png

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

2.1. 创建项目

点击创建项目:

90fc408544106a6bcd7a264df52957d6.png

填写信息之后提交:

3d9fd0c28a9a6771e969cd5d82c66637.png

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

b89e350f48ff0197792afacd87577bd0.png

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

df1aae165e9beca59edb565a995309b0.png

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

3b790702e3e5feb62ef14805d42ac488.png

2.2. 创建产品

76d25b6664c0696644afb5d58faec721.png

选择创建自定义产品:

df6ace101646eb85578d8c433fc5592f.png

填写产品信息:

839667b1ce6e1e89c1f6a92aa9f849c3.png

创建产品成功之后如图:

55cfdb482ee54f1f8d20a8090303118d.png

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

2.2.1. 创建设备属性

创建一个新的服务:

f1c8e648dcd779e8c78ce3517827fbed.png

添加设备亮度值属性Lightness:

215bc21d2561c2907b0f3d17ec7580b5.png

编辑属性值的详细信息:

53930cca6d7e3e13a5e8c096fd267655.png

设置完成之后如下:

381687e942f22e880a3da0c1cc8f2fa4.png

2.2.2. 创建下发命令

点击添加命令:

90552d39d420511b9262e0bad0a1c487.png

bc84dad5c2e78ac7752060726096de5d.png

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

8db846c9c264176cbacf336f7ae337d5.png

942b1dff92a3cbec1f59ab0675b7de2c.png

添加完成之后如图:

c46d14f5a3b613a685d15381bbe61f07.png

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

2.3. 创建设备

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

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

dc72e475f5a7adb0af8a39243b0c9c7f.png

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

8dc7d3305c9d73418c6f3ea9417c5e8f.png

调试界面如下:

72c19c0535c6d06f29d171aaa184c5c2.png

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

de845b74aff8eb50c7ba6d9f670f0b0e.png

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

2.3.2. 创建真实设备

5a4a3f093f2828e87cc1106857a1e243.png

dcd26339f8686c0bea4cefc52e89a3b2.png

57437de363deacb57c83a0084d95107c.png

b8a774e764347f52f0fc2222d4172e93.png

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

dd667e4027b713f546aaa3eb9557bec3.png

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

连接信息生成工具

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

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

268e05f0c10bccdd91998829737c8916.png

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

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

052c16c722c00c1a33e60e03bc8d4d32.png

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

下载证书

下载证书。

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

a9cacaf1450e13dcb2701ece19a175c2.png

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

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

4.0. 前提条件

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

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

4.1. 添加配置文件

  1. 打开MQTT.fx,单击“设置”图标:

2b9a5c617bc744faf748bd91f05b31ad.png

  1. 单击弹出的对话框的左下角的“添加”图标,新增一个配置文件,按照下面的设置填写相应字段:

  2. Profile Name:Test Huawei OceanConnect

  3. Broker Address:49.4.93.24

  4. Broker Port:8883

  5. Client ID:填写小工具中生成的

7567b5ecb89c05ab085d8b3affdc70cd.png

15e81b8de1a632775d8d0118d4a0f954.png

  1. 选择“User Credentials”选项卡,并且按以下字段填写:

  2. User Name: 填写小工具中生成的

  3. Password: 填写小工具中生成的

c82dbe2a3f49fcdb6bf0d40ca585e066.png

7de30431fa081969ec5540d0f987bbce.png

  1. 选择“SSL/TLS”选项卡,勾上“Enable SSL/TLS”,并选择填写之前我们下载的证书文件:

0d224cafb41bf82dd114b20e19398639.png

  1. 单击“OK”按钮保存设置。

4.2. 连接服务器

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

f671156e58ef420fd7934e61904b4136.png

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

4d541f9c87dab67930aa76e805cf3c51.png

点击调试设备进入调试:

5cb1d5501dc985cd81f1438adfc787ed.png

调试界面如下:

5f3091fd96f43c651081670bc795b21b.png

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
}
}]
}

47832d043683239dd1b722e0f12aee97.png

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

50629e473597a4783f3f088dbd746cf5.png

4.4. 客户端订阅消息——接收平台下发指令

成功连接后,即可开始订阅消息。

打开 Subscribe 标签,填写主题 topic,例如:

/huawei/v1/devices/{deviceId}/command/{codecMode}

这里应该是:

/huawei/v1/devices/2db7f786-53c1-4e28-9897-0cac80d178ed/command/json

94fa40026860e6575741a0a7ba3024a7.png

然后在平台下发指令:

47a441aa94b6bb5ef2a05f0d6fa40be5.png

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

a397a19560e75c0732924c644e7c1814.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值