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