張力云,,余艷梅,,吳小強,何小海
?。ㄋ拇ù髮W 電子信息學院 圖像信息研究所,,四川 成都 610064)
摘要:設計并實現(xiàn)了一種基于嵌入式平臺的巖屑圖像采集信息管理系統(tǒng)。系統(tǒng)由SQLite數據庫,、Web服務器,、無線WiFi模塊三部分組成。巖屑圖像采集完成后將井號,、井段,、采集時間等信息寫入到數據庫中,采集進程利用Socket通知Web服務器更新采集信息,。PC或者移動設備通過WiFi與Web服務器建立連接,,Web服務器利用Websocket協(xié)議將采集的信息發(fā)送到客戶端的瀏覽器,同時也可以在客戶端下載圖像,。
關鍵詞:嵌入式平臺,;Websocket協(xié)議;SQLite數據庫;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)計所有已經采集的圖像才能知曉當前的采集進度,,圖像信息不易管理。另一方面,,采集儀上的圖像需要傳輸到PC進行后續(xù)處理,,但是目前采集儀與PC需要通過交換機和網線連接之后才能進行圖像傳輸,在實際應用中帶來諸多不便,。
針對采集系統(tǒng)中存在的缺陷,,本文設計并實現(xiàn)了輕量級的圖像信息管理系統(tǒng)進而實現(xiàn)對圖像信息的管理,同時設計了無線模塊以便于客戶端與采集儀進行無線通信,。
1系統(tǒng)整體設計
本文設計的圖像信息管理系統(tǒng)由SQlite數據庫和Web服務器組成,。SQlite數據庫用于保存圖像信息,Web服務器用于與客戶端進行交互,,提供圖像信息瀏覽和圖像下載的功能,。Web服務器是基于Tornado框架設計的,該框架占用資源少,,與SQLite同為輕量級的應用,,非常適合嵌入式系統(tǒng)的開發(fā)。Web服務器與客戶端通過Websocket協(xié)議進行通信,,該協(xié)議是基于TCP的應用層協(xié)議,,讓客戶端和服務器端保持長連接,為圖像采集信息的實時更新提供了便捷,,并且比HTTP短連接協(xié)議通信效率更高,,資源占用更少。無線模塊提供WiFi熱點功能,,任何有WiFi功能的設備可以與Web服務器建立連接,,通過瀏覽器實現(xiàn)圖像信息瀏覽和下載的功能。本文設計的系統(tǒng)結構圖如圖1所示。
2數據庫設計
由于平臺資源限制,,本文設計的系統(tǒng)采用了專門針對嵌入式平臺應用的輕型數據庫SQLite,,它是遵守ACID的關系型數據庫管理系統(tǒng),這種數據庫占用資源非常少,,一般只需要不到1 MB的內存,,并且數據存取速度快,目前該數據庫已經廣泛應用在各種嵌入式產品中,。
在巖屑圖像采集系統(tǒng)中,,所有采集的圖像信息存儲在IMG表中,該表有6個屬性,,分別為ID,、WELL、START,、END,、LIGHT、DATE,。圖像采集完成后采集軟件將以上信息寫入數據庫,,并通過Socket發(fā)送采集完成信息給Web服務器進行狀態(tài)更新。本文設計的數據庫表結構如表1所示,。 表1數據庫表結構字段數據類型允許
為空主鍵備注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ā)送數據從而省去了數據報報頭,,并且雙方是全雙工通信[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)這一復雜的工作,。基于以上幾點,,本文設計的圖像信息管理系統(tǒng)中的Web服務器選擇Tornado進行開發(fā)[6],。
3.3Web服務器設計
本文設計的Web服務器的工作流程如圖2所示。
首先客戶端與服務端進行連接,,客戶端發(fā)送連接請求,,請求的Upgrade字段表示此次連接是以Websocket協(xié)議進行連接的。
如果服務器成功接收到客戶端的連接請求,,在完成各字段的校驗后會立即返回握手請求,,由此客戶端與服務端建立了連接。
客戶端與服務端建立連接后,,若Web服務器接收到采集軟件發(fā)送的數據更新信號,,會立即讀取數據庫的相應信息,并將數據傳給客戶端,;若客戶端發(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服務器和數據庫為核心設計并實現(xiàn)了一種基于嵌入式圖像采集平臺的圖像信息管理系統(tǒng),,并通過WiFi與客戶端進行通信。系統(tǒng)采用B/S模式運行,,用戶可以在PC或者移動客戶端的瀏覽器上查看圖像信息和下載圖像,,并且采集儀與客戶端完全通過無線進行通信。該系統(tǒng)提高了圖像信息管理的靈活性和便捷性,,并簡化了設備部署的復雜度,。
參考文獻
[1] 高盛豐. 巖石小樣本圖像采集系統(tǒng)設計和實現(xiàn)[D].成都:四川大學,2012.
?。?] 曾杰. 一體化巖屑數字圖像采集系統(tǒng)的設計和實現(xiàn)[D]. 成都:四川大學,2015.
?。?] 杜曉東,舒明蕾,孟利民,等. 基于QT的跨平臺虛擬鍵盤設計與實現(xiàn)[J]. 微型機與應用,2015,34(17):1820.
[4] 薛隴彬,劉釗遠. 基于WebSocket的網絡實時通信[J]. 計算機與數字工程,2014(3):478481.
?。?] 張玲,張翠肖. WebSocket服務器推送技術的研究[J]. 河北省科學院學報,2014,,31(2):4953.
?。?] 賈殿燕. 基于Tornado的即時通訊系統(tǒng)的設計與實現(xiàn)[J]. 電子技術與軟件工程,2015(5):6768.
[7] 齊亞蘭,蘇凱雄,沈少陽. IEEE802.11n技術標準及其在無線局域網中的應用[J]. 數字技術與應用,2012(6):5456.
?。?] 張劍英,李宗為,張祥忠,等. 一種基于ARM11的無線AP進程移植方法[J]. 電視技術,2013,,37(15):5759,86.
?。?] 王愛華,李永春. DHCP客戶端在ARM下的設計與實現(xiàn)[J]. 微型機與應用,2012,31(22):5356.