Android蓝牙固件升级

蓝牙使用(一)http://blog.csdn.net/duo_shine/article/details/70257113
蓝牙使用(二)http://blog.csdn.net/duo_shine/article/details/70259928
非常简单几行代码即可调用的rxBle库:https://blog.csdn.net/duo_shine/article/details/89672883
今天有时间补上ble的最后一篇固件升级(OTA升级,空中升级等)


首先要知道为什么需要固件升级,有什么好处,固件升级可以修复bug,增加功能等,相当于咱们的app升级,我们只需要将新固件包放在后台并提示用户进行升级即可


整个流程也不难,公司可以定义自己的协议来升级,也可以使用芯片厂家的协议商定,区别应该是如果使用芯片厂家的,那么如果换了芯片厂家,那么整个升级势必要换掉,因为不同芯片厂商其升级协议肯定是不同的,如果公司定义的升级,那么芯片换了咱也不怕,但是肯定没有直接使用现芯片厂家的协议来的快,可能有些公司用了几家厂家的芯片,这种一般会定义自己的协议来升级


做一个新东西之前,肯定要查阅很多资料去了解他,知己知彼才能百战不殆,但是这方面的资料不是很全,感谢这个博客,虽然我用不了这个库,但是给了我很大帮助,赞这种爱分享的人,因为分享所以强大

http://www.jianshu.com/p/4017e7389804

这是一个DFU升级库,Nordic Semiconductor公司写的,应该是针对他们的芯片,我也没试过,因为我们公司的芯片不是这家公司的,之前还看见有人说升级是通用的…通用的…如果你的公司的芯片是这家的,那直接看这个文章就可以解决你的升级问题了


升级的流程(肯定有差别,但是大同小异)
1.一般首先会连接设备,发送指令,进入升级模式
2.进入升级模式后,可能name和mac地址或者uuid都会发生改变,如果name和mac地址不改变可能不会断开连接,看硬件了,如果uuid换了的话,我们也需要重新搜索
3.固件包大致有几种格式:zip、bin、hex还有一些厂家芯片的格式比如赛普拉斯的cy…,
你可以放在后台去下载,可以放在本地,随你大小便
4.然后就是往设备写数据了,这是一个交互过程,发送-收到-发送…我们公司的固件包几百k大概几分钟升级完成
5.升级完成,设备会断开连接,执行重启,如果过程中升级失败,设备会回到升级前版本并退出升级模式,这个看硬件了


但是好烦升级,有些机型进入升级模式就自动断开连接了,重连也连不上,不进入升级模式其他操作都是正常的,这个没找到原因…求解惑
大家有遇到坑的一定要分享出来,欢迎交流,集大众智慧,坑就不是坑了…

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值