android ble OTA 和空中指令

     最近开始弄ble 的空中升级和空中指令。百度上搜到到升级大都是用 Nordic 给出的库。这里介绍一下自己这段时间用自定义的一个Xmoden文本传输协议来进行空中升级。

    

     空中升级首先要发送一条指令让设备DFU模式,中间会断开连接然后重连。如果直接用 给的第三方库,进入DFU模式后,设备名会变成特定设备名。


    首先模块端发送开始传输指令。app收到消息开始传输。每包1029字节,其中包括包头3字节包尾2字节和1K的文本数据。包尾放校验信息,包头放包编号。文本数据是经过加密处理的。


    发包后等模块端校验,校验成功后发送继续传输指令。发包    校验    回包,如此反复。


   5.0以上可以申请改变MTU,我申请的503字节。4.3每包只能20字节。


    经过实测,5.0以上系统 升级速度可以达到8-9K每秒。会有少量丢包,校验不通过模块端会回消息进行重传。


    4.3系统大概1K每秒,提速小米手机会严重丢包。


   升级完成后模块端会对数据解密,然后重启。


   有款魅族手机,连接,数传都有问题。



    以上

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值