黃遞全,向 娟,田壽全
(1.國家測繪地理信息局 重慶測繪院,重慶 400015)
多源傳感器數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)
黃遞全1,向 娟1,田壽全1
(1.國家測繪地理信息局 重慶測繪院,重慶 400015)
基于Mina框架,利用Java 技術(shù)詳細(xì)設(shè)計開發(fā)了多源傳感器數(shù)據(jù)采集系統(tǒng),實現(xiàn)對傳感器終端發(fā)送的數(shù)據(jù)進(jìn)行接收、解析、展示、轉(zhuǎn)換、加密和發(fā)送等。多源傳感器數(shù)據(jù)采集系統(tǒng)作為傳感器終端和數(shù)據(jù)中心之間的中介,實現(xiàn)了數(shù)據(jù)的自定義協(xié)議轉(zhuǎn)換,對物聯(lián)網(wǎng)數(shù)據(jù)采集技術(shù)具有重要意義。
物聯(lián)網(wǎng);傳感器;數(shù)據(jù)協(xié)議;采集終端
當(dāng)前,以物聯(lián)網(wǎng)、云計算等新一代技術(shù)為核心的智慧城市建設(shè)理念,成為一種未來城市發(fā)展的全新模式[1]。智慧城市是城市信息化發(fā)展的必然趨勢,是在數(shù)字城市建設(shè)發(fā)展到一定階段,科學(xué)技術(shù)達(dá)到一定水平,社會需求達(dá)到一定程度的必然要求。物聯(lián)網(wǎng)技術(shù)作為智慧城市的關(guān)鍵技術(shù)之一[2,3],它體現(xiàn)了一種虛擬數(shù)字世界和現(xiàn)實物理世界的融合趨勢。物聯(lián)網(wǎng)是一個層次化的網(wǎng)絡(luò)[4-6]。作為物聯(lián)網(wǎng)子網(wǎng)之一的傳感網(wǎng)是指由隨機(jī)分布的集成有傳感器、數(shù)據(jù)處理單元和通信單元的微小節(jié)點,通過自組織的方式構(gòu)成的網(wǎng)絡(luò)。傳感器數(shù)據(jù)采集技術(shù)[7,8]具有智能獲取、傳輸和處理信息的功能,它將系統(tǒng)和各個節(jié)點有機(jī)地連成一個整體,起到互相協(xié)同的作用。多源傳感器數(shù)據(jù)采集技術(shù)是物聯(lián)網(wǎng)實現(xiàn)智能感知功能的關(guān)鍵技術(shù)。
1.1 總體架構(gòu)
多源傳感器數(shù)據(jù)采集系統(tǒng)硬件搭建主要包括傳感器設(shè)備、供電電源、中央控制單元硬件設(shè)備等。經(jīng)過采集終端系統(tǒng)軟件解析轉(zhuǎn)換為有效數(shù)據(jù)存儲,進(jìn)而發(fā)送到服務(wù)器中心。采集終端硬件鏈接如圖1。
終端系統(tǒng)形成了傳感器數(shù)據(jù)從終端到中央控制單元再到存儲服務(wù)器的一體化流程。系統(tǒng)軟件將多源傳感器數(shù)據(jù)進(jìn)行接收、解析,然后按自定義協(xié)議存儲發(fā)送。采集終端數(shù)據(jù)流程圖如圖2。
1.2 數(shù)據(jù)庫設(shè)計
圖1 采集終端硬件鏈接圖
傳感器的多樣化導(dǎo)致數(shù)據(jù)格式的不統(tǒng)一,因此需要根據(jù)傳感器各自數(shù)據(jù)格式,按自定義協(xié)議規(guī)范化數(shù)據(jù),建立系統(tǒng)化數(shù)據(jù)庫。采集終端數(shù)據(jù)庫包括自身屬性數(shù)據(jù)以及表征監(jiān)控點狀態(tài)的傳感器數(shù)據(jù)、GPS數(shù)據(jù)。采集終端數(shù)據(jù)庫設(shè)計如圖3所示。
圖2 采集終端數(shù)據(jù)流程圖
圖3 采集系統(tǒng)數(shù)據(jù)庫設(shè)計
1.3 主要功能模塊設(shè)計
多源傳感器數(shù)據(jù)采集端,也稱作中央控制單元,是物聯(lián)網(wǎng)示范應(yīng)用的基礎(chǔ),主要實現(xiàn)數(shù)據(jù)采集、轉(zhuǎn)換、發(fā)送等。詳細(xì)功能設(shè)計如圖4所示。
1)數(shù)據(jù)讀取。傳感器的數(shù)據(jù)通過RS485串口與中央控制單元鏈接,中央控制單元根據(jù)不同傳感器的串口參數(shù)(串口號、波特率、停止位、數(shù)據(jù)位、校驗位等)分別與各傳感器建立鏈接通道。鏈接通道建立后就可以向傳感器發(fā)送數(shù)據(jù)讀取命令,傳感器在接收到數(shù)據(jù)讀取命令后向中央控制單元返回實時數(shù)據(jù)。
2)數(shù)據(jù)解析。根據(jù)數(shù)據(jù)來源的串口信息辨識傳感器數(shù)據(jù)與GPS數(shù)據(jù)。傳感器數(shù)據(jù)解析,根據(jù)數(shù)據(jù)來源辨識該條數(shù)據(jù)屬于哪個類型的傳感器數(shù)據(jù),再根據(jù)相應(yīng)的數(shù)據(jù)解析規(guī)則解析出數(shù)值。GPS數(shù)據(jù)解析,根據(jù)特定編碼方式,將字節(jié)流轉(zhuǎn)換成字符形式,并獲取完整的GPS數(shù)據(jù)包,其中包括可見衛(wèi)星信息(GPGSV)、地理定位信息(GPGLL)、推薦最小定位信息(GPRMC)、地面速度信息(GPVTG)、GPS定位信息(GPGGA)、當(dāng)前衛(wèi)星信息(GPGSA)、衛(wèi)星信號中時間信息(GPZDA),再對相應(yīng)數(shù)據(jù)進(jìn)行解析。
3)數(shù)據(jù)展示。在中央控制單元展示模塊中包括實時顯示傳感器數(shù)據(jù)及中央控制單元和服務(wù)器、傳感器的鏈接狀態(tài)。這樣,既可以看到傳感器狀態(tài)的實時變化,也可以實時看到中央控制單元的鏈接狀態(tài)。因此開辟了獨立的線程,設(shè)置數(shù)據(jù)刷新的頻率,實時更新UI,并且采取異步后臺運行的方式。
4)數(shù)據(jù)存儲。創(chuàng)建臨時數(shù)據(jù)庫,對各類傳感器數(shù)據(jù)創(chuàng)建相應(yīng)的表進(jìn)行存儲。在接收最新傳感器狀態(tài)值時,將歷史存儲數(shù)據(jù)覆蓋,存儲該傳感器數(shù)據(jù)記錄。在臨時數(shù)據(jù)庫保持存儲傳感器最新的數(shù)據(jù)記錄。
5)數(shù)據(jù)轉(zhuǎn)換。將傳感器有效數(shù)據(jù)按照設(shè)定的協(xié)議轉(zhuǎn)換為特定的數(shù)據(jù)格式。數(shù)據(jù)轉(zhuǎn)換時將傳感器數(shù)據(jù)和GPS數(shù)據(jù)分別進(jìn)行編碼,按要求規(guī)范化,打包數(shù)據(jù),包括包頭、協(xié)議號、包編號、傳感器類型、數(shù)據(jù)內(nèi)容等。
6)數(shù)據(jù)發(fā)送。在中央控制單元所在環(huán)境建立局域網(wǎng),并通過3G鏈接外網(wǎng),建立中央控制單元與服務(wù)器層的網(wǎng)絡(luò)鏈接,以3G網(wǎng)的方式發(fā)送數(shù)據(jù)。建立獨立線程,設(shè)置一定頻率,往服務(wù)器實時發(fā)送數(shù)據(jù)。
根據(jù)系統(tǒng)總體架構(gòu)及功能設(shè)計,開發(fā)了多源傳感器數(shù)據(jù)采集系統(tǒng)。系統(tǒng)實現(xiàn)了傳感器數(shù)據(jù)讀取,解析;實現(xiàn)了傳感器數(shù)據(jù)動態(tài)展示,監(jiān)控傳感器的實時狀態(tài);實現(xiàn)了按自定義協(xié)議,規(guī)范化傳感器數(shù)據(jù),將數(shù)據(jù)傳輸?shù)綌?shù)據(jù)中心。從界面可以看到采集終端的基本信息,傳感器實時數(shù)據(jù)以及系統(tǒng)信息。采集終端系統(tǒng)界面如圖5所示。
圖5 采集終端系統(tǒng)界面
1)信號轉(zhuǎn)換技術(shù)。傳感器最初接收到的數(shù)據(jù)是模擬信號,為了高效地傳輸和存儲數(shù)據(jù),需要將模擬信號轉(zhuǎn)換為數(shù)字信號,RS485芯片負(fù)責(zé)將傳感器的模擬信號轉(zhuǎn)換為數(shù)字信號,每個信號以MODBUS協(xié)議的數(shù)據(jù)格式傳輸至中央控制單元。
2)實時網(wǎng)絡(luò)通信技術(shù)。為了保證中央控制單元將數(shù)據(jù)實時高效地發(fā)送至服務(wù)器層,擬采用TCP/IP通信協(xié)議,通過Socket套接字技術(shù)實現(xiàn)中央控制單元與服務(wù)器層的鏈接。TCP/IP協(xié)議可以最大限度地保證數(shù)據(jù)的完整性。
3)多線程管理技術(shù)。中央控制單元負(fù)責(zé)接收各個傳感器發(fā)送的數(shù)據(jù),經(jīng)過處理發(fā)送到服務(wù)器層。中央控制單元需要協(xié)調(diào)數(shù)據(jù)接收、存儲、顯示、發(fā)送等任務(wù),對多個任務(wù)加以控制,采用異步處理技術(shù)。多線程地有效管理可以提高系統(tǒng)的效率,實現(xiàn)在同一時間內(nèi)完成多項任務(wù)。其中用于數(shù)據(jù)顯示的UI更新線程采用異步后臺運行技術(shù)。
4)數(shù)據(jù)緩存池技術(shù)。由于數(shù)據(jù)的讀取和發(fā)送由不同線程處理完成,這就涉及到不同線程之間數(shù)據(jù)交互和共享的問題。采用數(shù)據(jù)緩存池技術(shù),數(shù)據(jù)讀取線程將最新的數(shù)據(jù)存儲在公共內(nèi)存中供數(shù)據(jù)發(fā)送線程讀取和調(diào)用。
5)黑匣子技術(shù)。為了最大限度地保證數(shù)據(jù)的完整性,中央控制單元向服務(wù)器層每發(fā)送一條數(shù)據(jù)都會得到一個數(shù)據(jù)反饋,以確保服務(wù)器層完整地接收到數(shù)據(jù)。假如發(fā)送數(shù)據(jù)后未收到服務(wù)器層的反饋,則將數(shù)據(jù)存入黑匣子數(shù)據(jù)庫,隨后再重新發(fā)送數(shù)據(jù)。
6)信息安全技術(shù)。為保證傳感器數(shù)據(jù)安全到達(dá)服務(wù)器層,將傳感器數(shù)據(jù)按協(xié)議打包、加密,以加密方式發(fā)送到服務(wù)器層。
本文采用信號轉(zhuǎn)換技術(shù)、實時通信技術(shù)、多線程管理技術(shù)、C/S編程技術(shù)開發(fā)了多源傳感器數(shù)據(jù)采集系統(tǒng),實現(xiàn)了傳感器數(shù)據(jù)的讀取、解析、展示、存儲、轉(zhuǎn)換、發(fā)送等。傳感器數(shù)據(jù)采集系統(tǒng)是物聯(lián)網(wǎng)服務(wù)平臺應(yīng)用的基礎(chǔ)部分,實現(xiàn)了傳感器數(shù)據(jù)從終端硬件到數(shù)據(jù)中心的轉(zhuǎn)換并向Web端、手機(jī)應(yīng)用端提供數(shù)據(jù)支持,對物聯(lián)網(wǎng)技術(shù)研究有重要意義。智慧城市的建設(shè)需要物聯(lián)網(wǎng)技術(shù)的支撐,而物聯(lián)網(wǎng)技術(shù)需要傳感器的支持。采集系統(tǒng)實現(xiàn)傳感器數(shù)據(jù)的有效提取,為智慧城市的建設(shè)提供了數(shù)據(jù)來源,在城市數(shù)字化、虛擬化、智慧化方面發(fā)揮了重要作用。
[1] 孫圣和.現(xiàn)代傳感器發(fā)展方向[J].電子測量與儀器學(xué)報,2009(1)∶1-10
[2] 韓立鋒.無線傳感器網(wǎng)絡(luò)技術(shù)[J].電信快報,2005(4)∶15-17
[3] 錢志鴻,王義君.面向物聯(lián)網(wǎng)的無線傳感器網(wǎng)絡(luò)綜述[J].電子與信息學(xué)報,2013(1)∶215-227
[4] 胡永利,孫艷豐,尹寶才.物聯(lián)網(wǎng)信息感知與交互技術(shù)[J].計算機(jī)學(xué)報,2012(6)∶1 147-1 163
[5] 黃迪.物聯(lián)網(wǎng)的應(yīng)用和發(fā)展研究[D].北京∶北京郵電大學(xué),2011
[6] 沈蘇彬,毛燕琴,范曲立,等.物聯(lián)網(wǎng)概念模型與體系結(jié)構(gòu)[J].南京郵電大學(xué)學(xué)報∶自然科學(xué)版,2010(4)∶1-8
[7] 王琳,商周,王學(xué)偉.?dāng)?shù)據(jù)采集系統(tǒng)的發(fā)展與應(yīng)用[J].電測與儀表,2004(8)∶4-8
[8] 李威宣,趙靜.通用數(shù)據(jù)采集卡的驅(qū)動方法及數(shù)據(jù)采集[J].武漢理工大學(xué)學(xué)報∶信息與管理工程版,2007(5)∶16-19
P208
B
1672-4623(2016)01-0020-03
10.3969/j.issn.1672-4623.2016.01.006
黃遞全,碩士,主要從事數(shù)字城市開發(fā)及地理國情普查工作。
2015-04-30。
項目來源:測繪地理信息公益性行業(yè)科研專項資助項目(201412008);國家測繪地理信息局2014年基礎(chǔ)測繪科技資助項目。