一种物联网设备多控制板远程升级方法、装置及存储介质与流程

文档序号:29249823发布日期:2022-03-16 01:01阅读:103来源:国知局
一种物联网设备多控制板远程升级方法、装置及存储介质与流程

1.本发明属于物联网技术领域,特别涉及一种物联网设备多控制板远程升级方法、装置及存储介质。


背景技术:

2.物联网是指通过各种信息传感器、射频识别技术等各种检测装置与技术,实时采集任何需要监控、连接和互动的物体和过程的各种信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。
3.随着物联网设备广泛应用,ota升级成为物联网设备必备的功能之一,它很好的解决了大数据统计的需求变更、设备远程控制方式更改以及bug修复。现有ota升级的安全性和物联网设备多控制板升级成为问题。


技术实现要素:

4.本发明实施例提供一种物联网设备多控制板远程升级方法,以解决现有技术中ota升级的安全性和物联网设备多控制板升级的问题
5.本发明实施例是这样实现的,提出一种物联网设备多控制板远程升级方法,所述方法包括如下步骤:
6.获取服务器下发的升级命令和升级信息;
7.根据所述升级命令和升级信息下载升级固件并将所述升级固件分发至控制板的ota程序区;
8.将所述升级固件从所述ota程序区复制至控制板的执行程序区;
9.执行所述执行程序区的升级固件。
10.一种物联网设备多控制板远程升级装置,包括:
11.获取单元,用于获取服务器下发的升级命令和升级信息;
12.下载分发单元,用于根据所述升级命令和升级信息下载升级固件并将所述升级固件分发至控制板的ota程序区;
13.复制单元,用于将所述升级固件从所述ota程序区复制至控制板的执行程序区;
14.执行单元,用于执行所述执行程序区的升级固件。
15.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述方法的步骤。
16.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述方法的步骤。
17.在本发明实施例中,控制板保持有2份最新的可执行程序,当ota升级失败或者执行程序异常时,设备会自动恢复不影响正常工作,同时还可实现多控制板ota升级功能,解
决物联网家电设备多控制板安全升级的问题。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
19.图1是本发明实施例提供的一种物联网设备多控制板远程升级方法的流程图;
20.图2是本发明实施例提供的另一种物联网设备多控制板远程升级方法的流程图;
21.图3是本发明实施例提供的又一种物联网设备多控制板远程升级方法的流程图;
22.图4是本发明实施例提供的又一种物联网设备多控制板远程升级方法的流程图;
23.图5是本发明实施例提供的又一种物联网设备多控制板远程升级方法的流程图;
24.图6是本发明实施例提供的一种物联网设备多控制板远程升级装置的结构框图;
25.图7是本发明实施例提供的另一种物联网设备多控制板远程升级装置的结构框图;
26.图8是本发明实施例提供的又一种物联网设备多控制板远程升级装置的结构框图。
具体实施方式
27.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
28.现有技术中,ota升级的安全性和物联网设备多控制板升级成为问题
29.为了解决上述问题,本发明提供一种物联网设备多控制板远程升级方法。
30.图1示出了适用于本发明实施例的一种物联网设备多控制板远程升级方法流程图,包括如下步骤:
31.步骤s101,获取服务器下发的升级命令和升级信息。
32.在本发明实施例中,当需要进行ota升级时,终端终端先将升级程序与固件信头打包生成升级固件并上传至服务器,服务器再创建升级任务并选择升级任务执行时间区间,到指定时间下发升级命令和升级信息。获取服务器下发的升级指令和升级信息的是负责与服务器通信的控制板,可以是iot版。升级信息里包含有对应控制板的识别码。
33.步骤s102,根据所述升级命令和升级信息下载升级固件并将所述升级固件分发至控制板的ota程序区。
34.在本发明实施例中,控制板程序运行空间可分为4块,第一块为引导程序区,第二块为执行程序区、第三块为ota程序区,第四块为程序信息区。其中程序信息区包括程序版本号、校验码等信息。
35.由与服务器通信的iot板根据升级命令和升级信息从服务器下载相应的升级固件将升级固件分发至相应控制板的ota程序区,控制板的数量可以是一块,也可以是多块。当控制板为多块时,iot板可同时将升级固件分发至多块匹配的控制板。所述升级固件包含固
件头和升级程序。
36.iot板将升级固件分发至控制板的通信方式包括但不限于串口、usb、spi、 i2c、wifi、蓝牙、有线无线网络等。
37.步骤s103,将所述升级固件从所述ota程序区复制至控制板的执行程序区。
38.控制板收到升级固件并将升级固件下载至ota程序区后,由控制板的引导程序区的引导程序将ota程序区的升级固件拷贝至控制板的执行程序区。优选的,可通过重启设备来激活引导程序区的引导程序完成将ota程序区的升级固件拷贝至控制板的执行程序区。
39.优选的,控制板收到升级固件后可以根据固件头的信息对升级固件进行检验,判断升级固件是否完整,如果判断升级固件完整,则将所述升级固件从所述ota程序区复制至控制板的执行程序区,如判断升级固件不完整,则可通过 iot板向服务器发送升级失败信息,同时还可附带相应的错误代码。
40.步骤s104,执行所述执行程序区的升级固件。
41.上述步骤将升级固件复制至执行程序区后即可通过执行该升级固件完成控制板ota程序升级。升级固件中包含的升级程序。
42.优选的,为了升级安全,执行升级固件之前可对升级固件进行校验,校验通过后再进行升级。
43.综上所述,通过上述物联网设备多控制板远程升级方法,控制板保持有2 份最新的可执行程序,当ota升级失败或者执行程序异常时,设备会自动恢复不影响正常工作,同时还可实现多控制板ota升级功能,解决物联网家电设备多控制板安全升级的问题。
44.图2示出了适用于本发明实施例的另一种物联网设备多控制板远程升级方法流程图,步骤s102具体包括:
45.步骤s1021,下载所述固件头。
46.在本发明实施例中,所述升级固件包括固件头。当获取到服务器下发的升级命令和升级信息后,并不会直接下载升级固件,先下载升级固件的固件头,固件头里包含固件升级信息。
47.优选的,为了升级安全,当获取到服务器下发的升级命令和升级信息后,下载固件头之前,对获取的升级信息的安全性进行校验,校验通过后则可进行固件头下载校验不通过则向服务器反馈升级失败信息,同时还可反馈故障代码。
48.步骤s1022,根据所述固件头和升级信息判断所述升级固件是否合法。
49.为了进一步提高升级安全性,下载固件头后,还可以通过验证从服务器获取的升级信息与固件头里的固件升级信息是否一致来判断是否合法。若合法,则可进入步骤s1023;若不合法,则进入步骤s301,向服务器反馈升级失败信息,同时还可反馈故障代码。
50.步骤s1023,根据所述固件头和升级信息判断所述升级固件与所述控制板是否匹配。
51.获取的升级信息里包含有对应控制板的识别码,可通过读取需要升级的控制板的识别码和升级信息里的识别码进行比较,判断二者是否一致。若一致,则进入步骤s1024;若不一致,则进入步骤s301,向服务器反馈升级失败信息,同时还可反馈故障代码。
52.步骤s1024,下载所述升级固件并将所述升级固件分发至所述控制板的 ota程序区。
53.当前述校验都通过后,下载升级固件并将升级固件分发至上述匹配的控制板的ota程序区,所述控制板可以是一块,也可以是多块。在本发明实施例中,下载和分发升级固件的是与服务器和控制板通信的iot板,一块iot板可对应多块控制板。
54.优选的,为了便于管理下载升级固件或分发升级固件均具有超时检测,当判断是下载升级固件或分发升级固件超时时,重新下载或分发升级固件。
55.图3示出了适用于本发明实施例的又一种物联网设备多控制板远程升级方法流程图,步骤s103具体包括:
56.步骤s1031,根据所述引导程序区的引导程序判断当前设备模式是否为 ota升级模式。
57.在本发明实施例中,还需对设备模式进行判断,可包括正常模式、ota升级模式、故障模式等。所述控制板包括引导程序区,引导程序区的引导程序查找设备模式,判断设备是否运行在ota升级模式,若是,则进入步骤s1032;若否,则进入步骤s401。
58.步骤s1032,则将所述升级固件从所述ota程序区复制至执行程序区。
59.在本发明实施例中,为了提高升级的安全性,不直接从ota程序区执行升级固件,而是将升级固件从所述ota程序区复制至执行程序区,再执行。
60.优选的,还可根据不同的设备模式进行不同阶段的ota升级。例如,正常模式时先校验执行分区固件,通过则正常启动设备,再向服务器上报版本号,校验不通过则校验ota程序区的升级固件,后续步骤同ota升级模式;ota 升级模式时先校验ota分区升级固件通过则将升级固件复制至执行程序区,不通过则进入正常模式,通过则将升级固件从ota程序区复制至执行程序区,复制失败可向服务器上报;故障模式时向服务器发送请求,升级失败信息请求重新下发升级命令。
61.优选的,进入ota升级模式之前检验升级固件的完整性。固件头里包含有固件的校验码,可通过计算下载升级固件的校验码与固件头里包含的校验码是否一致判断完整性,一致则开始进入ota升级模式;不一致则则向服务器反馈升级失败信息,同时还可反馈故障代码。
62.图4示出了适用于本发明实施例的又一种物联网设备多控制板远程升级方法流程图,所述方法还包括:
63.步骤s201,获取所述将所述升级固件从ota程序区复制至执行程序区的失败次数。
64.在本发明实施例中,控制板ota升级时将升级固件从ota程序区复制至执行程序区存在失败的可能性。引导程序区的引导程序将所述升级固件从ota 程序区复制至执行程序区并校验失败后会将失败次数进行记录。
65.步骤s202,当所述失败次数超过预设次数时,向服务器发送升级失败信息。
66.当获取失败次数预设次数后,判定没有有效的可执行程序,向服务器发送升级失败的信息,此预设次数可预先进行设置。例如,预先设置失败3次则向服务器发送升级失败信息。
67.步骤s203,请求所述服务器重新下发升级命令。
68.向服务器发送升级失败信息后,还可以主动请求服务器重新下发升级命令,以便重新进行ota升级。
69.优选的,控制板每次启动都可检测执行程序是否损坏,如果损坏且ota程序区没有
程序则可主动请求服务器下发升级命令。
70.图5示出了适用于本发明实施例的又一种物联网设备多控制板远程升级方法流程图,所述方法还包括:
71.步骤s105,获取升级后的新版本号。
72.完成升级并重启后,获取并记录升级后的新版本号,新版本号可记录在控制板的程序信息区。
73.步骤s106,将所述新版本号发送至服务器。
74.将升级后的新版本号发送至iot板,iot板将新版本号上传至服务器后,由服务器判断升级是否成功。成功则完成本次升级,失败则可继续下发升级命令。
75.图6示出了适用于本发明实施例的一种物联网设备多控制板远程升级装置的结构框图,包括:
76.获取单元601,用于获取服务器下发的升级命令和升级信息。
77.在本发明实施例中,当需要进行ota升级时,终端先将升级程序与固件信头打包生成升级固件并上传至服务器,服务器再创建升级任务并选择升级任务执行时间区间,到指定时间下发升级命令和升级信息。获取单元601获取服务器下发的升级指令和升级信息的是负责与服务器通信的控制板,可以是iot版。升级信息里包含有对应控制板的识别码。
78.下载分发单元602,用于根据所述升级命令和升级信息下载升级固件并将所述升级固件分发至控制板的ota程序区。
79.在本发明实施例中,控制板程序运行空间可分为4块,第一块为引导程序区,第二块为执行程序区、第三块为ota程序区,第四块为程序信息区。其中程序信息区包括程序版本号、校验码等信息。
80.下载分发单元602中与服务器通信的iot板根据升级命令和升级信息从服务器下载相应的升级固件将升级固件分发至相应控制板的ota程序区,控制板的数量可以是一块,也可以是多块。当控制板为多块时,iot板可同时将升级固件分发至多块匹配的控制板。所述升级固件包含固件头和升级程序。
81.iot板将升级固件分发至控制板的通信方式包括但不限于串口、usb、spi、 i2c、wifi、蓝牙、有线无线网络等。
82.复制单元603,用于将所述升级固件从所述ota程序区复制至控制板的执行程序区。
83.控制板收到升级固件并将升级固件下载至ota程序区后,由复制单元603 的控制板的引导程序区的引导程序将ota程序区的升级固件拷贝至控制板的执行程序区。优选的,可通过重启设备来激活引导程序区的引导程序完成将 ota程序区的升级固件拷贝至控制板的执行程序区。
84.优选的,控制板收到升级固件后可以根据固件头的信息对升级固件进行检验,判断升级固件是否完整,如果判断升级固件完整,则将所述升级固件从所述ota程序区复制至控制板的执行程序区,如判断升级固件不完整,则可通过 iot板向服务器发送升级失败信息,同时还可附带相应的错误代码。
85.执行单元604,用于执行所述执行程序区的升级固件。
86.上述步骤将升级固件复制至执行程序区后即可通过执行单元604执行该升级固件
完成控制板ota程序升级。升级固件中包含的升级程序。
87.优选的,为了升级安全,执行单元604执行升级固件之前可对升级固件进行校验,校验通过后再进行升级。
88.综上所述,通过上述物联网设备多控制板远程升级方法,控制板保持有2 份最新的可执行程序,当ota升级失败或者执行程序异常时,设备会自动恢复不影响正常工作,同时还可实现多控制板ota升级功能,解决物联网家电设备多控制板安全升级的问题。
89.图7示出了适用于本发明实施例的另一种物联网设备多控制板远程升级装置的结构框图,下载分发单元602具体包括:
90.固件头下载模块6021,用于下载所述固件头。
91.在本发明实施例中,所述升级固件包括固件头。当获取到服务器下发的升级命令和升级信息后,固件头下载模块6021并不会直接下载升级固件,先下载升级固件的固件头,固件头里包含固件升级信息。
92.优选的,为了升级安全,当获取到服务器下发的升级命令和升级信息后,下载固件头之前,对获取的升级信息的安全性进行校验,校验通过后则可进行固件头下载校验不通过则向服务器反馈升级失败信息,同时还可反馈故障代码。
93.第一判断模块6022,用于根据所述固件头和升级信息判断所述升级固件是否合法。
94.为了进一步提高升级安全性,下载固件头后,还可以通过第一判断模块 6022验证从服务器获取的升级信息与固件头里的固件升级信息是否一致来判断是否合法。若合法,则可进入下一步;若不合法,则向服务器反馈升级失败信息,同时还可反馈故障代码。
95.第二判断模块6023,用于根据所述固件头和升级信息判断所述升级固件与所述控制板是否匹配。
96.获取的升级信息里包含有对应控制板的识别码,可通过第二判断模块6023 读取需要升级的控制板的识别码和升级信息里的识别码进行比较,判断二者是否一致。若一致,则进入下一步;若不一致,则向服务器反馈升级失败信息,同时还可反馈故障代码。
97.下载分发模块6024,用于下载所述升级固件并将所述升级固件分发至所述控制板的ota程序区。
98.当前述校验都通过后,下载分发模块6024下载升级固件并将升级固件分发至上述匹配的控制板的ota程序区,所述控制板可以是一块,也可以是多块。在本发明实施例中,下载和分发升级固件的是与服务器和控制板通信的iot板,一块iot板可对应多块控制板。
99.优选的,为了便于管理下载升级固件或分发升级固件均具有超时检测,当判断是下载升级固件或分发升级固件超时时,重新下载或分发升级固件。
100.如图7所示出物联网设备多控制板远程升级装置结构框图,复制单元603 具体包括:
101.模式判断模块6031,用于根据所述引导程序区的引导程序判断当前设备模式是否为ota升级模式。
102.在本发明实施例中,模式判断模块6031对设备模式进行判断,可包括正常模式、ota升级模式、故障模式等。所述控制板包括引导程序区,引导程序区的引导程序查找设备模式,判断设备是否运行在ota升级模式,若是,则进入步骤s1032。
103.复制模块6032,用于则将所述升级固件从所述ota程序区复制至执行程序区。
104.在本发明实施例中,为了提高升级的安全性,不直接从ota程序区执行升级固件,而是由复制模块6032将升级固件从所述ota程序区复制至执行程序区,再执行。
105.优选的,还可根据不同的设备模式进行不同阶段的ota升级。例如,正常模式时先校验执行分区固件,通过则正常启动设备,再向服务器上报版本号,校验不通过则校验ota程序区的升级固件,后续步骤同ota升级模式;ota 升级模式时先校验ota分区升级固件通过则将升级固件复制至执行程序区,不通过则进入正常模式,通过则将升级固件从ota程序区复制至执行程序区,复制失败可向服务器上报;故障模式时向服务器发送请求,升级失败信息请求重新下发升级命令。
106.优选的,进入ota升级模式之前检验升级固件的完整性。固件头里包含有固件的校验码,可通过计算下载升级固件的校验码与固件头里包含的校验码是否一致判断完整性,一致则开始进入ota升级模式;不一致则则向服务器反馈升级失败信息,同时还可反馈故障代码。
107.图8示出了适用于本发明实施例的又一种物联网设备多控制板远程升级装置结构框图,还包括:
108.失败次数获取单元701,用于获取所述将所述升级固件从ota程序区复制至执行程序区的失败次数。
109.在本发明实施例中,控制板ota升级时将升级固件从ota程序区复制至执行程序区存在失败的可能性。引导程序区的引导程序将所述升级固件从ota 程序区复制至执行程序区并校验失败后失败次数获取单元701会将失败次数进行记录。
110.失败信息发送单元702,用于当所述失败次数超过预设次数时,向服务器发送升级失败信息。
111.当获取失败次数预设次数后,判定没有有效的可执行程序,失败信息发送单元702向服务器发送升级失败的信息,此预设次数可预先进行设置。例如,预先设置失败3次则向服务器发送升级失败信息。
112.升级命令发送单元703,用于请求所述服务器重新下发升级命令。
113.向服务器发送升级失败信息后,还可以主动请求服务器重新下发升级命令,以便重新进行ota升级。
114.优选的,控制板每次启动都可检测执行程序是否损坏,如果损坏且ota程序区没有程序则可主动请求服务器下发升级命令。
115.图8示出了适用于本发明实施例的又一种物联网设备多控制板远程升级装置结构框图,还包括:
116.新版本号获取单元605,用于获取升级后的新版本号。
117.完成升级并重启后,新版本号获取单元605获取并记录升级后的新版本号,新版本号可记录在控制板的程序信息区。
118.新版本号发送单元606,用于将所述新版本号发送至服务器。
119.新版本号发送单元606将升级后的新版本号发送至iot板,iot板将新版本号上传至服务器后,由服务器判断升级是否成功。成功则完成本次升级,失败则可继续下发升级命令。
120.本发明还提出一种计算机设备,包括处理器,处理器用于执行如上述的物联网设备多控制板远程升级方法。
121.本发明实施例提供的计算机设备还包括存储器。示例性的,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在物联网设备多控制板远程升级装置中的执行过程。
122.本领域技术人员可以理解,上述物联网设备多控制板远程升级装置的描述仅仅是示例,并不构成对物联网设备多控制板远程升级装置的限定,可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线等。
123.所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、微控制单元(microcontroller unit,mcu)、数字信号处理器 (digital signal processor,dsp)、专用集成电路(application specific integratedcircuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是上述物联网设备多控制板远程升级装置的控制中心,利用各种接口和线路连接整个物联网设备多控制板远程升级装置的各个部分。
124.所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现上述充电机的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
125.上述物联网设备多控制板远程升级装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例中的全部或部分单元功能,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的功能。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random accessmemory)、电载波信号、电信信号以及软件分发介质等。
126.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1