美迅物联网 工业物联网无线通信专业厂商
返回列表

智能手环里面的蓝牙模块如何升级固件?

日期:2024-05-21 15:45:42    编辑:    浏览:

  智能手环在人们的生活中屡见不鲜,它出现在消费者手里的时候自带程序,每个智能手环里面的程序在出厂的时候就设置好了。但是您知道吗,智能手环里面的固件程序不会一成不变,是会迭代更新的,那么智能手环里面的蓝牙模块如何更新升级呢?其实智能手环里的蓝牙模块固件升级需要使用手机给固件进行更新,以达到修复bug,完善功能的作用。

  升级的大概流程是:首先,当智能手环的固件需要升级时,由嵌入式开发人员提供新的固件,由服务器管理人员将固件放到服务器上,此时,用户打开手机APP的时候会检测到服务器有更新,请求更新智能手环固件,确认更新后,手机会从服务器下载固件。下载完毕后,APP会读取固件内容,并根据升级协议将内容传到手环里,完成升级。

  1.DFU=Device Firmware Update(设备固件更新)

  2.OTA=Over The Air(空中升级)

  智能手环内部蓝牙模块升级流程

  由于各个蓝牙设备不尽相同,以下是示例升级流程:

  OTA下载固件

  从云端下载的固件为.bin后缀的文件,文件名会有一定的格式,含有固件版本号和文件CRC32校验值。

  数据分块

  规定一个数据块大小比如2048字节,然后把升级数据进行分块,不够的就剩余多少作为一块。蓝牙一次发送的数据量是有限的,所以每次发送20字节的数据。这个数据要遵循升级数据格式,带指令头和校验和,下载包的数据只是这20字节中的一部分。所有包内数据都携带在每条升级数据指令中。

  升级过程

  连接设备,发送升级请求。

  待蓝牙确认之后,开始发送数据头告知蓝牙此次发送的数据量和CRC校验。

  开始发送升级数据。(每条数据之间间隔20ms为了蓝牙能够方便处理)

  待一个“块”发送完就发送“块”结束命令

  蓝牙确认发送下一个“块”,返回错误则终止此次升级

  发完所有数据之后发送升级完成

  蓝牙模块确认则升级完成,返回错误则升级失败


  智能手环蓝牙模块升级最复杂的就在升级过程,大量的数据与蓝牙交互,这时最好记录发送到升级数据的那一部分,可以给用户展示升级的进程。


专业技术工程师
24小时在线服务

提交需求快速为您推荐合适产品

服务
热线
0755-2376 4945
×