基于RFID古樹名木管理三維信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
古樹名木是個(gè)基因庫,是歷史的見證,是研究自然史的重要資料,是一種吉祥的象征。它不可再生,也不可永生。因此,研究保護(hù)古樹名木、管理古樹名木信息具有重要意義?,F(xiàn)階段我國多以手動檔案管理、信息記錄的方式管理古樹名木,費(fèi)時(shí)費(fèi)力,共享化低,成本高,建檔項(xiàng)目不全,對于各類數(shù)據(jù)不能進(jìn)行高效的查詢以及實(shí)時(shí)的更新[1].新型的管理手段不斷推動古樹名木信息管理的發(fā)展。射頻識別RFID(Radio Frequency Identification)技術(shù)是一項(xiàng)利用射頻信號通過空間耦合(交變磁場或電磁場)實(shí)現(xiàn)無接觸信息傳遞并通過所傳遞的信息達(dá)到識別目的的技術(shù)。它是一種非接觸性自動識別技術(shù),能夠用在各種惡劣環(huán)境中,無需人為干預(yù),通過射頻信號即可自動識別目標(biāo)對象并獲取相關(guān)數(shù)據(jù)。隨著近幾年物聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,射頻識別技術(shù)被廣泛應(yīng)用在各個(gè)領(lǐng)域,如門禁控制、包裹識別追蹤、文檔追蹤管理、產(chǎn)品防偽、高速公路收費(fèi)系統(tǒng)等[2-4].本文以RFID、物聯(lián)網(wǎng)等關(guān)鍵技術(shù)為支撐,在古樹名木三維管理信息系統(tǒng)[5]基礎(chǔ)上,采用便攜式數(shù)據(jù)處理器、PC服務(wù)器端等組件設(shè)計(jì)出基于RFID的古樹名木三維管理信息系統(tǒng),采用信息更新聯(lián)動機(jī)制,實(shí)現(xiàn)數(shù)據(jù)的信息化管理和跟蹤保護(hù)。相對于人工手動建檔,系統(tǒng)更加智能化,極大地減少工作量,外業(yè)工作者可以實(shí)時(shí)地查詢了解古樹的基本信息。而在三維平臺上以360°全景播放、圖片瀏覽的方式使用戶更了解古樹名木的生長環(huán)境。
1系統(tǒng)業(yè)務(wù)功能
系統(tǒng)采用三層C/S結(jié)構(gòu)在移動終端、服務(wù)器、客戶端之間實(shí)現(xiàn)三方通信。移動終端實(shí)現(xiàn)信息采集、遠(yuǎn)程數(shù)據(jù)查詢、添加、修改等功能;服務(wù)器端主要處理移動終端的數(shù)據(jù)請求以及客戶端的授權(quán)請求;客戶端軟件實(shí)現(xiàn)360°全景播放、圖片瀏覽、歷史追蹤、信息管理的功能,其業(yè)務(wù)功能如圖1所示。
2系統(tǒng)體系結(jié)構(gòu)
根據(jù)業(yè)務(wù)功能需求,將系統(tǒng)總體結(jié)構(gòu)劃分為數(shù)據(jù)層、網(wǎng)絡(luò)傳輸層、應(yīng)用層。系統(tǒng)體系結(jié)構(gòu)如圖2所示。
3相關(guān)技術(shù)
3.1信息采集
系統(tǒng)根據(jù)GPS定位數(shù)據(jù)(NMEA0183協(xié)議),選擇解析GPGGA幀結(jié)構(gòu)數(shù)據(jù),判斷數(shù)據(jù)有效時(shí),提取經(jīng)度、緯度、大地水準(zhǔn)面高度,定位數(shù)據(jù)精確到十分位,并轉(zhuǎn)化為度分秒式。
系統(tǒng)中RFID讀寫模塊在EPC存儲器中讀寫電子標(biāo)簽ID,標(biāo)簽長度不超過12 B;在用戶存儲器(USER)中讀寫古樹名木編號(古樹信息的唯一標(biāo)識)。古樹名木編號字符串可以是文字、純數(shù)字、字母,也可以是混合形式的。判斷輸入的古樹名木編號字符串是否為純數(shù)字形式,結(jié)果為假時(shí)用CnEnCStringToHexUnicodeCString()函數(shù)將字符轉(zhuǎn)換成十六進(jìn)制,一個(gè)字符(無論中文還是英文)對應(yīng)2 B,即4個(gè)十六進(jìn)制數(shù)據(jù)。利用UCHAR類型的uWriteBHData[]變量存儲十六進(jìn)制的字符,每兩個(gè)字節(jié)寫入一次,直至所有字節(jié)全部寫入標(biāo)簽。根據(jù)讀地址長度,讀出電子標(biāo)簽上存儲的十六進(jìn)制字符,每4個(gè)十六進(jìn)制為一個(gè)字符,利用HexUnicodeCStringToCnEnCString()函數(shù)讀出存儲的所有字符,一個(gè)地址長度代表讀取1個(gè)字符。結(jié)果為真時(shí)則不需要進(jìn)行十六進(jìn)制轉(zhuǎn)換,直接寫入與讀取,以減少存儲消耗,此時(shí)一個(gè)地址長度代表讀取4個(gè)數(shù)字。福州園林局的古樹名木編碼有時(shí)以中英文為開頭,如“閩A”,這樣的設(shè)計(jì)能很好地解決編號是中英文的情況。
3.2古樹信息管理
進(jìn)入古樹名木信息管理模塊時(shí),系統(tǒng)將自動傳入GPS定位信息與RFID綁定信息?;赪inCE平臺上的數(shù)據(jù)庫API函數(shù)接口,系統(tǒng)通過設(shè)計(jì)古樹信息編輯對話框?qū)崿F(xiàn)對古樹信息的相關(guān)編輯操作,主要包括對信息的查詢、修改、添加等功能。信息的查詢主要分為本機(jī)查詢和遠(yuǎn)程查詢兩種方式。本機(jī)查詢主要查詢手持端數(shù)據(jù)庫信息,而遠(yuǎn)程查詢主要顯示服務(wù)器上的數(shù)據(jù)庫信息,此時(shí)若本機(jī)數(shù)據(jù)庫中沒有此遠(yuǎn)程信息,則保存該信息。信息添加功能主要增添新采集的數(shù)據(jù)信息,從而保證數(shù)據(jù)的不斷更新。同時(shí),用戶還可以對數(shù)據(jù)庫中的信息進(jìn)行動態(tài)修改;根據(jù)園林局野外采集信息定義古樹名木數(shù)據(jù)庫表結(jié)構(gòu)體(REC_TREE);遍歷本機(jī)數(shù)據(jù)庫,判斷每一條記錄的編號屬性值(strTreeNo)是否等于RFID模塊從標(biāo)簽上讀取的編號(m_strBianHao)。移動終端數(shù)據(jù)庫設(shè)計(jì)流程如圖3所示。
3.3信息更新聯(lián)動機(jī)制
移動終端基于UDP發(fā)送信息添加、修改操作的請求,應(yīng)用服務(wù)器根據(jù)請求對數(shù)據(jù)庫服務(wù)器作出處理,并啟動聯(lián)動機(jī)制,反饋信息給移動終端的同時(shí)將聯(lián)動數(shù)據(jù)傳輸給客戶端。信息更新聯(lián)動機(jī)制實(shí)現(xiàn)了移動終端、服務(wù)器端、客戶端之間的三方通信,保證數(shù)據(jù)的一致性。
(1)首先自定義移動終端與服務(wù)器端間的基本數(shù)據(jù)格式:“ID$OPType$TreeID$Data#”,字段之間用“$”間隔,結(jié)束標(biāo)志為“#”。
說明:
ID:手持機(jī)編號(巡檢員編號)。
OPType:數(shù)據(jù)操作類型
01:遠(yuǎn)程古樹信息查詢;
02:古樹信息添加;
03:古樹信息修改;
06:古樹信息批量上傳。
TreeID:數(shù)據(jù)庫存儲字段、編號等。
Data格式:“字段名@屬性值@字段名@屬性值”。
包頭、包尾、自定義數(shù)據(jù)構(gòu)成了UDP傳輸數(shù)據(jù)包結(jié)構(gòu)。服務(wù)器端開啟接收線程(RecvThread),利用recvfrom()函數(shù)接收數(shù)據(jù)包、HandlePackage()函數(shù)處理數(shù)據(jù)包。通過驗(yàn)證包頭、包尾、包長度的正確性,在OnUdpCERecv回調(diào)函數(shù)中解析所有字段,根據(jù)數(shù)據(jù)操作類型對服務(wù)器數(shù)據(jù)庫作出相應(yīng)操作,通過sendto()函數(shù)反饋給移動終端。
(2)服務(wù)器端與客戶端間傳輸數(shù)據(jù)用于授權(quán)訪問與傳輸自定義信息。將來自移動終端的聯(lián)動數(shù)據(jù)作為strMessage發(fā)送給客戶端??蛻舳藙t采用編碼方式,將“樹種”屬性值對應(yīng)的編碼與模型庫中的模型綁定。若移動終端請求添加新信息,則軟件平臺中將自動在三維地形上添加編碼對應(yīng)的三維幾何樹木模型;若移動終端請求修改信息,則客戶端將生成新的數(shù)據(jù)表,用以追蹤古樹名木的歷史位置。
采用多線程處理技術(shù)創(chuàng)建監(jiān)聽套接字,開啟接收線程(ProcRecvHandle)解析授權(quán)文件。若接收的自定義信息是“Need access”,則進(jìn)行模塊匹配,判斷授權(quán)文件是否過期,客戶端數(shù)量是否超過授權(quán)最大數(shù)量限制,授權(quán)成功則利用AddClient()函數(shù)將客戶端實(shí)例信息添加到list中,并向list中的客戶端IP發(fā)送“Accept”信息告知授權(quán)成功。若接收的自定義信息是“HeartBeat”,則向客戶端發(fā)送“Alive”信息告知心跳連接正常。若接收的自定義信息是“Close”,則將客戶端實(shí)例信息從list中去除。
4系統(tǒng)的實(shí)現(xiàn)與應(yīng)用
4.1系統(tǒng)實(shí)現(xiàn)
系統(tǒng)在Visual Studio 2008開發(fā)環(huán)境下,基于WinCE平臺、Windows平臺,集成GPS定位技術(shù)、RFID射頻識別技術(shù)、網(wǎng)絡(luò)傳輸技術(shù),利用WinCE自帶數(shù)據(jù)庫API、SQL Server數(shù)據(jù)庫管理技術(shù),實(shí)現(xiàn)了基于RFID的古樹名木管理三維信息系統(tǒng)。
4.2系統(tǒng)應(yīng)用
(1)野外信息采集
本文選擇福州市長汀村長壽宮的古榕,古樹編號為“閩A00057”,保護(hù)等級為二級,如圖4(a)所示;將電子標(biāo)簽綁定在古樹名木上,如圖4(b)所示。
首先登陸系統(tǒng)并設(shè)置公網(wǎng)IP地址,打開主界面,如圖5(a)所示。在樹根處開啟GPS定位模塊接收GPGGA信息,當(dāng)數(shù)據(jù)狀態(tài)有效時(shí)獲取原始經(jīng)度、緯度、海拔信息并轉(zhuǎn)換為度分秒形式。開啟RFID讀寫模塊讀取電子標(biāo)簽ID,寫入編號“閩A00057”,再一次讀取編號信息確保編號寫入成功。選擇傳輸網(wǎng)絡(luò)(GPRS/WiFi),進(jìn)入古樹信息管理模塊,通過該模塊發(fā)送聯(lián)動數(shù)據(jù)給服務(wù)器,
(2)三維信息管理
服務(wù)器端處理并反饋移動終端的請求,同時(shí)客戶端也會收到數(shù)據(jù)庫數(shù)據(jù)更新的提示信息。利用LOD技術(shù)選擇簡單的方式來表達(dá)要渲染的模型。當(dāng)觀察者距離模型較遠(yuǎn)時(shí),利用billboard技術(shù)實(shí)時(shí)繪制二維圖像,如圖6中綠色小樹圖標(biāo)所示;當(dāng)觀察者越靠近模型,模型繪制越精細(xì)。對于新增記錄,圖6中行政區(qū)劃面板將自動識別其所屬的行政區(qū),并在地圖顯示面板添加閃爍圖標(biāo),標(biāo)識新記錄在二維平面上的地理位置。古樹名木移植復(fù)壯會導(dǎo)致地理位置坐標(biāo)發(fā)生變化,可以查詢某編號的古樹名木的歷史移植情況。同時(shí)系統(tǒng)支持照片、360°全景形式展示古樹名木及其周邊的信息
本文設(shè)計(jì)的基于RFID古樹名木管理三維信息系統(tǒng)充分利用了RFID技術(shù)具有在極端環(huán)境下動態(tài)快速更改標(biāo)簽數(shù)據(jù)的特點(diǎn),以及移動終端自帶的數(shù)據(jù)庫,實(shí)現(xiàn)了數(shù)據(jù)的遠(yuǎn)程查詢、更新功能,拓展了信息更新聯(lián)動機(jī)制,實(shí)現(xiàn)三方通信及三維平臺上信息可視化,使得系統(tǒng)除了能實(shí)現(xiàn)信息與稀有古樹名木的唯一綁定、統(tǒng)一管理外,還能實(shí)時(shí)繪制三維古樹名木幾何模型及其生長環(huán)境。這種數(shù)據(jù)驅(qū)動的方式更有利于古樹名木三維信息的管理。
評論