HarmonyOS NEXT-杰理SDK对接流程 原创
猜丁壳_
发布于 2025-2-26 18:30
1.8w浏览
0收藏
为啥要写这篇文章 !
- 想必能看到这篇文章一定是被鸿蒙版本的杰理SDK
折磨
过的吧! - 杰理提供的 demo 业务量太大,提供的文档 api 写的很全面。但是没有接入流程。
- 所以对于第一次接触这个产品的我来讲,一头雾水不知道如何做起。
- 但是又不想把整个 杰理demo 全部搬运过来,体积太大了。
- 自己尝试又不知道从何入手。
- 希望 杰理 能看到后面 HarmonyOS NEXT版本文档出一个初始化对接必要流程.
下面是我查询到的 鸿蒙next 版本的对接说明
- HarmonyOS NEXt版本对接的api 推荐这个: 杰理SDK HarmonyOS Next 版本
- 想了解初始化流程和说明,推荐这个: 杰理OTA外接库开发文档(HarmonyOS Next)
下面我来介绍一下 HarmonyOS Next 中 BLE杰理SDK对接流程!
- 正常初始化蓝牙
- 如何初始化蓝牙请参考 # HarmonyOS NEXT-蓝牙(Ble)开发流程——蓝牙流程说明
- 获取 杰理服务和特征值
- 如何获取服务和特征值请参考 # HarmonyOS NEXT-蓝牙(Ble)开发流程——获取 固件 携带的蓝牙服务
- 进行设备认证
- 进行 RCSP协议 初始化
- 进行必须的获取操作
- 这是 杰理demo 在初始化后上写的 (必须) 的操作
- 但是我遇到的业务没有做这些获取也没有影响(当然这是一切正常的情况)
- 为了防止 BUG 还是做了获取操作
上面必须的流程做完可以尝试做业务了
- OTA
详细步骤
一. 正常初始化蓝牙 、二. 获取 杰理服务和特征值
- 这两步操作请参考# HarmonyOS NEXT-蓝牙(Ble)开发流程
三. 进行设备认证 ⭐
- 在获取到 杰理的服务和特征值之后,必须要先进行设备认证
- ⭐ writeTrait_JieLi 这个是我在第二步获取到的 杰理的写入特征值
- ⭐ bleSendClass.BLESEND_autoPushSend 这个是消息发送队列
- 用于分包向固件写入数据 # 通过 写入特征 来进行向 固件 写入内容
四.进行 RCSP协议 初始化
- 等到设备认证成功之后在进行 RCSP协议的初始化
- 在第
3
步onAuthSuccess
回调代表已经认证成功了,可以进行 RCSP协议的初始化 - ⭐ 但是需要知道一点 所谓的
初始化
,不过是把连接状态同步给 RCSP协议对象 。
五. 进行必须的获取操作
- 这个是根据 杰理 提供的 demo 中所描述必须操作
- 在 Rcsp协议初始化回调
onRcspInit
回调中执行。但是要是初始化成功状态 - 这里只是展示需要的操作,实际工作中需要做好错误处理
做完上述操作,杰理SDK
就已经把 关键性动作
做完了。剩下就是看 API 完成业务和整个项目的架构
有一个需要知道的地方可以优化的地方
- getOperateByClass 用来获取对应RCSP操作OP
- 注意:在
设备未改变
的情况下,RCSP对象是同一个
的情况下。getOperateByClass 获取到的操作类,为同一个
; - 所以可以把 获取对象的操作类,可以保存起来下次直接使用。
- 注意:在
下面讲一下 OTA升级流程
- 打开升级资源文件
- 创建 OTA类
- 开始升级
- 设备回连函数
- 更新RCSP协议
详细步骤
一 打开升级资源文件
- 如果是线上资源则需要先把资源下载并保存到本地
二 创建 OTA类
三 开始升级
- 开始升级通过
OTAManager.startOTA
方法进行升级- 需要俩个参数,第一个是配置信息,第二个是 回调对象
在进行升级回连函数之前,先来完善下,OTA的回调对象 upgradeCallback
- 只有
onReadData
读取升级数据返回给SDk 和onNeedReconnect
进行设备回连。这俩个回调是必须要做的,这个是升级的必须步骤。 - 剩下的内容都是自己业务处理和错误处理。非必须实现
四、设备回连函数
- 这个完全可以直接写在
onNeedReconnect
函数里面,我是为了精简业务,所以拆分了一下。 - 完整的蓝牙流程
五、更新RCSP协议
- 当回连设备时候,回连状态通过
BLEConnectionStateChange
得到当前设备已连接时候。需要进行更新动作
然后OTA就升级结束了,接下来一切顺利的情况下会调用 onStopOTA
这个回调。你可以在这里做你需要的业务。和清空所有数据。包括所有蓝牙数据和杰理所有数据。让用户重新手动连接需要连接的设备。
有什么疑问或问题可以留言,如果哪里有问题欢迎指正。
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2025-2-26 20:07:31修改
赞
收藏
回复
1
相关推荐
upupup