張力云,,余艷梅,吳小強,,何小海
?。ㄋ拇ù髮W(xué) 電子信息學(xué)院 圖像信息研究所,四川 成都 610064)
摘要:設(shè)計并實現(xiàn)了一種基于嵌入式平臺的巖屑圖像采集信息管理系統(tǒng),。系統(tǒng)由SQLite數(shù)據(jù)庫,、Web服務(wù)器、無線WiFi模塊三部分組成,。巖屑圖像采集完成后將井號,、井段、采集時間等信息寫入到數(shù)據(jù)庫中,,采集進程利用Socket通知Web服務(wù)器更新采集信息,。PC或者移動設(shè)備通過WiFi與Web服務(wù)器建立連接,,Web服務(wù)器利用Websocket協(xié)議將采集的信息發(fā)送到客戶端的瀏覽器,同時也可以在客戶端下載圖像,。
關(guān)鍵詞:嵌入式平臺,;Websocket協(xié)議;SQLite數(shù)據(jù)庫,;Web服務(wù)器
0引言
四川省教育廳2014年研究生教育改革創(chuàng)新項目(2014教034)傳統(tǒng)的巖屑圖像采集平臺是通過PC與采集設(shè)備共同協(xié)作實現(xiàn)的,,PC與采集設(shè)備之間通過串口和USB進行通信,進而實現(xiàn)對采集儀的控制,,但是采集設(shè)備龐大,系統(tǒng)比較復(fù)雜[1],。隨著采集設(shè)備小型化和便攜式的需求日益增大,,一種新型的巖屑采集一體機應(yīng)運而生,采集儀的核心是一塊運行著Linux系統(tǒng)的ARM主板,,采集系統(tǒng)軟件集成在嵌入式系統(tǒng)上,,控制整個采集設(shè)備的正常運行,從而實現(xiàn)了采集儀與 PC的分離,,達(dá)到了設(shè)備小型化和便攜式的要求[2],。
然而巖屑圖像采集過程中用戶需要統(tǒng)計所有已經(jīng)采集的圖像才能知曉當(dāng)前的采集進度,圖像信息不易管理,。另一方面,,采集儀上的圖像需要傳輸?shù)絇C進行后續(xù)處理,但是目前采集儀與PC需要通過交換機和網(wǎng)線連接之后才能進行圖像傳輸,,在實際應(yīng)用中帶來諸多不便,。
針對采集系統(tǒng)中存在的缺陷,本文設(shè)計并實現(xiàn)了輕量級的圖像信息管理系統(tǒng)進而實現(xiàn)對圖像信息的管理,,同時設(shè)計了無線模塊以便于客戶端與采集儀進行無線通信,。
1系統(tǒng)整體設(shè)計
本文設(shè)計的圖像信息管理系統(tǒng)由SQlite數(shù)據(jù)庫和Web服務(wù)器組成。SQlite數(shù)據(jù)庫用于保存圖像信息,,Web服務(wù)器用于與客戶端進行交互,,提供圖像信息瀏覽和圖像下載的功能。Web服務(wù)器是基于Tornado框架設(shè)計的,,該框架占用資源少,,與SQLite同為輕量級的應(yīng)用,非常適合嵌入式系統(tǒng)的開發(fā),。Web服務(wù)器與客戶端通過Websocket協(xié)議進行通信,,該協(xié)議是基于TCP的應(yīng)用層協(xié)議,讓客戶端和服務(wù)器端保持長連接,,為圖像采集信息的實時更新提供了便捷,,并且比HTTP短連接協(xié)議通信效率更高,,資源占用更少。無線模塊提供WiFi熱點功能,,任何有WiFi功能的設(shè)備可以與Web服務(wù)器建立連接,,通過瀏覽器實現(xiàn)圖像信息瀏覽和下載的功能。本文設(shè)計的系統(tǒng)結(jié)構(gòu)圖如圖1所示,。
2數(shù)據(jù)庫設(shè)計
由于平臺資源限制,,本文設(shè)計的系統(tǒng)采用了專門針對嵌入式平臺應(yīng)用的輕型數(shù)據(jù)庫SQLite,它是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),,這種數(shù)據(jù)庫占用資源非常少,,一般只需要不到1 MB的內(nèi)存,并且數(shù)據(jù)存取速度快,,目前該數(shù)據(jù)庫已經(jīng)廣泛應(yīng)用在各種嵌入式產(chǎn)品中,。
在巖屑圖像采集系統(tǒng)中,所有采集的圖像信息存儲在IMG表中,,該表有6個屬性,,分別為ID、WELL,、START,、END、LIGHT,、DATE,。圖像采集完成后采集軟件將以上信息寫入數(shù)據(jù)庫,并通過Socket發(fā)送采集完成信息給Web服務(wù)器進行狀態(tài)更新,。本文設(shè)計的數(shù)據(jù)庫表結(jié)構(gòu)如表1所示,。 表1數(shù)據(jù)庫表結(jié)構(gòu)字段數(shù)據(jù)類型允許
為空主鍵備注IDINTEGERNY圖像信息入庫編號WELLSTRINGNN井號STARTFLOATNN起始井段ENDFLOATNN終止井段LIGHTBOOLNN燈光信息,0代表白光,,1代表熒光DATEDATETIMENN采集時間
3Web服務(wù)器設(shè)計及實現(xiàn)
本文系統(tǒng)中Web服務(wù)器是連接客戶端與采集儀的橋梁,,一方面采集儀可以實時更新采集進度并在客戶端顯示,另一方面客戶端可以下載圖像,。Web服務(wù)器與客戶端通過Websocket協(xié)議進行全雙工通信,,服務(wù)器是基于Tornado框架設(shè)計的。
3.1Websocket協(xié)議
圖像信息管理系統(tǒng)以B/S模式運行,,這樣避免了因客戶端軟件的兼容性引起的問題,,并且能夠在移動端瀏覽器進行采集進度的查看和圖像的下載。
傳統(tǒng)的B/S模式采用HTTP協(xié)議進行通信,,而本系統(tǒng)需要實時更新采集進度,,所以一種辦法是采用輪訓(xùn)技術(shù)。但這種傳統(tǒng)的技術(shù)具有很明顯的缺點,瀏覽器每隔一段時間就向服務(wù)器發(fā)出請求,,服務(wù)端就需要不斷地解析HTTP 請求,,而嵌入式圖像采集平臺的資源相當(dāng)有限,這樣勢必會造成服務(wù)器資源極大的浪費,。另一種辦法是使用Websocket協(xié)議進行通信,。客戶端只需要向服務(wù)端發(fā)送一次連接請求就能建立TCP連接并保持長連接,,之后的通信可以直接發(fā)送數(shù)據(jù)從而省去了數(shù)據(jù)報報頭,,并且雙方是全雙工通信[45]。
Websocket是HTML5定義的一種新的協(xié)議并在2014年10月正式發(fā)布,,目前無論在PC平臺還是移動端平臺,,較新版本的瀏覽器已經(jīng)支持Websocket協(xié)議。
3.2Tornado Web框架
Tornado是由Facebook公司開發(fā)的開源Web服務(wù)器框架,。該框架有三個特點:(1)輕量級,,占用硬件資源少,有利于在ARM主板上進行應(yīng)用開發(fā),;(2)非阻塞式運行,Tornado充分利用了epoll方式,,為服務(wù)器提供了強大的網(wǎng)絡(luò)響應(yīng)性能,,并且響應(yīng)速度快,適合開發(fā)實時應(yīng)用,;(3)Tornado 2.2之后的版本都支持Websocket協(xié)議,,避免了協(xié)議實現(xiàn)這一復(fù)雜的工作?;谝陨蠋c,,本文設(shè)計的圖像信息管理系統(tǒng)中的Web服務(wù)器選擇Tornado進行開發(fā)[6]。
3.3Web服務(wù)器設(shè)計
本文設(shè)計的Web服務(wù)器的工作流程如圖2所示,。
首先客戶端與服務(wù)端進行連接,,客戶端發(fā)送連接請求,請求的Upgrade字段表示此次連接是以Websocket協(xié)議進行連接的,。
如果服務(wù)器成功接收到客戶端的連接請求,,在完成各字段的校驗后會立即返回握手請求,由此客戶端與服務(wù)端建立了連接,。
客戶端與服務(wù)端建立連接后,,若Web服務(wù)器接收到采集軟件發(fā)送的數(shù)據(jù)更新信號,會立即讀取數(shù)據(jù)庫的相應(yīng)信息,,并將數(shù)據(jù)傳給客戶端,;若客戶端發(fā)送下載圖片的信號時,Web服務(wù)器則在相應(yīng)的文件夾找到圖片并發(fā)送給客戶端。
4無線模塊的實現(xiàn)
采集儀與PC之間的通信需要網(wǎng)絡(luò)連接,,如果通過有線的方式進行連接,,那么PC與采集儀需要分別用一根網(wǎng)線連接一個交換機,這種方式比較繁瑣,。本文的方案是將ARM主板設(shè)置成WiFi熱點,,筆記本、手機等設(shè)備都能連接到采集儀,,從而進行采集信息的查看和圖像下載[7],。
本文設(shè)計的系統(tǒng)采用EDUP USB無線網(wǎng)卡提供WiFi接入。為了提供網(wǎng)絡(luò)接入服務(wù),,首先設(shè)置該WiFi熱點的IP地址,、子網(wǎng)掩碼和網(wǎng)關(guān),并在/etc/network/interfaces文件中修改網(wǎng)絡(luò)配置,。
WiFi熱點的基本配置完成后需要讓無線接入功能運作起來,。Hostapd是一個用戶態(tài)用于AP和認(rèn)證服務(wù)的守護進程,它實現(xiàn)了IEEE802.11相關(guān)的接入管理,。Hostapd的默認(rèn)配置文件為/etc/default/hostapd,,配置信息包含三個部分,分別是基本配置,、加密配置和硬件配置[8],。最后配置硬件信息,包括網(wǎng)卡驅(qū)動,、無線網(wǎng)協(xié)議等,。
通過以上操作已經(jīng)建立起了WiFi熱點,但是接入設(shè)備需要自行設(shè)置有效的IP地址才能連接熱點,,Linux系統(tǒng)可以通過udhcp運行DHCP服務(wù),,為接入設(shè)備自動分配有效的IP地址[9]。udhcp的配置文件為/etc/udhcp.conf,,主要配置有效的IP地址范圍,。
啟動hostapd和udhcp進程并加入到系統(tǒng)啟動項中,至此,,設(shè)備已經(jīng)可以通過無線局域網(wǎng)連接到采集儀,。
5結(jié)論
本文以Web服務(wù)器和數(shù)據(jù)庫為核心設(shè)計并實現(xiàn)了一種基于嵌入式圖像采集平臺的圖像信息管理系統(tǒng),并通過WiFi與客戶端進行通信,。系統(tǒng)采用B/S模式運行,,用戶可以在PC或者移動客戶端的瀏覽器上查看圖像信息和下載圖像,并且采集儀與客戶端完全通過無線進行通信,。該系統(tǒng)提高了圖像信息管理的靈活性和便捷性,,并簡化了設(shè)備部署的復(fù)雜度。
參考文獻
[1] 高盛豐. 巖石小樣本圖像采集系統(tǒng)設(shè)計和實現(xiàn)[D].成都:四川大學(xué),2012.
?。?] 曾杰. 一體化巖屑數(shù)字圖像采集系統(tǒng)的設(shè)計和實現(xiàn)[D]. 成都:四川大學(xué),2015.
?。?] 杜曉東,舒明蕾,孟利民,等. 基于QT的跨平臺虛擬鍵盤設(shè)計與實現(xiàn)[J]. 微型機與應(yīng)用,2015,34(17):1820.
[4] 薛隴彬,劉釗遠(yuǎn). 基于WebSocket的網(wǎng)絡(luò)實時通信[J]. 計算機與數(shù)字工程,2014(3):478481.
?。?] 張玲,張翠肖. WebSocket服務(wù)器推送技術(shù)的研究[J]. 河北省科學(xué)院學(xué)報,2014,,31(2):4953.
[6] 賈殿燕. 基于Tornado的即時通訊系統(tǒng)的設(shè)計與實現(xiàn)[J]. 電子技術(shù)與軟件工程,2015(5):6768.
?。?] 齊亞蘭,蘇凱雄,沈少陽. IEEE802.11n技術(shù)標(biāo)準(zhǔn)及其在無線局域網(wǎng)中的應(yīng)用[J]. 數(shù)字技術(shù)與應(yīng)用,2012(6):5456.
?。?] 張劍英,李宗為,張祥忠,等. 一種基于ARM11的無線AP進程移植方法[J]. 電視技術(shù),2013,37(15):5759,,86.
?。?] 王愛華,李永春. DHCP客戶端在ARM下的設(shè)計與實現(xiàn)[J]. 微型機與應(yīng)用,2012,31(22):5356.