本公開涉及計算機(jī)技術(shù)領(lǐng)域,具體地,涉及一種固件升級方法及設(shè)備。
背景技術(shù):
隨著科學(xué)技術(shù)的不斷發(fā)展,電子技術(shù)也得到了飛速發(fā)展,目前,各種各樣的小型電子設(shè)備豐富了人們的娛樂生活,也為人們的工作和學(xué)習(xí)帶來便利。比如,讓工作更加得心應(yīng)手的智能筆、隨處享受音樂的MP3播放器、智能手表,等等。
為了能夠持續(xù)地能夠給使用這些小型電子設(shè)備的用戶帶來較好體驗,生產(chǎn)小型電子設(shè)備的廠家往往會不斷地發(fā)布固件升級文件,小型電子設(shè)備在進(jìn)行固件升級之后,可能會擁有新的功能,或者能夠給用戶帶來更好的使用效果。目前,小型電子設(shè)備一般通過使用數(shù)據(jù)線連接到電腦進(jìn)行固件升級,這樣的方式較為復(fù)雜,用戶操作起來也較為麻煩。
技術(shù)實現(xiàn)要素:
本公開的目的是提供一種固件升級方法及設(shè)備,能夠較好地給電子設(shè)備進(jìn)行固件升級。
根據(jù)本公開實施例的第一方面,提供一種固件升級方法,包括:
通過藍(lán)牙低功耗BLE技術(shù),與待升級的電子設(shè)備建立無線連接;
接收所述電子設(shè)備發(fā)送的用于請求數(shù)據(jù)的請求信息;
基于所述BLE技術(shù)的通訊協(xié)議,向所述電子設(shè)備發(fā)送用于對所述電子設(shè)備進(jìn)行固件升級的數(shù)據(jù)。
可選的,在接收所述電子設(shè)備發(fā)送的用于請求數(shù)據(jù)的請求信息之前,還包括:
檢測所述電子設(shè)備支持的服務(wù)類型;
在檢測到所述電子設(shè)備支持固件升級的服務(wù)時,向所述電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息。
可選的,在檢測到所述電子設(shè)備支持固件升級的服務(wù)時,向所述電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息,包括:
在檢測到所述電子設(shè)備支持固件升級的服務(wù)時,獲取所述電子設(shè)備當(dāng)前的電量信息;
在所述電量信息指示所述電子設(shè)備當(dāng)前的電量大于預(yù)設(shè)電量值時,向所述電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息。
可選的,在檢測到所述電子設(shè)備支持固件升級的服務(wù)時,向所述電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息,包括:
在檢測到所述電子設(shè)備支持固件升級的服務(wù)時,獲取所述電子設(shè)備當(dāng)前的固件版本信息;
在所述固件版本信息指示所述電子設(shè)備當(dāng)前的版本低于固件升級文件的版本時,向所述電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息。
可選的,所述方法還包括:
按照預(yù)設(shè)時間間隔檢測另一電子設(shè)備是否有更新對應(yīng)于所述電子設(shè)備的固件升級文件,其中,所述另一電子設(shè)備用于存儲對應(yīng)于所述電子設(shè)備的固件升級文件;
在檢測到所述另一電子設(shè)備有更新對應(yīng)于所述電子設(shè)備的固件升級文件時,從所述另一電子設(shè)備獲取最新的固件升級文件。
根據(jù)本公開實施例的第二方面,提供一種固件升級設(shè)備,包括:
藍(lán)牙低功耗模塊;
射頻單元;
處理器,用于通過所述藍(lán)牙低功耗模塊,與待升級的電子設(shè)備建立無線連接,接收所述電子設(shè)備發(fā)送的用于請求數(shù)據(jù)的請求信息,及通過所述射頻單元,基于藍(lán)牙低功耗BLE技術(shù)的通訊協(xié)議,向所述電子設(shè)備發(fā)送用于對所述電子設(shè)備進(jìn)行固件升級的數(shù)據(jù)。
可選的,所述處理器還用于:
在接收所述電子設(shè)備發(fā)送的用于請求數(shù)據(jù)的請求信息之前,檢測所述電子設(shè)備支持的服務(wù)類型;
在檢測到所述電子設(shè)備支持固件升級的服務(wù)時,向所述電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息。
可選的,所述處理器用于:
在檢測到所述電子設(shè)備支持固件升級的服務(wù)時,獲取所述電子設(shè)備當(dāng)前的電量信息;
在所述電量信息指示所述電子設(shè)備當(dāng)前的電量大于預(yù)設(shè)電量值時,向所述電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息。
可選的,所述處理器用于:
在檢測到所述電子設(shè)備支持固件升級的服務(wù)時,獲取所述電子設(shè)備當(dāng)前的固件版本信息;
在所述固件版本信息指示所述電子設(shè)備當(dāng)前的版本低于固件升級文件的版本時,向所述電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息。
可選的,所述處理器還用于:
按照預(yù)設(shè)時間間隔檢測另一電子設(shè)備是否有更新對應(yīng)于所述電子設(shè)備的固件升級文件,其中,所述另一電子設(shè)備用于存儲對應(yīng)于所述電子設(shè)備的固件升級文件;
在檢測到所述另一電子設(shè)備有更新對應(yīng)于所述電子設(shè)備的固件升級文件時,從所述另一電子設(shè)備獲取最新的固件升級文件。
根據(jù)本公開實施例的第三方面,提供一種非臨時性計算機(jī)可讀存儲介質(zhì),當(dāng)所述存儲介質(zhì)中的指令由固件升級設(shè)備的處理器執(zhí)行時,使得固件升級設(shè)備能夠執(zhí)行一種固件升級方法,所述方法包括:
通過藍(lán)牙低功耗BLE技術(shù),與待升級的電子設(shè)備建立無線連接;
接收所述電子設(shè)備發(fā)送的用于請求數(shù)據(jù)的請求信息;
基于所述BLE技術(shù)的通訊協(xié)議,向所述電子設(shè)備發(fā)送用于對所述電子設(shè)備進(jìn)行固件升級的數(shù)據(jù)。
本公開實施例中,可以先通過BLE(Bluetooth Low Energy,藍(lán)牙低功耗)技術(shù),與要升級的電子設(shè)備建立無線連接,建立之后,可以接收電子設(shè)備發(fā)送的用于請求升級數(shù)據(jù)的請求信息,然后再基于BLE技術(shù)的通訊協(xié)議,將用于固件升級的數(shù)據(jù)發(fā)送給電子設(shè)備。通過這樣的方式,無需用戶手動連線來對電子設(shè)備進(jìn)行固件升級,操作方便、快捷,同時,采用BLE技術(shù)可以降低固件升級過程的能耗,為一些升級不方便的小型電子設(shè)備提供了較好的固件升級的方式。
本公開的其他特征和優(yōu)點將在隨后的具體實施方式部分予以詳細(xì)說明。
附圖說明
附圖是用來提供對本公開的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與下面的具體實施方式一起用于解釋本公開,但并不構(gòu)成對本公開的限制。在附圖中:
圖1是根據(jù)一示例性實施例示出的一種固件升級方法的流程圖。
圖2是根據(jù)一示例性實施例示出的一種固件升級設(shè)備的框圖。
具體實施方式
以下結(jié)合附圖對本公開的具體實施方式進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解的是,此處所描述的具體實施方式僅用于說明和解釋本公開,并不用于限制本公開。
圖1是根據(jù)一示例性實施例示出的一種固件升級方法的流程圖,如圖1所示,該固件升級方法可以應(yīng)用于固件升級設(shè)備中,包括以下步驟。
步驟S11:通過藍(lán)牙低功耗BLE技術(shù),與待升級的電子設(shè)備建立無線連接。
步驟S12:接收電子設(shè)備發(fā)送的用于請求數(shù)據(jù)的請求信息。
步驟S13:基于BLE技術(shù)的通訊協(xié)議,向電子設(shè)備發(fā)送用于對電子設(shè)備進(jìn)行固件升級的數(shù)據(jù)。
固件升級設(shè)備可以是任意的智能終端,例如,可以是手機(jī)、PAD(Personal Digital Assistant,平板電腦)、PC(Personal Computer,個人計算機(jī)),等等,本公開實施例對此不作限定。
待升級的電子設(shè)備可以是任意的需要進(jìn)行固件升級的設(shè)備,比如,可以是智能筆、智能眼鏡、MP3播放器,等等,本公開實施例對此同樣不作限定。
BLE技術(shù)適合需長時間運行且有能源供給需求的設(shè)備所采用,例如以紐扣電池為電源供給來源,或兼具能源采集功能的設(shè)備。目前,藍(lán)牙低功耗技術(shù)已經(jīng)取得市面上各主流的操作系統(tǒng)的原生支持,這將便于移動應(yīng)用的開發(fā),及利于云計算和社會經(jīng)濟(jì)效應(yīng)的連接。固件升級設(shè)備可以通過BLE技術(shù)與待升級的電子設(shè)備建立無線連接,因此,固件升級設(shè)備與待升級的電子設(shè)備均需要配置有能夠支持BLE技術(shù)的藍(lán)牙模塊。建立藍(lán)牙連接之后,固件升級設(shè)備可以基于待升級的電子設(shè)備發(fā)送的請求,向待升級的電子設(shè)備發(fā)送用于進(jìn)行固件升級的數(shù)據(jù)。在數(shù)據(jù)發(fā)送過程中,待升級的電子設(shè)備可以重復(fù)地請求數(shù)據(jù),固件升級設(shè)備將根據(jù)待升級的電子設(shè)備的請求向待升級的電子設(shè)備發(fā)送數(shù)據(jù),直到完整的固件升級文件全部傳輸完成。
對于基于BLE技術(shù)向待升級的電子設(shè)備發(fā)送數(shù)據(jù)的方式,本公開實施例不作限定,例如在固件升級設(shè)備端建立一個應(yīng)用程序,添加新GATT Service(通用屬性配置文件的服務(wù))來實現(xiàn)讀寫功能,在待升級的電子設(shè)備端的藍(lán)牙協(xié)議棧相應(yīng)添加新的固件升級所使用的GATT Service,基于GATT(Generic Attribute Profile,通用屬性配置文件)架構(gòu),通過固件升級設(shè)備的射頻單元發(fā)送數(shù)據(jù)。
通過這樣的方式,無需用戶手動連線來對電子設(shè)備進(jìn)行固件升級,操作簡單、方便,采用BLE技術(shù)傳輸升級數(shù)據(jù)可以降低固件升級過程的能耗,為一些升級不方便的小型電子設(shè)備提供了較好的固件升級方式。
可選的,在接收電子設(shè)備發(fā)送的用于請求數(shù)據(jù)的請求信息之前,還可以檢測電子設(shè)備支持的服務(wù)類型,在檢測到電子設(shè)備支持固件升級的服務(wù)時,向電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息。
也就是說,在固件升級設(shè)備與待升級的電子設(shè)備建立了藍(lán)牙連接之后,固件升級設(shè)備可以先檢測電子設(shè)備支持哪些服務(wù),比如可以通過搜索待升級的電子設(shè)備的GATT Service來確定待升級的電子設(shè)備支持哪些服務(wù),待升級的電子設(shè)備可以向固件升級設(shè)備反饋所支持的服務(wù)。在固件升級設(shè)備檢測到待升級的電子設(shè)備支持固件升級的服務(wù)時,再向電子設(shè)備發(fā)送進(jìn)行固件升級的請求。這樣,可以較好地確保固件升級過程能夠順利進(jìn)行。
當(dāng)然,固件升級設(shè)備將請求進(jìn)行固件升級的請求發(fā)送給電子設(shè)備之后,可以等待接收待升級的電子設(shè)備的確認(rèn)信息,也就是說,待升級的電子設(shè)備可以進(jìn)一步確定是否要進(jìn)行升級,比如,可以讓用戶選擇是否升級,或者根據(jù)電子設(shè)備當(dāng)前的狀態(tài)確定能否正常進(jìn)行升級,等等。
可選的,在檢測到電子設(shè)備支持固件升級的服務(wù)時,可以獲取電子設(shè)備當(dāng)前的電量信息,在電量信息指示電子設(shè)備當(dāng)前的電量大于預(yù)設(shè)電量值時,再向電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息。
對于預(yù)設(shè)電流值究竟是多少,本公開實施例不作限定,例如,可以是滿充電量的50%,等等。
由于在待升級的電子設(shè)備的電量較低的時候,固件升級過程可能無法完成,甚至發(fā)生錯誤,因此可以在檢測到待升級的電子設(shè)備支持固件升級服務(wù),且電量大于預(yù)設(shè)電流值時,再請求對電子設(shè)備進(jìn)行固件升級。這樣,可以進(jìn)一步確保固件升級過程的順利進(jìn)行。
在檢測到待升級的電子設(shè)備的電量低于預(yù)設(shè)電流值時,可以不發(fā)送固件升級請求,同時還可以輸出提示信息,以提示用戶對待升級的電子設(shè)備進(jìn)行充電之后再升級。
可選的,在檢測到電子設(shè)備支持固件升級的服務(wù)時,還可以獲取電子設(shè)備當(dāng)前的固件版本信息,那么可以在固件版本信息指示電子設(shè)備當(dāng)前的版本低于固件升級文件的版本時,向電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息。
即,固件升級設(shè)備中存儲有用于給待升級的電子設(shè)備進(jìn)行升級的固件升級文件,可以在確定待升級的電子設(shè)備支持固件升級的服務(wù),且固件版本低于固件升級設(shè)備中存儲的固件升級文件的版本時,再向待升級的電子設(shè)備發(fā)送固件升級請求。這樣,可以避免重復(fù)給固件已經(jīng)是最高版本的電子設(shè)備進(jìn)行升級,用戶體驗較好。
在檢測到待升級的電子設(shè)備當(dāng)前的固件版本與固件升級文件的版本相同,或者檢測到待升級的電子設(shè)備當(dāng)前的固件版本高于固件升級文件的版本時,可以不發(fā)送固件升級請求,同時還可以輸出提示信息,以提示用戶無需對電子設(shè)備進(jìn)行固件升級。
可選的,固件升級設(shè)備還按照預(yù)設(shè)時間間隔檢測另一電子設(shè)備是否有更新對應(yīng)于電子設(shè)備的固件升級文件,其中,另一電子設(shè)備用于存儲對應(yīng)于電子設(shè)備的固件升級文件,在檢測到另一電子設(shè)備有更新對應(yīng)于電子設(shè)備的固件升級文件時,從另一電子設(shè)備獲取最新的固件升級文件。
預(yù)設(shè)時間間隔比如可以是每隔一個月,或者每隔一周,等等,本公開實施例對此不作限定。
另一電子設(shè)備能夠用于存儲對應(yīng)于待升級的電子設(shè)備的固件升級文件,比如,另一電子設(shè)備可以是服務(wù)器,廠家通過該服務(wù)器發(fā)布固件升級文件,等等。固件升級設(shè)備可以按照一定的時間間隔,比如每隔一個月就檢測服務(wù)器是否更新有待升級的電子設(shè)備的固件升級文件,如果有就可以從服務(wù)器下載更新的固件升級文件,進(jìn)而給待升級的電子設(shè)備進(jìn)行固件升級。這樣,固件升級設(shè)備可以及時獲取最新版本的固件升級文件,進(jìn)而給待升級的電子設(shè)備進(jìn)行固件升級。
請參見圖2,基于同一發(fā)明構(gòu)思,本公開實施例提供一種固件升級設(shè)備200,該固件升級設(shè)備200可以包括:
藍(lán)牙低功耗模塊201;
射頻單元202;
處理器203,用于通過藍(lán)牙低功耗模塊201,與待升級的電子設(shè)備建立無線連接,接收電子設(shè)備發(fā)送的用于請求數(shù)據(jù)的請求信息,及通過射頻單元202,基于藍(lán)牙低功耗BLE技術(shù)的通訊協(xié)議,向電子設(shè)備發(fā)送用于對電子設(shè)備進(jìn)行固件升級的數(shù)據(jù)。
可選的,處理器203還用于:
在接收電子設(shè)備發(fā)送的用于請求數(shù)據(jù)的請求信息之前,檢測電子設(shè)備支持的服務(wù)類型;
在檢測到電子設(shè)備支持固件升級的服務(wù)時,向電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息。
可選的,處理器203用于:
在檢測到電子設(shè)備支持固件升級的服務(wù)時,獲取電子設(shè)備當(dāng)前的電量信息;
在電量信息指示電子設(shè)備當(dāng)前的電量大于預(yù)設(shè)電量值時,向電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息。
可選的,處理器203用于:
在檢測到電子設(shè)備支持固件升級的服務(wù)時,獲取電子設(shè)備當(dāng)前的固件版本信息;
在固件版本信息指示電子設(shè)備當(dāng)前的版本低于固件升級文件的版本時,向電子設(shè)備發(fā)送用于進(jìn)行固件升級的請求信息。
可選的,處理器203還用于:
按照預(yù)設(shè)時間間隔檢測另一電子設(shè)備是否有更新對應(yīng)于電子設(shè)備的固件升級文件,其中,另一電子設(shè)備用于存儲對應(yīng)于電子設(shè)備的固件升級文件;
在檢測到另一電子設(shè)備有更新對應(yīng)于電子設(shè)備的固件升級文件時,從另一電子設(shè)備獲取最新的固件升級文件。
在本公開所提供的實施例中,應(yīng)該理解到,所揭露的設(shè)備和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。
在本申請各個實施例中的各功能模塊可以集成在一個處理單元中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本申請各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、ROM(Read-Only Memory,只讀存儲器)、RAM(Random Access Memory,隨機(jī)存取存儲器)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,以上實施例僅用以對本公開的技術(shù)方案進(jìn)行了詳細(xì)介紹,但以上實施例的說明只是用于幫助理解本公開的方法及其核心思想,不應(yīng)理解為對本公開的限制。本技術(shù)領(lǐng)域的技術(shù)人員在本公開揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本公開的保護(hù)范圍之內(nèi)。