联犀 联犀
首页
使用指南
开发指南
技术分享
  • 中台接口 (opens new window)
  • 物联网接口 (opens new window)
在线体验 (opens new window)
  • gitee (opens new window)
  • github (opens new window)
  • 边缘网关-RHILEX (opens new window)
  • 边缘网关-opengw (opens new window)
首页
使用指南
开发指南
技术分享
  • 中台接口 (opens new window)
  • 物联网接口 (opens new window)
在线体验 (opens new window)
  • gitee (opens new window)
  • github (opens new window)
  • 边缘网关-RHILEX (opens new window)
  • 边缘网关-opengw (opens new window)
  • 介绍

  • 快速开始

  • 设备接入

    • 联犀协议

      • 设备身份认证
      • mqtt认证
      • http协议接入
      • 自定义协议
      • mqtt认证主要流程
      • 设备动态注册
      • 物模型协议
      • OTA升级
        • 升级步骤
        • 通用请求参数
          • 固件升级推送
          • 设备上报升级进度
      • NTP时间同步
      • 网关子设备
      • 设备本地日志上报
      • 设备远程配置
      • RHILEX接入
      • openGW接入
    • 第三方协议

  • 系统管理模块

  • 合作案例

  • 使用指南
  • 设备接入
  • 联犀协议
godLei6
2024-08-29
目录

OTA升级

# OTA升级说明

# 升级步骤

  1. 管理员在控制台创建升级包,如果是主动推送,则会根据设定的规则主动推送给设备,如果是被动升级,设备通过物模型协议中的设备基础信息上报后符合升级规则就会下发升级包
  2. 如果是需要c端用户确认的则用户确认后升级包才会生效
  3. 云端推送升级包后,设备升级中可以上报升级的进度,升级完成后上报新的版本(需要与固件版本一致),则升级完成
    设备上报固件版本需要参考:物模型协议-设备基础信息上报

# 通用请求参数

参数 类型 必填 说明
msgToken String 是 用于上下行消息配对标识
sys.noAsk bool 否 云端是否回复设备
sys.retMsg bool 否 是否返回错误信息,字段为msg

示例:

{
  "method": "reportInfo",
  "msgToken": "1234567",
  "sys": {
     "noAsk": false,
     "retMsg": true
  }
}
1
2
3
4
5
6
7
8

# 固件升级推送

  1. 云端会主动或在设备上报版本号后推送升级包给设备,平台为设备行为的处理设定了默认的 Topic:
  • 设备订阅云端topic获取云端推送的升级包信息 Topic: $ota/down/upgrade/{ProductID}/{DeviceName}
  1. 请求
  • 单文件:
{
  "msgToken": "123",
  "method": "upgrade",
  "timestamp":1677762028638,
  "data": {
    "size": 93796291,
    "signature": "f8d85b250d4d787a9f483d89a974***",
    "version": "10.0.1.9.20171112.1432",
    "isDiff": 1,
    "name": "xxx.bin",
    "fileUrl": "https://the_firmware_url",
    "signMethod": "MD5",
    "fileMd5": "f8d85b250d4d787a9f48***",
    "extData":""
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
  • 多文件:
{
  "msgToken": "123",
  "method": "upgrade",
  "timestamp":1677762028638,
  "data": {
    "signature": "f8d85b250d4d787a9f483d89a974***",
    "version": "10.0.1.9.20171112.1432",
    "isDiff": 1,
    "extData":"",
    "files":[{
      "size": 93796291,
      "signature": "f8d85b250d4d787a9f483d89a974***",
      "version": "10.0.1.9.20171112.1432",
      "isDiff": 1,
      "name": "xxx.bin",
      "fileUrl": "https://the_firmware_url",
      "signMethod": "MD5",
      "fileMd5": "f8d85b250d4d787a9f48***"
}]
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
  • 请求参数说明:
参数 类型 说明
method String action 表示是调用设备的某个行为
msgToken String 消息 Id,回复的消息将会返回该数据,用于请求响应消息的对比
timestamp Integer 行为调用的当前时间,不填写则默认为调用行为的当前系统时间,单位为毫秒
data.version JSON 固件版本
data.isDiff JSON 是否是差分升级(1:是,2:否)
data.signMethod JSON 签名方式,只支持MD5
data.extra JSON 额外自定义信息
data.size JSON 固件大小
data.name JSON 固件名
data.fileUrl JSON 固件下载url
data.fileMd5 JSON 固件md5
data.signature JSON 固件签名(md5)

# 设备上报升级进度

  1. OTA升级过程中,设备可以通过这个Topic上报OTA升级的进度百分比:
  • 上报 Topic: $thing/up/progress/{ProductID}/{DeviceName}
  1. 请求
  • 远程控制请求消息格式:
{
  "msgToken": "123",    
  "params": {
    "step": "-1",
    "desc": "OTA升级失败,请求不到升级包信息。",
    "module": "MCU"
  }
}
1
2
3
4
5
6
7
8
  1. 请求参数说明:
参数 类型 说明
method String control 表示云端向设备发起控制请求
msgToken String 用于上下行消息配对标识
timestamp Integer 属性上报的时间,格式为 UNIX 系统时间戳,不填写该字段表示默认为当前系统时间。单位为毫秒
params.step String OTA升级进度。
取值范围:
1~100的整数:升级进度百分比。
-1:升级失败。
-2:下载失败。
-3:校验失败。
-4:烧写失败。
params.desc String 当前步骤的描述信息,长度不超过128个字符。如果发生异常,此字段可承载错误信息。
params.module String 升级包所属的模块名
上次更新: 2025/02/17, 09:47:32
物模型协议
NTP时间同步

← 物模型协议 NTP时间同步→

Theme by Vdoing | Copyright © 2022-2025 昆明云物通科技有限公司|GNU | 滇ICP备2024043132号-1 |
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式