蓝牙使用(一)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.升级完成,设备会断开连接,执行重启,如果过程中升级失败,设备会回到升级前版本并退出升级模式,这个看硬件了
但是好烦升级,有些机型进入升级模式就自动断开连接了,重连也连不上,不进入升级模式其他操作都是正常的,这个没找到原因…求解惑
大家有遇到坑的一定要分享出来,欢迎交流,集大众智慧,坑就不是坑了…