999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于構件的自動氣象站嵌入式程序遠程更新※*

2015-09-12 06:42:58茅正沖葉臻黃芳
單片機與嵌入式系統應用 2015年11期
關鍵詞:嵌入式程序

茅正沖,葉臻,黃芳

(江南大學 物聯網學院,無錫214122)

茅正沖(副教授)、葉臻(碩士研究生),主要從事嵌入式軟件構件技術方向的研究;黃芳(講師),主要從事工業控制方向的研究。

引 言

為了確保氣象數據的準確可靠,需要每隔一定距離架設一個自動氣象站,與中心站形成一個自動氣象站網。因此,自動氣象站數量多、分布廣,而且很多是架設在無人值守地區。由于業務上的需求,采集器時常需要進行應用程序更新。目前的程序更新方式比較傳統:首先由開發人員修改源代碼,編譯生成單塊式的應用程序,然后由維護人員帶至現場進行更新。這樣的更新方式需要耗費大量的人力物力,而且在一些環境、氣候惡劣的情況下還難以進行。

本文提出的基于構件的遠程更新方案如圖1所示。

1 硬件結構

遠程更新系統的硬件結構如圖2所示。遠程更新系統由客戶端和服務器端兩部分組成??蛻舳擞刹杉骱虶PRS模塊兩部分組成,安裝在自動氣象站采集箱內;上位機作為遠程更新服務器,軟件維護人員可通過上位機上的遠程更新控制軟件與采集器連接,進行程序更新。

圖1 基于構件的遠程更新方案

采 集 器 采 用ARM 處理器和嵌入式 Linux 操 作 系統。/mnt/data1/和/mnt/data2/目 錄 采用的是yaffs文件系統,用于保存用戶數據;其他目錄采用的是ramdisk文件系統,用于保存系統文件,系統重啟后,保存的內容消失,數據重新加載,可以防止系統文件被篡改。GPRS模塊使用的是宏電公司的H7118GPRS DTU,用串行通信數據線將其與采集器的串行接口連接,即可使采集器通過其與上位機通信。上位機上的遠程更新控制軟件是基于宏電公司提供的數據中心開發包和微軟的MFC類庫開發的。

圖2 遠程更新系統硬件結構

2 文件傳輸協議

2.1 網絡通信協議的選擇

在自動氣象站嵌入式程序遠程更新系統中,需要傳輸的是由Linux共享庫文件、ARM 可執行文件、xml文件以及更新配置文件經壓縮形成的壓縮包文件,若傳輸的數據發生任何錯誤、丟包等現象,都有可能導致更新包失效,程序更新無法進行。由此可見,本應用對數據傳輸的可靠性要求很高,對傳輸速率的要求相對較低,因此應該選用TCP協議進行傳輸。

2.2 文件傳輸數據包格式

對TCP包的封包和解包都由DTU 和配套的數據中心開發包中的函數實現,所以只需設計基于串行接口的文件傳輸數據包格式,采集器和上位機根據約定的數據包格式進行文件的傳輸。

為了保證文件傳輸與數據采集可以同時進行,在此設計了一種與自動氣象站通信協議兼容的文件傳輸數據包格式。

服務器端發送的數據包的基本格式為:

PU[……]↙

那么,什么是“創造力”?德國學者海納特在《創造力》一書中指出:“創造力”一詞來源于拉丁語,大意是創造、創建、生產、造成。它與“成長”詞義相近。從詞源上看,“創造力”指在原先一無所有的情況下,創造出新東西。青年時代是質疑、求索和發現的時代,是一個發展創造力和實現創造的階段?!皠撛臁北緛砭桶俺砷L”的意思。每個青年在求學期間,既是在求知,也是在增強創造力,是知識和能力成長的時期。

“PU”為包頭,“↙”表示換行符,“[……]”為數據包的具體內容。下面對不同類型數據包的格式做詳細介紹。

文件名包:

PU[Nn……n[cc]]↙

“N”為文件名包的標識;“n……n”為文件名,長度不定,不超過64字節;“cc”為校驗和,占兩字節,計算方法是求出文件名中每個字符ASCII碼之和,保留最低字節,再轉換為十六進制數對應的兩字節ASCII碼。

校驗包:

PU[Cm……mcc]↙

“C”為校驗包的標識,“m……m”為md5信息摘要的字符串形式,占32字節;“cc”為校驗和,占兩字節,計算方法是求出32字節信息摘要之和,保留最低字節,再轉換為十六進制數對應的兩字節ASCII碼。校驗包的作用是保證文件內容的準確無誤,這對提高遠程更新的可靠性至關重要,會在后面的內容中詳細闡述。

PU[Dnnd……dcc]↙

“D”為文件內容包的標識;“nn”為包號,占兩字節,為一字節包號對應十六進制數的ASCII碼。“d……d”為文件內容,占512字節,為256字節二進制數據對應十六進制數的ASCII碼;“cc”為校驗和,占兩字節,計算方法是求出512字節數據之和,保留最低字節,再轉換為十六進制數對應的兩字節ASCII碼。更新包中的內容就是通過此類數據包發送的。其他內容包消息略——編者注。

客戶端在收到服務器端發送的其他消息后,會根據情況給服務器端回復ASCII碼表中定義的ACK、NAK 或者CAN 信號。

2.3 文件傳輸流程

文件傳輸流程如圖3所示。上位機依次發送文件名包、校驗包、文件內容包、文件內容包結束消息、傳輸結束消息,根據采集器回復的信號決定重發、發送下一個包或者終止發送。若收到NAK 信號或者超過設置的超時時間后還未收到信號,則會進行重發。重發超過設置的次數之后,將會終止發送。這樣可以防止因為一些特殊情況導致不斷重發、浪費流量的情況。

2.4 更新包的組成

更新包為壓縮文件,壓縮文件中至少應包含ARM 可執行文件、Linux共享庫文件、xml文件中的一種,更新配置文件必不可少。更新配置文件記錄更新包中的文件名稱以及對應的類型,采集器接收到更新包后,解壓更新包,然后根據更新配置文件中的配置信息進行相應的操作。

構件式的數據采集程序由框架構件、功能構件、解析器和配置構件4個部分組成,對應更新包中的ARM 可執行文件、Linux共享庫文件和xml文件。

2.5 斷點續傳的實現

為了防止GPRS信號不穩定造成通信鏈路中斷、更新包傳輸失敗,從而導致整個更新包重新傳輸、浪費通信流量、增加傳輸時間,設計了一種斷點續傳機制,下面詳細介紹其實現方法。

在采集器中創建一個更新包信息記錄文件來記錄未接收完畢的更新包信息,如文件名、信息摘要、接收時間、斷點位置等。在發送更新包之前,上位機會首先發送獲取待續傳文件信息消息給采集器,若采集器中有未接收完成的臨時文件,則會返回待續傳文件信息給上位機。上位機從接收到的斷點位置開始發送文件,采集器在接收過程中,每收到一個正確的數據包,就會把新的斷點位置同步到更新包信息記錄文件中。若更新包接收成功,則會從更新包信息記錄文件中刪除對應的信息。這樣,無論是什么原因導致的傳輸中斷,在下一次傳輸時,都能保證采集器從斷點處開始接收更新包。

圖3 文件傳輸流程

2.6 更新包正確性的保證

為了確保更新包的內容在傳輸過程中沒有發生改變,使用了md5算法來驗證服務器端發送的更新包與客戶端接收到的更新包的一致性。

md5算法是一種不可逆的字符串變換算法,經過它計算得到的md5信息摘要是唯一的,不管字符串發生了什么變化,計算得出的md5信息摘要都是不一樣的。通過這種機制,既保證了更新包內容的正確性,又大大提高了更新成功的幾率。

3 自動更新的實現

3.1 應用程序目錄結構

應用程序目錄結構如圖4 所 示。在/mnt/data1/目 錄 下 有data、info、program_a、program_b、program_download 幾 個子目錄以及采集程序、更新控制程序和啟動腳本。data目錄用于存放采集進程生成的氣象數據文件;info目錄用于存放應用程序的配置文件;program_a與program_b目錄用于存放兩個版本的應用采集程序,以確保更新的可靠性;program_download用于保存接收到的更新包;更新程序、采集程序和啟動腳本的作用將在下一節詳細介紹。

圖4 應用程序目錄結構

3.2 更新機制

采集器啟動后首先會運行啟動腳本,啟動腳本根據加載位置配置文件,從program_a或program_b目錄加載采集程序,然后加載更新控制程序。啟動腳本執行完畢后,采集控制程序和更新進程就同時存在于內存之中了。

上位機發送更新包時,采集進程會根據2.2節規定的數據包格式解析數據包,進行數據包的校驗、文件信息的存儲、文件內容的存儲以及應答信號的發送。更新包接收完畢并確保正確后,若用戶發送“更新程序消息”,采集進程則會通過消息隊列發送消息給更新進程,通知更新控制進程進行采集程序的更新。

更新控制程序流程圖如圖5所示。采集進程啟動后,會進入阻塞狀態,直至被消息隊列傳來更新控制程序請求喚醒。接著更新進程會終止當前正在運行的采集進程,解壓更新包,根據更新配置文件中的配置信息將可執行程序、共享庫文件或xml文件移動到相應的目錄,覆蓋舊版的文件。

然后更新控制進程清空消息隊列,啟動新版采集程序。若新版采集程序運行成功,則會向消息隊列發送新版采集進程信息,在一定時間內,若更新進程從消息隊列中接收到新版采集進程信息,則更新成功,否則更新失敗。若更新成功,則修改加載位置配置文件,使加載位置指向新版采集程序的目錄;若更新失敗,則啟動舊版采集程序。

通過此種機制,提高了更新的可靠性,即使更新包存在問題、導致新版采集程序運行失敗,也可以運行舊版采集程序,保證數據采集的連續性。由于自動氣象站需要不間斷地進行數據采集,因此這種保證是至關重要的。

圖5 更新控制程序流程圖

4 實驗結果

圖6為根據此套方案開發的自動氣象站嵌入式程序遠程更新系統服務器,使用此程序與配套的客戶端程序進行了多次遠程更新測試。測試結果表明,此套方案可以成功地實現采集程序的遠程更新。采集程序維護人員首先通過服務器設置配置IP地址和端口號,DTU 模塊會自動進行連接。連接成功后即可選擇更新包發送,發送成功后單擊“更新程序”按鈕即可控制采集器自動進行程序更新。

圖6 自動氣象站嵌入式程序遠程更新服務器

本方案最大的優點是基于構件,更新時,只需發送由若干構件組成的更新包,與傳統的單塊式嵌入式應用程序相比,大大節省了傳輸的流量,提高了更新的效率。構件化前后的文件大小表略——編者注。

構件化之后,雖然文件的總大小191.4KB略大于構件化之前的大小175.6KB,但是最大構件只有31.8KB,遠小于單塊式采集程序的大小171.1KB。而在更新時,更新包中往往只有一個或幾個構件,因此絕大多數情況下,構件化采集程序更新時需要耗費的流量遠小于單塊式采集程序,更新成本更低,效率更高。

結 語

本文基于嵌入式Linux操作系統以及嵌入式文件系統,設計了自動氣象站采集程序遠程更新方案,創新點是以構件的形式進行更新,更加節省流量。實驗表明,該方案取得了良好的效果。下一步的工作目標是優化文件傳輸協議和壓縮算法,進一步提高更新包傳輸的效率、減少流量的消耗。

編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。

[1]朱偉斌,張濤,顧海濤,等.基于網絡的嵌入式設備遠程升級系統[J].電子技術與應用,2014(2):135-138.

[2]李鐵男.基于嵌入式Linux的無線文件傳輸系統的實現[J].計算機工程與設計,2011,32(6):1979-1986.

[3]劉明,方嬌莉,尹業華,等.嵌入式監控系統中斷點續傳的設計與實現,[J].計算機技術與發展,2012,22(2):192-197.

[4]朱孟江,聶云杰.嵌入式終端IAP 斷點續傳的研究與實現,[J].單片機與嵌入式系統應用,2014,14(1):7-9.

[5]趙炯,賈培源,李中山,林旺城.嵌入式設備遠程在線升級技術[J].計算機工程,2012,36(12):262-264.

[6]李俊,王金海.基于TFTP 協議的ARM 軟件遠程更新系統[J].工礦自動化,2010,36(7):22-25.

[7]王江波,楊仁剛.基于GPRS的配變監控終端遠程更新和管理維護的研究[J].電測與儀表,2009,46(11):9-12.

[8]李桂新,蔣敏玉,黃軍.基于現場總線實現遠程在線更新程序的技術[J].信息化研究,2009,35(6):11-14.

[9]徐立松,郭曉金.嵌入式Linux中安全文件傳輸系統的設計與實現[J].數字通信,2009,36(6):78-81.

[10]劉生華,何鵬舉,鄢化彪.基于TCP/IP 的單片機軟件遠程升級[J].單片機與嵌入式系統應用,2007(12):21-23.

[11]王恒,王颋,王泉,等.基于Bootloader的可靠嵌入式軟件遠程更新機制[J].微計算機信息,2007(20):57-59.

[12]王恒,王颋,李敏,等.一種高可靠的嵌入式軟件遠程自更新機制的研究與實現[J].工業控制計算機,2007,20(9):39-40.

猜你喜歡
嵌入式程序
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發平臺
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 动漫精品中文字幕无码| 亚洲天堂日韩av电影| 伊人久久大香线蕉aⅴ色| 狠狠色丁香婷婷综合| 在线亚洲天堂| 日韩激情成人| 亚洲第一在线播放| 久久精品国产在热久久2019| 精品日韩亚洲欧美高清a | 欧美在线国产| 四虎在线高清无码| 国产成人午夜福利免费无码r| av手机版在线播放| 日韩一级毛一欧美一国产| 国产 在线视频无码| 国产在线观看第二页| 国产chinese男男gay视频网| 成人午夜视频免费看欧美| 九九热免费在线视频| 大香伊人久久| 九九热精品视频在线| 国产一级毛片在线| 亚洲精品日产精品乱码不卡| 日日拍夜夜嗷嗷叫国产| 一区二区三区成人| 欧美精品色视频| 亚洲国产中文在线二区三区免| 国产福利在线观看精品| 1级黄色毛片| 国产精品亚洲一区二区三区在线观看| 色一情一乱一伦一区二区三区小说| 一级香蕉视频在线观看| 91免费国产在线观看尤物| 91免费国产高清观看| 国产乱论视频| 久久99蜜桃精品久久久久小说| 91po国产在线精品免费观看| 国产网站免费看| 91亚洲视频下载| 免费看美女毛片| 日本一区二区三区精品国产| 国产精品成| 欧美中文字幕在线播放| 54pao国产成人免费视频| 91黄色在线观看| 波多野结衣久久高清免费| 免费可以看的无遮挡av无码| 在线高清亚洲精品二区| 久久99精品久久久久久不卡| 福利在线不卡一区| 精品伊人久久久久7777人| 亚洲中文字幕国产av| 国产导航在线| 欧美在线网| 日本不卡在线视频| 国产精品男人的天堂| jizz亚洲高清在线观看| 免费无码网站| a级毛片在线免费| 国产欧美日本在线观看| 日韩一区精品视频一区二区| 99伊人精品| 午夜欧美理论2019理论| 欧美日韩精品在线播放| 色妞永久免费视频| 婷婷色在线视频| 国产视频 第一页| 精品视频一区二区三区在线播| 欧洲亚洲欧美国产日本高清| 一级在线毛片| 亚洲人妖在线| 亚洲男人的天堂久久香蕉网| 国内精品自在自线视频香蕉| 男女精品视频| 麻豆AV网站免费进入| 精品福利网| 欧美日韩国产在线人| 国内精品视频在线| 不卡午夜视频| 一级黄色片网| 国产91精品最新在线播放| 老司机精品一区在线视频|