固件 OTA 地址
固件信息存储在阿里云 OSS(公共读),小程序通过 firmware/{pid}/upgrade_par.json 检查升级,网关通过 firmware/{pid}/ 下载固件二进制文件。
OTA 升级流程
小程序 OSS 网关 子设备
| | | |
|--- GET firmware/{pid}/upgrade_par.json --->| | |
|<-- fw_url, fw_ver, ... -------| | |
| | | |
|--- systemPublish(mstype=15) via MQTT ----->|-------------→| |
| | |--- 下载 fw_url (HTTP) ----→| |
| | |<-- 固件二进制 --------------| |
| | |--- BLE 刷写子设备 -----------------------→|
|<-- register code=2001 (进度) via MQTT ------|-------------| |
| | | | |
| | | --- 刷写完成 |
|<-- register code=2001 (status=5 升级成功) ---|-------------| |网关升级(特殊)
网关插座(type=200)的升级方式与子设备不同:
- 小程序从 OSS 获取
upgrade_par.json(含file_id、fw_ver,无fw_url) - 小程序调用
POST /hotel/device/set_upgrade(携带file_id)通知后端创建升级任务 - 小程序通过
systemPublish(mstype=9)通知网关执行升级 - 网关重启后调用
ota_checkAPI,后端返回固件下载地址:(upgradeGatewayUrl || baseUrl) + device_ota_file_tb.url - 网关通过 HTTP 下载固件并刷写,完成后上报
ota_report
网关的 upgrade_par.json 中没有 fw_url,而是 file_id(后端通过该 ID 定位固件文件)。
子设备升级
子设备(开关、窗帘等)的升级通过 systemPublish(mstype=15) 下发指令,固件 fw_url 直接由网关从 OSS 下载(HTTP 公共读)。
固件地址表
OSS 基础路径:
http://chint-beancomm-content.oss-cn-shanghai.aliyuncs.com固件元数据:
/firmware/{pid}/upgrade_par.json(JSON,公共读)固件二进制:
/firmware/{pid}/{fw_name}(bin 文件,公共读)
网关 / 网关插座
| pid | type | 型号 | 固件版本 | file_id | 强制升级 | 说明 |
|---|---|---|---|---|---|---|
| 200 | 200 | T7-21600 | 1.2.3 | 253 | 是 | 旧版网关,<1.0.0 需先通过线下 APP 升级 |
| 202 | 200 | T7-21600 | 1.2.4 | 268 | 是 | 网关插座(当前在用),<1.2.0 需先通过线下 APP 升级 |
| 203 | 200 | T7-21600 | 1.2.4 | 267 | 是 | 网关插座(当前在用),<1.0.0 需先通过线下 APP 升级 |
网关无
fw_url,固件由后端通过file_id定位。网关升级时,后端ota_check接口返回的下载地址为(upgradeGatewayUrl \|\| baseUrl) + device_ota_file_tb.url,网关通过 HTTP 下载固件并刷写。
开关类(YiZSW)
开关类设备共用 YiZSW 固件,按按键数量区分 pid。8xx 为新一代(BCB22 芯片),84x 为同代 ADC 版本。
一位开关(type=12, subType=1)
| pid | 型号 | 固件版本 | 固件文件 | 强制升级 | 说明 |
|---|---|---|---|---|---|
| 821 | T7-70100 | 1.1.5 | BCB22_YiZSW_V115_ADC_OTA_00.bin | 是 | 旧版 |
| 841 | T7-70100 | 1.1.9 | BCB22_YiZSW_V119_ADC_OTA_00.bin | 是 | 当前在用 |
二位开关(type=12, subType=2)
| pid | 型号 | 固件版本 | 固件文件 | 强制升级 | 说明 |
|---|---|---|---|---|---|
| 822 | T7-70200 | 1.1.4 | BCB22_YiZSW_V114_OTA_00.bin | 是 | 旧版 |
| 842 | T7-70200 | 1.1.9 | BCB22_YiZSW_V119_ADC_OTA_00.bin | 是 | 当前在用 |
三位开关(type=12, subType=3)
| pid | 型号 | 固件版本 | 固件文件 | 强制升级 | 说明 |
|---|---|---|---|---|---|
| 823 | T7-70300 | 1.1.8 | BCB22_YiZSW_V118_ADC_OTA_00.bin | 是 | 旧版 |
| 843 | T7-70300 | 1.1.9 | BCB22_YiZSW_V119_ADC_OTA_00.bin | 是 | 当前在用 |
四位开关(type=1, subType=4)
| pid | 型号 | 固件版本 | 固件文件 | 强制升级 | 说明 |
|---|---|---|---|---|---|
| 824 | T7-70400 | 1.1.4 | BCB22_YiZSW_V114_OTA_00.bin | 是 | 旧版 |
| 844 | T7-70400 | 1.1.9 | BCB22_YiZSW_V119_ADC_OTA_00.bin | 是 | 当前在用 |
开关类设备有
<1.1.0版本限制:低于 1.1.0 的版本需先通过线下 APP 升级。
窗帘类
一位窗帘开关(type=43, subType=1)
| pid | 型号 | 固件版本 | 固件文件 | 强制升级 | 说明 |
|---|---|---|---|---|---|
| 827 | T7-72100 | 1.1.4 | BCB22_YiZCT_V114_OTA_00.bin | 是 | 旧版 |
| 847 | T7-72100 | 1.1.8 | BCB22_YiZCT_V118_ADC_OTA_00.bin | 是 | 当前在用 |
二位窗帘开关(type=43, subType=2)
| pid | 型号 | 固件版本 | 固件文件 | 强制升级 | 说明 |
|---|---|---|---|---|---|
| 828 | T7-72200 | 1.1.4 | BCB22_YiZCT_V114_OTA_00.bin | 是 | 旧版 |
| 848 | T7-72200 | 1.1.8 | BCB22_YiZCT_V118_ADC_OTA_00.bin | 是 | 当前在用 |
窗帘电机(type=5, subType=0)
| pid | 型号 | 固件版本 | 固件文件 | 强制升级 | 说明 |
|---|---|---|---|---|---|
| 830 | T7-Q50020 | 2.0.1 | BCB22_YiCTW_V201_251208.bin | 否 | 当前在用 |
其他设备
调光调色开关(type=42, subType=1)
| pid | 固件版本 | 固件文件 | 强制升级 | 说明 |
|---|---|---|---|---|
| 826 | 1.1.0 | BCB22_YiZDM_V110_ADC_OTA_00.bin | 否 | 当前在用 |
筒射灯(type=4, subType=0)
| pid | 固件版本 | 固件文件 | 强制升级 | 说明 |
|---|---|---|---|---|
| 829 | 1.1.1 | BCB22_YiZLT_V111_OTA_00.bin | 否 | 当前在用 |
四位开关(旧版 BCB02 芯片)
| pid | 固件版本 | 固件文件 | 强制升级 | 说明 |
|---|---|---|---|---|
| 7027005 | 2.2.9 | BCB02(TL)_BduSW_V2.2.9_STD_Pri_Proxy_12.bin | 否 | 旧版 BCB02 芯片 |
旧版固件路径在
/assets/firmware/7027005/V229/下,与新版/firmware/{pid}/不同。
upgrade_par.json 字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
fw_url | string | 固件二进制下载地址(子设备有,网关无) |
fw_name | string | 固件文件名 |
fw_ver | string | 固件版本号 |
fw_note | string | 更新说明 |
dev_name | string[] | 设备名称标识(如 YiZSW、YiZCT、YiCTW) |
force | boolean | 是否强制升级(非必须) |
force1 | boolean | 是否强制升级(开关/窗帘类使用) |
file_id | number | 固件文件 ID(仅网关,后端通过此 ID 定位固件) |
<{version} | string | 低于该版本的提示信息(如 <1.1.0) |
固件命名规则
| 前缀 | 芯片 | 设备类型 |
|---|---|---|
BCB22_YiZSW | BCB22 | 开关(一位/二位/三位/四位) |
BCB22_YiZCT | BCB22 | 窗帘开关(一位/二位) |
BCB22_YiCTW | BCB22 | 窗帘电机 |
BCB22_YiZDM | BCB22 | 调光调色开关 |
BCB22_YiZLT | BCB22 | 筒射灯 |
BCB02(TL)_BduSW | BCB02 | 旧版四位开关 |
BCB22为新一代芯片,BCB02为旧一代芯片。同一设备类型可能有两个 pid 对应新旧两代硬件。
pid 与设备类型映射
pid 到 type/subType 的映射定义在 ztUtil SDK 的 protocol.js 中(pidToType 函数)。
| pid | type | subType | 设备 |
|---|---|---|---|
| 200 | 200 | - | 网关(旧版) |
| 202 / 203 | 200 | - | 网关插座(当前在用) |
| 821 / 841 | 12 | 1 | 一位开关 |
| 822 / 842 | 12 | 2 | 二位开关 |
| 823 / 843 | 12 | 3 | 三位开关 |
| 824 / 844 | 1 | 4 | 四位开关 |
| 825 / 845 | 41 | 0 | 调光开关 |
| 826 / 846 | 42 | 1 | 调光调色开关 |
| 827 / 847 | 43 | 1 | 一位窗帘开关 |
| 828 / 848 | 43 | 2 | 二位窗帘开关 |
| 829 | 4 | 0 | 筒射灯 |
| 830 | 5 | 0 | 窗帘电机 |
8xx 与 84x 系列对应同一设备类型的不同硬件批次(84x 为 ADC 版本,当前在用)。
