蓝牙设备固件程序的升级、升级控制方法及设备的制造方法_2

文档序号:9200255阅读:来源:国知局
地址解析单元,用于从所述升级指令中解析出相应的网络地址,根据所述网络地址向云端发送固件程序升级包下载请求;
[0044]MD5校验单元,用于接收所述云端根据所述下载请求返回的固件程序升级包,并对所述固件程序升级包进行MD5校验,若校验成功,则将所述固件程序升级包写入自身的flash 中;
[0045]发送单元,用于向所述蓝牙设备发送握手指令,并在接收到所述蓝牙设备根据所述握手指令返回的应答指令后,将所述固件程序升级包发送至所述蓝牙设备。
[0046]实施本发明实施例提供的蓝牙设备固件程序的升级、升级控制方法及设备具有以下有益效果:
[0047]本发明实施例由于在蓝牙设备上电后,自动判断是否启动固件程序升级;若启动固件程序升级,则使所述蓝牙设备进入等待固件升级状态,并通过APP端向与所述蓝牙设备建立有物理链路连接的无线微控制器发送升级指令;所述蓝牙设备接收所述无线微控制器发送检测指令,并根据所述检测指令将所述等待固件升级状态反馈至所述无线微控制器,使所述无线微控制器根据所述升级指令从云端获取相应的固件程序升级包,并将所述固件程序升级包返回至所述蓝牙设备;所述蓝牙设备接收所述固件程序升级包,并利用所述固件程序升级包进行固件程序升级,从而可以使蓝牙设备自动完成固件程序升级,不需要用户手动操作,操作步骤简单;此外,由于无线微控制器的联网特性,本发明实施例使蓝牙设备能够在任何可以连接因特网的地方进行固件程序升级,而且其稳定性较好,不受通讯距离的影响,可以避免由于通讯距离较远而导致升级中断的问题。
【附图说明】
[0048]图1是本发明实施例提供的蓝牙设备固件程序的升级方法的具体实现流程图;
[0049]图2是本发明实施例提供的蓝牙设备固件程序的升级方法中SlOl的具体实现流程图;
[0050]图3是本发明实施例提供的蓝牙设备固件程序的升级方法中S104的具体实现流程图;
[0051]图4是本发明实施例提供的蓝牙设备固件程序的升级控制方法的具体实现流程图;
[0052]图5是本发明实施例提供的蓝牙设备固件程序的升级控制方法中S403的具体实现流程图;
[0053]图6是本发明实施例提供的蓝牙设备的结构示意图;
[0054]图7是本发明实施例提供的无线微控制器的结构示意图。
【具体实施方式】
[0055]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0056]图1示出了本发明实施例提供的蓝牙设备固件程序的升级方法的具体实现流程图。参见图1所示,本发明实施例提供的蓝牙设备固件程序的升级方法的包括:
[0057]在SlOl中,所述蓝牙设备上电后,自动判断是否启动固件程序升级。
[0058]在S102中,若启动固件程序升级,则使所述蓝牙设备进入等待固件升级状态,并通过APP端向与所述蓝牙设备建立有物理链路连接的无线微控制器发送升级指令。在本发明实施例中,蓝牙设备安装于移动终端内部,移动终端包括但不限于手机、平板电脑等终端设备,其中,APP端为安装于移动终端上的用于管理蓝牙设备的软件应用程序;当需要启动固件程序升级时,所述APP端可以通过云端向无线微控制器发送升级指令。
[0059]作为一具体实现示列,SlOl的具体实现过程参见图2所示:
[0060]在S201中,所述蓝牙设备上电后,自动检测自身flash中的固件程序是否完整。
[0061]在S202中,若所述固件程序不完整,则所述蓝牙设备启动固件程序升级,自动进入等待固件升级状态。
[0062]在本发明实施例中,当蓝牙设备检测到自身flash中的固件程序不完整时,蓝牙设备会自动启动固件程序升级进入等待固件升级状态,配置自身的串口参数为:波特率115200,数据位8,停止位,无校验。这里的固件程序不完整可能是由于蓝牙设备中固件程序的误操作等原因造成的。
[0063]在S203中,若所述固件程序完整,则通过所述无线控制器将所述固件程序的第一版本号发送至所述云端,使所述云端将所述第一版本号和自身存储的固件程序的第二版本号相比较,若所述第二版本号大于所述第一版本号,则由云端启动固件升级,并通过所述无线控制器拉低所述蓝牙设备中蓝牙芯片的状态检测引脚,使所述蓝牙设备进入等待固件升级状态。
[0064]在本发明实施例中,若所述固件程序完整,所述蓝牙设备则会将自身固件程序的第一版本号通过无线微控制器发送至云端,由云端接收所述第一版本号,并将所述第一版本号与其存储的最新版本的固件程序的第二版本号相比较,若第二版本号大于第一版本号,则向所述APP端推送固件升级消息,提示用户选择是否进行固件升级,然后在所述APP端接收用户根据上述提示输入的固件升级指令,并将该固件升级指令通过云端或者直接发送至无线微控制器,使无线微控制器根据所述固件升级指令拉低所述蓝牙设备中蓝牙芯片的状态检测引脚,并重启所述蓝牙设备,使所述蓝牙设备进入等待固件升级状态。
[0065]在S103中,所述蓝牙设备接收所述无线微控制器发送的检测指令,并根据所述检测指令将所述等待固件升级状态反馈至所述无线微控制器,使所述无线微控制器根据升级指令从云端获取相应的固件程序升级包,并将所述固件程序升级包返回至所述蓝牙设备。
[0066]在本发明实施例中,当固件程序不完整时,无线控制器在检测到蓝牙设备处于等待固件升级状态后,会向云端发送一个伪版本号,使云端根据该伪版本号向APP端推送固件升级消息,提示用户选择是否进行固件升级,然后在所述APP端接收用户根据上述提示输入的固件升级指令,并将该固件升级指令通过云端或者直接发送至无线微控制器,使无线控制器根据所述固件升级指令从所述云端获取相应的固件程序升级包。当固件程序完整时,无线控制器在检测到蓝牙设备处于等待固件升级状态后,会直接根据升级指令从云端获取相应的固件程序升级包。
[0067]在S104中,所述蓝牙设备接收所述固件程序升级包,并利用所述固件程序升级包进行固件程序升级。S104的具体实现流程参见图3所示:
[0068]在S301中,所述蓝牙设备接收到所述固件程序升级包后,对所述固件程序升级包进行整体校验,若整体校验通过,则向所述无线微控制器发送相应的应答包,使所述无线微控制器根据所述应答包返回重启指令。
[0069]在S302中,所述蓝牙设备根据所述重启指令进行重启,以完成所述固件程序升级。
[0070]在本发明实施例中,蓝牙设备在接收到一个完整的分包后,需要先对该分包进行校验,若校验通过,才能将分包写入自身的flash中,并向无线微控制器回复接收成功的应答包;若校验未通过,则丢弃该分包,并向无线微控制器回复接收失败的应答包,使无线微控制器重传该分包。当所有的分包均发送完成后,蓝牙设备会对接收到的所有分包进行整体校验,若校验通过,则向无线微控制器发送相应的应答包,并接收无线微控制器根据该应答包返回的重启指令进行重启,以完成升级;反之,若校验未通过,则重新启动固件程序升级,并重新向无线微控制器发送升级请求。
[0071]本发明实施例提供的蓝牙设备固件程序的升级方法由于在蓝牙设备上电后,自动判断是否启动固件程序升级;若启动固件程序升级,则使所述蓝牙设备进入等待固件升级状态,并通过APP端向与所述蓝牙设备建立有物理链路连接的无线微控制器发送升级指令;所述蓝牙设备接收所述无线微控制器发送的检测指令,并根据所述检测指令将所述等待固件升级状态反馈至所述无线微控制器,使所述无线微控制器根据所述升级指令从云端获取相应的固件程序升级包,并将所述固件程序升级包返回至所述蓝牙设备,从而可以使蓝牙设备在无需用户干预的情况下,自动完成固件程序升级,不需要用户手动操作,操作步骤较为简便。
[0072]图4示出了本发明实施例提供的蓝牙设备固件
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1