本發(fā)明涉及工業(yè)控制設(shè)備領(lǐng)域,尤其涉及一種更新終端設(shè)備程序方法。
背景技術(shù):
目前在很多工控設(shè)備領(lǐng)域中,控制端一般為基于操作系統(tǒng)的功能復(fù)雜的設(shè)備,可以靈活高效處理各種復(fù)雜的功能任務(wù);而終端一般是基于單片機(jī)的功能單一的設(shè)備,只適合處理一些既定的任務(wù)。在具體使用場(chǎng)景中,終端一般被分散安裝于特定位置,通過(guò)控制信號(hào)線纜和控制端相連接,安裝完成后除非進(jìn)行必要的設(shè)備故障維護(hù)或者更換設(shè)備,否則就很少再進(jìn)行現(xiàn)場(chǎng)操作,而且現(xiàn)場(chǎng)操作的難度較大。終端一般在出廠前統(tǒng)一燒寫(xiě)調(diào)試好的程序,出廠后如果需要進(jìn)行軟件升級(jí)或者功能調(diào)整,只能返廠或者廠家派技術(shù)員到現(xiàn)場(chǎng)用專用燒錄設(shè)備進(jìn)行重新燒錄程序。
現(xiàn)有的更新終端設(shè)備程序的方式有以下缺點(diǎn):
1、終端設(shè)備安裝完成后,不管是返廠還是外派技術(shù)員進(jìn)行軟件更新,操作難度都比較大;
2、需要使用專用的單片機(jī)程序燒錄設(shè)備,而用戶手上一般沒(méi)有這類設(shè)備;
3、遠(yuǎn)程操作需要發(fā)送更新程序包,會(huì)帶來(lái)一定重要文件外泄的風(fēng)險(xiǎn);
4、如果是對(duì)專門(mén)場(chǎng)地的調(diào)試性的程序修改和更新,操作復(fù)雜程度更高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明是鑒于現(xiàn)有技術(shù)存在的上述問(wèn)題提出的,本發(fā)明提供一種操作簡(jiǎn)單、安全可控的更新終端設(shè)備程序方法。
本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的,
一種更新終端設(shè)備程序方法,其包括以下步驟:
1)建立加密內(nèi)部通信機(jī)制
基于控制端和終端連接的串口通信定制一個(gè)專用的加密內(nèi)部通信機(jī)制;
2)加密、解碼
加密模塊:對(duì)更新程序進(jìn)行二次加密打包;
解碼模塊:解碼模塊安裝在控制端上,所述解碼模塊通過(guò)串口與終端通信連接;
3)獲取更新程序包
獲取模塊:控制端上集成有獲取模塊,所述獲取模塊從廠家提供的服務(wù)器下載二次加密后的更新程序包;
4)同步、識(shí)別
識(shí)別模塊:所述識(shí)別模塊集成在終端上,所述識(shí)別模塊為識(shí)別數(shù)據(jù)的boot文件;
同步指令:控制端通過(guò)加密內(nèi)部通信機(jī)制給終端發(fā)送指定的同步指令;
終端收到同步指令后,識(shí)別模塊對(duì)同步指令進(jìn)行信息校驗(yàn);
5)準(zhǔn)備更新?tīng)顟B(tài)
識(shí)別模塊對(duì)信息校驗(yàn)成功,即達(dá)到更新升級(jí)條件,終端切換到更新準(zhǔn)備狀態(tài);
識(shí)別模塊對(duì)信息校驗(yàn)失敗,即未達(dá)到更新升級(jí)條件,終端對(duì)同步指令和更新程序包不作任何操作;
6)更新升級(jí)
控制端通過(guò)加密內(nèi)部通信機(jī)制(線纜)將更新程序包發(fā)送給終端,所述終端的解密模塊對(duì)更新程序包進(jìn)行數(shù)據(jù)解密校驗(yàn);解密校驗(yàn)成功后,則更新程序包更新成功;解密校驗(yàn)失敗后,則放棄本次更新。
進(jìn)一步地,控制端根據(jù)終端的儲(chǔ)存空間、內(nèi)存大小,將更新程序包分成若干個(gè)數(shù)據(jù)塊發(fā)送至終端;所述終端相應(yīng)的分多次對(duì)數(shù)據(jù)塊進(jìn)行接收,每次接收到的數(shù)據(jù)塊通過(guò)解密模塊進(jìn)行解密校驗(yàn);校驗(yàn)成功則進(jìn)行數(shù)據(jù)的部分更新;校驗(yàn)失敗則丟棄本次接收的數(shù)據(jù)塊;重復(fù)接收、解密校驗(yàn),直至文件接收完畢。
進(jìn)一步地,所述更新程序包接收完畢后,終端通過(guò)解密模塊校驗(yàn)更新程序包的完整性,完整性校驗(yàn)成功則程序更新成功。
進(jìn)一步地,完整性校驗(yàn)失敗后,終端切換至boot界面等待再次更新。
進(jìn)一步地,所述數(shù)據(jù)塊經(jīng)過(guò)加密模塊進(jìn)行加密。
進(jìn)一步地,所述步驟3)包括廠家將加密后的更新程序包直接發(fā)送到用戶控制端。
進(jìn)一步地,所述控制端同時(shí)連接并控制多個(gè)終端進(jìn)行程序更新。
本發(fā)明具有以下有益效果:
①流程簡(jiǎn)化、工作效率高、無(wú)需額外增加成本,利用現(xiàn)成的通信線纜進(jìn)行數(shù)據(jù)傳輸更新,無(wú)需將終端設(shè)備返廠或外派技術(shù)人員;更新終端設(shè)備程序可以批量進(jìn)行,無(wú)需一個(gè)個(gè)進(jìn)行更新,提高工作效率;控制端具備有云端下載程序更新包功能(即從服務(wù)器上下載),進(jìn)一步簡(jiǎn)化操作流程。
②安全可控,通過(guò)加密模塊對(duì)更新程序包進(jìn)行靈活加密,通過(guò)解密模塊對(duì)更新程序包解密校驗(yàn),有效提高數(shù)據(jù)安全性。
附圖說(shuō)明
圖1為本發(fā)明的流程簡(jiǎn)圖;
具體實(shí)施方式
在本發(fā)明的描述中,需要說(shuō)明的是,除非另有明確的規(guī)定和限定,術(shù)語(yǔ)中“終端”和“終端設(shè)備”是同一概念,術(shù)語(yǔ)中“控制設(shè)備”和“控制端”是同一概念;術(shù)語(yǔ)中“連接”應(yīng)做廣義理解,例如,可以使固定連接,也可以是可拆卸連接,或一體地連接;可以使機(jī)械連接,也可以是點(diǎn)連接;可以使直接相連,也可以通過(guò)中間媒介相連。對(duì)本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語(yǔ)在本發(fā)明中的具體含義。
為了更好地理解和實(shí)施,下面結(jié)合附圖詳細(xì)說(shuō)明本發(fā)明。
實(shí)施例一
一種更新終端設(shè)備程序方法,其包括以下步驟,
1)建立加密內(nèi)部通信機(jī)制
基于控制端和終端連接的串口通信定制一個(gè)專用的加密內(nèi)部通信機(jī)制。
2)加密、解碼
加密模塊:對(duì)更新程序包進(jìn)行二次加密打包。對(duì)更新程序包加密過(guò)程,可以選擇在廠家直接加密,有效防止更新數(shù)據(jù)泄露。
解碼模塊:解碼模塊安裝在控制端上,所述解碼模塊通過(guò)串口與終端通信連接。本解碼模塊是對(duì)更新程序包中二次加密進(jìn)行解密。
3)獲取更新程序包
獲取模塊:控制端上集成有獲取模塊,所述獲取模塊從廠家提供的服務(wù)器下載二次加密后的更新程序包。
獲取模塊獲取更新程序包的方式,不作特別限定,亦可以選擇廠家將加密后的更新程序包直接發(fā)送給客戶,客戶通過(guò)usb等方式將更新程序包連接至控制端。
4)同步、識(shí)別
識(shí)別模塊:所述識(shí)別模塊集成在終端上,所述識(shí)別模塊為識(shí)別數(shù)據(jù)的boot文件。識(shí)別模塊的識(shí)別方式不作特別限定,也可以采用其他識(shí)別數(shù)據(jù)。
同步指令:控制端通過(guò)加密內(nèi)部通信機(jī)制給終端發(fā)送指定的同步指令;
終端收到同步指令后,識(shí)別模塊對(duì)同步指令進(jìn)行信息校驗(yàn)。
5)準(zhǔn)備更新?tīng)顟B(tài)
識(shí)別模塊對(duì)信息校驗(yàn)成功,即達(dá)到更新升級(jí)條件,終端切換到更新準(zhǔn)備狀態(tài);
識(shí)別模塊對(duì)信息校驗(yàn)失敗,即未達(dá)到更新升級(jí)條件,終端對(duì)同步指令和更新程序包不作任何操作;
6)更新升級(jí)
控制端通過(guò)加密內(nèi)部通信機(jī)制(線纜)將更新程序包發(fā)送給終端,所述終端的解密模塊對(duì)更新程序包進(jìn)行數(shù)據(jù)解密校驗(yàn);解密校驗(yàn)成功后,則更新程序包更新成功;解密校驗(yàn)失敗后,則放棄本次更新。
解密校驗(yàn)失敗后,終端切換至boot界面,等待再次更新。
實(shí)施例二
本實(shí)施例與實(shí)施例一不同之處:步驟6)將更新程序包分成若干數(shù)據(jù)塊,分批發(fā)送、解密。
具體如下,
控制端根據(jù)終端的儲(chǔ)存空間、內(nèi)存大小,將更新程序包分成若干個(gè)數(shù)據(jù)塊發(fā)送至終端;
所述終端相應(yīng)的分多次對(duì)數(shù)據(jù)塊進(jìn)行接收,每次接收到的數(shù)據(jù)塊通過(guò)解密模塊進(jìn)行解密校驗(yàn);校驗(yàn)成功則進(jìn)行數(shù)據(jù)的部分更新;校驗(yàn)失敗則丟棄本次接收的數(shù)據(jù)塊;
重復(fù)接收、解密校驗(yàn),直至文件接收完畢。文件接收完畢后,終端通過(guò)解密模塊校驗(yàn)更新包的完整性。完整性校驗(yàn)成功,則程序更新成功;完整性校驗(yàn)失敗,終端切換至boot界面等待再次更新。
實(shí)施三
本實(shí)施例與實(shí)施例一、實(shí)施例二不同之處是,本實(shí)施一是控制端同時(shí)連接多個(gè)終端進(jìn)行操作。本實(shí)施例所采用的方法和步驟與實(shí)施例一、實(shí)施二一致。
需要說(shuō)明是,控制端與終端的控制連接方式在本發(fā)明中不作特別限定,可以采用有線連接(即線纜),亦可以采用無(wú)線連接,如wifi,zigbee等無(wú)線信號(hào)模式連接。
與現(xiàn)有技術(shù)相比,本發(fā)明的方法流程簡(jiǎn)化、工作效率高、無(wú)需額外增加成本,利用現(xiàn)成的通信線纜進(jìn)行數(shù)據(jù)傳輸更新,無(wú)需將終端設(shè)備返廠或外派技術(shù)人員;更新終端設(shè)備程序可以批量進(jìn)行,無(wú)需一個(gè)個(gè)進(jìn)行更新,提高工作效率;控制端具備有云端下載程序更新包功能(即從服務(wù)器上下載),進(jìn)一步簡(jiǎn)化操作流程;安全可控,通過(guò)加密模塊對(duì)更新程序包進(jìn)行靈活加密,通過(guò)解密模塊對(duì)更新程序包解密校驗(yàn),有效提高數(shù)據(jù)安全性。
本發(fā)明并不局限于上述實(shí)施方式,如果對(duì)本發(fā)明的各種改動(dòng)或變形不脫離本發(fā)明的精神和范圍,倘若這些改動(dòng)和變形屬于本發(fā)明的權(quán)利要求和等同技術(shù)范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變形。