一种未联网设备固件升级方法、装置和系统的制作方法_2

文档序号:9274575阅读:来源:国知局
流程图;
[0054]图8为本发明实施例提供的未联网设备固件升级装置的结构框图;
[0055]图9为本发明实施例提供的未联网设备固件升级系统的系统框图。
【具体实施方式】
[0056]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0057]图1为本发明实施例提供的未联网设备固件升级方法的流程图,只需用户通过终端发送第一升级指令,便可实现对未联网设备的固件进行升级的操作,操作简单,且实现了对未联网设备固件的远程控制升级,无需用户到达该未联网设备所在地来对其进行固件升级,当需要对多个分散在各处的未联网设备进行固件升级时,也只需要用户通过终端向外发送第一升级指令便可对所有分散在各处的未联网设备的固件进行升级,无需用户四处奔走,较为省时省力;参照图1,该未联网设备固件升级方法可以包括:
[0058]步骤SlOO:接收终端发送来的第一升级指令;
[0059]可选的,可以为接收终端通过无线网络发送来的第一升级指令,也就是说,终端和未联网设备固件升级装置之间可以为以无线的方式进行通信。同理,也可以为接收终端通过有线网络发送来的第一升级指令,即终端和未联网设备固件升级装置之间可以为以有线的方式进行通信。
[0060]可选的,在终端向未联网设备固件升级装置发送第一升级指令之前,需要先判断是否对未联网设备固件进行升级,具体的,为需要先对未联网设备固件是否可以且需要进行升级来进行判断,在判定未联网设备固件可以且需要进行升级后,终端向未联网设备固件升级装置发送第一升级指令。
[0061]可选的,可以通过终端获取存储于服务器内升级数据的版本信息,然后将当前获取的版本信息与上次获取的版本信息进行比对,通过判断当前获取的版本信息与上次获取的版面信息是否相同来判定未联网设备固件是否可以进行升级。
[0062]若当前获取的版本信息与上次获取的版本信息不相同,则说明服务器内已经存储有用于未联网设备固件升级的升级数据,即该未联网设备的固件已经出现新的版本,该未联网设备固件可以进行升级;若当前获取的版本信息与上次获取的版本信息相同,则说明服务器内还未存储有用于未联网设备固件升级的升级数据,即该未联网设备的固件还未出现新的版本,该未联网设备固件不可以进行升级。
[0063]可选的,当前获取的版本信息与上次获取的版本信息不相同时,可以在终端显示升级咨询信息,通过在终端显示升级咨询信息来告知用户未联网设备的固件已经可以进行升级,向用户询问是否需要对该未联网设备的固件进行升级,通过判断用户是否给终端一个确定升级指令来判定该未联网设备固件是否可以且需要进行升级。
[0064]若终端接收到确定升级指令,则判定该未联网设备固件可以且需要进行升级,终端向未联网设备固件升级装置发送第一升级指令;若终端未接收到确定升级指令,则判定该未联网设备固件不需要进行升级,终端将不会向未联网设备固件升级装置发送第一升级指令。
[0065]可选的,用户可以通过按键的方式向终端发送确定升级指令。
[0066]可选的,在终端、未联网设备固件升级装置和未联网设备之间相互间建立通信数据连接关系后,可以通过未联网设备固件升级装置获取未联网设备的信息,在终端,对所有与未联网设备固件升级装置通过通信总线进行连接的未联网设备的相关信息进行显示。
[0067]可选的,可以通过终端对未联网设备的版本号、是否启动、是否处于升级模式等信息进行显示。
[0068]步骤SllO:根据所述第一升级指令从服务器获取相对应的升级数据,并通过通信接口向未联网设备发送第二升级指令,控制所述未联网设备进入升级模式;
[0069]若未联网设备固件升级装置在接收到终端发送来的第一升级指令,则说明服务器内已经存储有用于对未联网设备固件进行升级的升级数据,可以从服务器获取该升级数据,然后通过该升级数据,对该未联网设备的固件进行升级,得到新版本的未联网设备固件。
[0070]同时,未联网设备固件升级装置在接收到终端发送来的第一升级指令后,需要通过通信接口向未联网设备发送第二升级指令,使该未联网设备在接收到第二升级指令后升级模式,在升级模式下对其内固件进行升级。
[0071]可选的,用于向未联网设备发送第二升级指令的通信接口和用于将升级数据发送给未联网设备的通信接口,均可以为I2C接口。即,可以通过I2C接口向未联网设备发送第二升级指令,并在未联网设备进入升级模式后,将升级数据通过I2C接口发送至未联网设备。
[0072]可选的,在未联网设备固件升级装置从服务器获取升级数据后,可以对从服务器获取的升级数据进行数据完成性和数据准确性的检测,判定从服务器获取的升级数据是否完整且无误。
[0073]若判定获取的升级数据完整,即对服务器内所有所需的升级数据的下载完成且下载得到的升级数据无数据丢失,并且,对该从服务器获取的升级数据进行准确性校验后,没有发现错误,则可以直接将该从服务器获取的升级数据通过通信接口发送至未联网设备;若获取的升级数据不完整,或是获取的升级数据经过准确性校验后发现有错误,或是在获取的升级数据既不完整又被发现错误,则可以重新从服务器获取升级数据,并对该再次获取的升级数据进行完成性和数据准确性的检测,直到获取的升级数据完整且无错后,将该完整且无错的升级数据发送给通过通信接口发送至未联网设备,保证未联网设备的固件可以被升级成功。
[0074]可选的,一台未联网设备可以具有正常模式和升级模式,当启动一台未联网设备,对其进行初始化后,需要判定该未联网设备是进入正常模式和升级模式。
[0075]当一台未联网设备其内固件将被判定有效时,其可以正常运行,当一台未联网设备其内固件将被判定无效时,其将无法正常启动,其无法进入正常模式,只可进入升级模式。
[0076]可选的,可以通过在对未联网设备进行初始化后,检测其内flash存储器末尾是否存在升级标志,和检测其内固件是否有效来判断该未联网设备初始化后是进入正常模式还是升级模式。
[0077]若未在未联网设备内flash存储器末尾检测到升级标志,且检测该未联网设备内固件有效,则该未联网设备进入正常模式;当检测固件无效时,无论flash存储器末尾是否存在升级标志,未联网设备将在初始化后都进入升级模式,当检测固件有效时,当flash存储器末尾存在升级标志时,未联网设备也将在初始化后都进入升级模式。
[0078]可选的,可以设置一台处于正常模式的未联网设备,被判定可以且需要进行固件升级,接收到未联网设备固件升级装置发送来的第二升级指令后,在该未联网设备的flash存储器末尾写入升级标志,使该台未联网设备进行重启,进行系统初始化,检测到其内flash存储器末尾的升级标志,进入通信启动程序,并初始化通信通信接口,来使该未联网设备初始化后进入升级模式。
[0079]步骤S120:将所述升级数据通过所述通信接口发送至所述未联网设备,使所述进入升级模式的未联网设备接收到所述升级数据并根据所述升级数据对其内的固件进行升级。
[0080]当进入升级模式的未联网设备接收到未联网设备固件升级装置通过通信接口发送来的升级数据后,该未联网设备将根据接收到的升级数据对其内的固件进行升级。
[0081]可选的,未联网设备可以通过接收未联网设备固件升级装置发送来的所有升级数据后,将接收的所有升级数据存于内存中,然后对该接收的所有升级数据内逐个升级数据包进行写入的方式,来对该未联网设备进行升级。
[0082]可选的,当未联网设备通过接收未联网设备固件升级装置发送来的所有升级数据后,对该接收的所有升级数据内逐个升级数据包进行写入的方式来对该未联网设备进行升级时,未联网设备可以在接收到未联网设备固件升级装置发送来的所有升级数据后对该升级数据进行据完成性和数据准确性的检测。若判定获取的升级数据完整,且对该升级数据进行准确性校验后,没有发现错误,则可以直接将接收的所有升级数据内逐个升级数据包进行写入;若获取的升级数据不完整,或是获取的升级数据经过准确性校验后发现有错误,或是在获取的升级数据既不完整又被发现错误,则需要重新从未联网设备固件升级装置获取升级数据,并对该再次获取的升级数据进行完成性和数据准确性的检测,直到获取的升级数据完整且无错。
[0083]可选的,可以通过未联网设备固件升级装置向未联网设备发送结束标志,使未联网设备通过判断是否接收到结束标志来判断是否所有的升级数据全部被接收。
[0084]可选的,对未联网设备固件进行升级时,在未联网设备接收未联网设备固件升级装置发送来的所有升级数据并将所有接收的升级数据存于内存中后,可以通过
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1