SDK说明

1. SDK简介

杰理OTA库是基于杰理RCSP协议而实现, 可以方便客户二次开发快速接入杰理OTA功能。

  • 只要杰理设备的固件支持RCSP协议, 即可使用杰理OTA 小程序来升级。

  • 支持固件单双备份OTA的流程。

2. SDK架构

  • v1.0.0 的OTA_SDK库内嵌入了OTA流程、RCSP协议、蓝牙连接和蓝牙收发数据(未实现调整MTU,升级速度比v2.0.0慢)。

Warning

因为微信接口的小程序API wx.notifyBLECharacteristicValueChange 只能被一个地方监听,故此使用v1.0.0的SDK时不适合在SDK外部再实现蓝牙通讯。

digraph framework { rankdir=BT; compound=true; bt_proxy [label="微信小程序蓝牙接口", shape="Mrecord", style="filled", fillcolor="cornflowerblue", width=5]; fun_ota [label="OTA_SDK", shape="record", style="filled", fillcolor="lightyellow", width=5]; bt_proxy -> fun_ota [label="依赖实现", dir="both"]; }

OTA_SDK_V1.0.0架构

  • v2.0.0 的OTA_SDK库只实现了OTA流程,需要搭配RCSP协议库一起使用。蓝牙连接和收发数据部分(此处可实现调整MTU,提高升级速度)的功能,既可以使用demo中的代码实现,也可以自行实现,自行实现注意数据分包发送处理。

digraph framework { rankdir=BT; compound=true; bt_proxy [label="微信小程序蓝牙接口", shape="Mrecord", style="filled", fillcolor="cornflowerblue", width=5]; rcsp_module [label="RCSP协议OTA_SDK", shape="Mrecord", style="filled", fillcolor="lightgreen", width=5]; bluetooth_module [label="蓝牙代理层\n(蓝牙扫描,蓝牙连接,蓝牙数据分包收发)", shape="Mrecord", style="filled", fillcolor="lightblue", width=5]; fun_ota [label="OTA_SDK", shape="record", style="filled", fillcolor="lightyellow", width=5]; bt_proxy -> bluetooth_module [label="设备断开,设备回连\n,分包发送数据,回调收到数据", dir="both"]; bluetooth_module-> rcsp_module [label="将命令打包后下发\n,接收上报数据", dir="both"]; rcsp_module -> fun_ota [label="OTA通过ota-rcsp下发数据\n,RCSP通过ota-rcsp上报结果", dir="both"]; }

OTA_SDK_V2.0.0架构

Important

1. OTA流程 依赖 RCSP协议 实现, RCSP协议 依赖 蓝牙代理层(微信小程序蓝牙接口) 实现。
2. 目前OTA的SDK总共有两个版本:v1.0.0 和v2.0.0
3. v1.0.0 内部集成设备发现和连接,并且集成了OTA流程和RCSP协议层。适合于简易开发,接口简单。
4. v2.0.0 不但对OTA流程和RCSP协议分离成两个库,而且将数据传输和蓝牙连接从SDK中抽离,SDK内不含有wx接口,可用于非微信平台小程序开发。适合于二次开发,接口比较复杂,功能模块化,能满足绝大数使用场景。
4. 基于当前微信小程序只支持BLE通讯,故此只支持BLE升级,无法像Android一样支持SPP。