• 沒有找到結果。

1、使用MQTT.fx模拟设备接入平台,详情请参考连接鉴权。

2、用MQTT.fx订阅平台下行信息Topic,MQTT.fx会收到平台服务端下发的查询版本命 令。

Topic

下行: $oc/devices/{device_id}/sys/events/down

文档版本 29 (2021-07-22) 版权所有 © 华为技术有限公司 164

2-69 订阅通知

3、通过MQTT.fx上报软固件版本信息。

Topic

上行: $oc/devices/{device_id}/sys/events/up 参数说明

services 可选 List<ServiceEv

ent> 事件服务列表。

ServiceEvent定义表

字段名 必选/可选 类型 参数描述

service_id 必选 String $ota。

event_type 必选 String version_report。

event_time 可选 String 事件时间。

paras 必选 Object 事件参数JSON对象。

paras参数列表

文档版本 29 (2021-07-22) 版权所有 © 华为技术有限公司 165

字段名 必选/可选 类型 参数描述 sw_version 可选 String 软件版本。

fw_version 可选 String 固件版本。

示例

Topic: $oc/devices/{device_id}/sys/events/up 数据格式: {

"object_device_id": "{object_device_id}", "services": [{

字段名 必选/可选 类型 参数描述 services 可选 List<ServiceEv

ent> 事件服务列表。

ServiceEvent定义表

字段名 必选/可选 类型 参数描述

service_id 必选 String $ota。

event_type 必选 String 固件升级:firmware_upgrade。

软件升级:software_upgrade。

event_time 可选 String 事件时间。

paras 必选 Object 事件参数JSON对象。

paras参数列表

字段名 必选/可选 类型 参数描述

version 必选 String 软固件包版本号。

url 必选 String 软固件包下载地址。

file_size 必选 Integer 软固件包文件大小。

access_token 可选 String 软固件包url下载地址的临时token。

expires 可选 Integer access_token的超期时间。

sign 必选 String 软固件包MD5值。

文档版本 29 (2021-07-22) 版权所有 © 华为技术有限公司 167

2-71 获取升级通知

5、设备收到升级通知后,可通过Http请求下载升级包。

本次演示使用Curl命令代替。

2-72 下载升级包

示例

curl -X GET -H "Authorization:Bearer ****************************" "https://100.93.28.202:8943/iodm/dev/v2.0/

upgradefile/applications/ddecccc223574aee9466fe8f7e16a205/devices/

6079042873515a02c16ffd82_123456789/packages/4f201f38c281ca5d40794a3f" -v -k

文档版本 29 (2021-07-22) 版权所有 © 华为技术有限公司 168

注意

上行: $oc/devices/{device_id}/sys/events/up 参数说明

services 可选 List<ServiceEv

ent> 事件服务列表。

ServiceEvent定义表

字段名 必选/可选 类型 参数描述

service_id 必选 String $ota。

event_type 必选 String upgrade_progress_report。

event_time 可选 String 事件时间。

paras 必选 Object 事件参数JSON对象。

paras参数列表

文档版本 29 (2021-07-22) 版权所有 © 华为技术有限公司 169

字段名 必选/可选 类型 参数描述

result_code 必选 Integer 设备的升级状态,结果码定义如 下:

progress 可选 Integer 设备的升级进度,范围:0到100。

version 必选 String 设备当前版本号。

description 可选 String 升级状态描述信息,可以返回具体 升级失败原因。

示例

Topic: $oc/devices/{device_id}/sys/events/up 数据格式:

{ "object_device_id": "{object_device_id}", "services": [{

"service_id": "$ota",

"event_type": "upgrade_progress_report", "event_time": "20151212T121212Z", "paras": {

2-73 上报升级进度 50%

2-74 查询升级进度

7、完成升级

上报升级进度为100%,且当前版本为升级的目标版本,可以在平台查询到升级完成。

文档版本 29 (2021-07-22) 版权所有 © 华为技术有限公司 171

2-75 上报升级进度 100%

2-76 查询升级状态

----结束

2.13 设备通过微信小程序接入到平台

场景说明

平台支持基于WebSocket的MQTT协议,使基于浏览器的应用程序或者小程序可以快 速接入到物联网平台。本文以“智慧路灯”为示例,通过微信小程序模拟设备,带您 体验设备通过MQTT over WebSocket协议连接到物联网平台、上报数据和接收命令的 全过程。

假设:

路灯设备上报一条包含光照强度(luminance)的消息;路灯支持远程控制开关状态的 命令(switch),路灯上报的数据格式为JSON格式。

前提条件

● 已注册华为云官方帐号。未注册可单击注册页面完成注册。

文档版本 29 (2021-07-22) 版权所有 © 华为技术有限公司 172

● 已完成实名制认证。未完成可在华为云上单击实名认证完成认证,否则无法使用

产品名称 自定义,如Streetlight。支持字母、数字、下划线(_)、连字符

(-)的字符组合。

协议类型 选择MQTT。

数据格式 选择JSON。

厂商名称 自定义,如Huawei。支持中英文字符、数字、下划线(_)、连字 符(-)的字符组合。

所属行业 请根据产品模型的所属行业填写。

设备类型 Streetlight

----结束