基于SOS技術(shù)的物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)管理系統(tǒng)開(kāi)發(fā)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
物聯(lián)(Internet of Things, IoT)是指將各種信息傳感設(shè)備、 傳感器網(wǎng)絡(luò)、RFID電子標(biāo)簽、儀表、條碼、二維碼和GPS 接收儀等同人們感興趣的物體以無(wú)線或有線的方式連接起來(lái), 使這些物體可以提供本身及其所在環(huán)境的實(shí)時(shí)信息,這些信 息通過(guò)網(wǎng)關(guān)及傳輸網(wǎng)絡(luò)(互聯(lián)網(wǎng)、3G/4G移動(dòng)網(wǎng)絡(luò))被發(fā)送到 數(shù)據(jù)服務(wù)中心進(jìn)行數(shù)據(jù)存儲(chǔ)和智能化處理。物聯(lián)網(wǎng)應(yīng)用涉及智 能交通、環(huán)境保護(hù)、政府工作、公共安全、平安家居、智能消 防、工業(yè)監(jiān)測(cè)、老人護(hù)理、個(gè)人健康等多個(gè)領(lǐng)域。物聯(lián)網(wǎng) 具有高度的創(chuàng)造性、滲透性和帶動(dòng)性,對(duì)國(guó)家安全、經(jīng)濟(jì)和 社會(huì)發(fā)展產(chǎn)生深遠(yuǎn)影響,歐、美、日、韓等主要發(fā)達(dá)國(guó)家和地 區(qū)將物聯(lián)網(wǎng)納入國(guó)家戰(zhàn)略性計(jì)劃,我國(guó)也將物聯(lián)網(wǎng)放到了戰(zhàn)略 發(fā)展的地位。
1物聯(lián)網(wǎng)應(yīng)用系統(tǒng)
圖1所示是物聯(lián)網(wǎng)應(yīng)用實(shí)時(shí)信息系統(tǒng)的組成圖。該物聯(lián) 網(wǎng)應(yīng)用系統(tǒng)包含六個(gè)部分:節(jié)點(diǎn)(node)、網(wǎng)關(guān)(gateway)、傳 輸網(wǎng)絡(luò)、數(shù)據(jù)服務(wù)中心、物聯(lián)網(wǎng)服務(wù)接入網(wǎng)絡(luò)及物聯(lián)網(wǎng)服務(wù)客 戶(hù)端。
圖2所示是可同物聯(lián)網(wǎng)網(wǎng)關(guān)進(jìn)行數(shù)據(jù)交換的各類(lèi)節(jié)點(diǎn)。 具體來(lái)說(shuō),物聯(lián)網(wǎng)節(jié)點(diǎn)就是儀表、傳感器、RFID標(biāo)簽、攝像 頭、GPS設(shè)備、執(zhí)行器和繼電器等。一維碼、二維碼、RFID 標(biāo)簽等節(jié)點(diǎn)主要作用是識(shí)別物體;傳感網(wǎng)、傳感器及儀表等節(jié) 點(diǎn)主要用來(lái)獲取物體的狀態(tài)及環(huán)境信息;執(zhí)行器和繼電器主要用來(lái)控制被監(jiān)控的設(shè)備;GPS等節(jié)點(diǎn)主要用來(lái)跟蹤被監(jiān)控物 體的位置信息;攝像頭等節(jié)點(diǎn)主要用來(lái)監(jiān)控物體的當(dāng)前的行為 狀態(tài)。物聯(lián)網(wǎng)節(jié)點(diǎn)通過(guò)USB、RS 232、RS 485、藍(lán)牙、紅外、 ZigBee、Wi-Fi等短距離有線或無(wú)線傳輸技術(shù)進(jìn)行協(xié)同工作或 者傳遞數(shù)據(jù)到物聯(lián)網(wǎng)網(wǎng)關(guān)。網(wǎng)關(guān)進(jìn)一步將來(lái)自不同節(jié)點(diǎn)的數(shù)據(jù) 通過(guò)傳輸網(wǎng)絡(luò)發(fā)送到物聯(lián)網(wǎng)數(shù)據(jù)服務(wù)中心。
圖1物聯(lián)網(wǎng)應(yīng)用實(shí)時(shí)信息系統(tǒng)組成
圖2可同物聯(lián)網(wǎng)網(wǎng)關(guān)進(jìn)行數(shù)據(jù)交換的各類(lèi)節(jié)點(diǎn)
IoT網(wǎng)關(guān)是一個(gè)具有多種接口的嵌入式計(jì)算機(jī)設(shè)備,其 可以收集并處理來(lái)自其所管理的各類(lèi)節(jié)點(diǎn)的數(shù)據(jù),并將處理 后的數(shù)據(jù)通過(guò)其具有的廣域接口(3G/4G、Wi-Fi、以太網(wǎng)等) 傳輸?shù)絀oT數(shù)據(jù)服務(wù)中心。物聯(lián)網(wǎng)傳輸網(wǎng)絡(luò)負(fù)責(zé)網(wǎng)關(guān)與數(shù)據(jù)服 務(wù)中心之間的數(shù)據(jù)傳送,常見(jiàn)的傳輸網(wǎng)絡(luò)包括3G移動(dòng)網(wǎng)絡(luò)、
Wi-Fi無(wú)線網(wǎng)絡(luò)及以太網(wǎng)等。物聯(lián)網(wǎng)數(shù)據(jù)服務(wù)中心負(fù)責(zé)存儲(chǔ)來(lái) 自一個(gè)或多個(gè)IOT網(wǎng)關(guān)的實(shí)時(shí)數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行智能化處理, 提供各種物聯(lián)網(wǎng)實(shí)時(shí)信息服務(wù),比如實(shí)時(shí)監(jiān)測(cè)、定位跟蹤、報(bào) 警聯(lián)動(dòng)、自動(dòng)化處理、反向控制、遠(yuǎn)程維護(hù)、統(tǒng)計(jì)決策和信息 安全等。物聯(lián)網(wǎng)服務(wù)接入網(wǎng)絡(luò)使用戶(hù)可以接受或使用物聯(lián)網(wǎng)數(shù) 據(jù)服務(wù)中心提供的服務(wù)。物聯(lián)網(wǎng)服務(wù)接入網(wǎng)絡(luò)和物聯(lián)網(wǎng)傳輸網(wǎng) 絡(luò)可以是同一個(gè)網(wǎng)絡(luò),也可以是不同的網(wǎng)絡(luò)。物聯(lián)網(wǎng)服務(wù)客戶(hù) 端是用戶(hù)通過(guò)物聯(lián)網(wǎng)服務(wù)接入網(wǎng)絡(luò)接受或使用物聯(lián)網(wǎng)數(shù)據(jù)服 務(wù)中心提供的服務(wù)的設(shè)備,包括智能手機(jī)、平板電腦、筆記本 電腦和臺(tái)式電腦等。
對(duì)于較大規(guī)模的物聯(lián)網(wǎng)應(yīng)用,物聯(lián)網(wǎng)數(shù)據(jù)服務(wù)中心往往 要接收來(lái)自成百上千的物聯(lián)網(wǎng)網(wǎng)關(guān)的實(shí)時(shí)數(shù)據(jù),并且每一個(gè)網(wǎng) 關(guān)所管理的物聯(lián)網(wǎng)節(jié)點(diǎn)的數(shù)目和種類(lèi)較多。每一網(wǎng)關(guān)如果希望 往數(shù)據(jù)服務(wù)器中心發(fā)送數(shù)據(jù),該網(wǎng)關(guān)所管理的物聯(lián)網(wǎng)節(jié)點(diǎn)必須 在數(shù)據(jù)服務(wù)中心進(jìn)行注冊(cè)。另外,對(duì)于注冊(cè)后的物聯(lián)網(wǎng)節(jié)點(diǎn)的 數(shù)據(jù),也必須按照特定的格式由網(wǎng)關(guān)發(fā)送到數(shù)據(jù)服務(wù)中心。近 年來(lái),物聯(lián)網(wǎng)應(yīng)用在我國(guó)得以迅速發(fā)展的同時(shí),也出現(xiàn)了一些 亟待解決的問(wèn)題。各種物聯(lián)網(wǎng)應(yīng)用的開(kāi)發(fā)都是相關(guān)對(duì)獨(dú)立和 封閉的,導(dǎo)致了物聯(lián)網(wǎng)節(jié)點(diǎn)在數(shù)據(jù)服務(wù)中心的注冊(cè)的方式及網(wǎng) 關(guān)往數(shù)據(jù)服務(wù)中心所發(fā)送的格式都各有差異。有時(shí),即使對(duì) 于同一個(gè)物聯(lián)網(wǎng)應(yīng)用,由于物聯(lián)網(wǎng)節(jié)點(diǎn)被添加的時(shí)間不同,其 被注冊(cè)的方式及數(shù)據(jù)傳輸?shù)母袷?,也有可能不同,這導(dǎo)致每 一個(gè)新的物聯(lián)網(wǎng)節(jié)點(diǎn)的添加,都會(huì)涉及到對(duì)數(shù)據(jù)服務(wù)中心和網(wǎng) 關(guān)軟件源代碼的修改。同時(shí),由于節(jié)點(diǎn)注冊(cè)格式和節(jié)點(diǎn)數(shù)據(jù)傳 輸格式的不同,不同的物聯(lián)網(wǎng)應(yīng)系統(tǒng)之間數(shù)據(jù)交換或數(shù)據(jù)融 合也變得極為困難。目前,所存在的物聯(lián)網(wǎng)節(jié)點(diǎn)注冊(cè)難以管理、 數(shù)據(jù)傳輸存儲(chǔ)格式難以統(tǒng)一、難以實(shí)施數(shù)據(jù)融合及智能決策 等問(wèn)題,造成了時(shí)間和經(jīng)濟(jì)資源的嚴(yán)重浪費(fèi),它們也成為當(dāng)前 物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)領(lǐng)域迫切需要解決的問(wèn)題。
為了解決所存在的實(shí)時(shí)數(shù)據(jù)標(biāo)準(zhǔn)化管理問(wèn)題,本論文以 開(kāi)放地理空間聯(lián)盟(Open Geospatial Consortium,OGC)制 定的 SOS(Sensor Observation Service)服務(wù)標(biāo)準(zhǔn)為基礎(chǔ)[5-10], 建立了標(biāo)準(zhǔn)化的物聯(lián)網(wǎng)節(jié)點(diǎn)注冊(cè)格式、標(biāo)準(zhǔn)化的節(jié)點(diǎn)實(shí)時(shí)數(shù)據(jù) 傳輸格式和標(biāo)準(zhǔn)化的節(jié)點(diǎn)實(shí)時(shí)數(shù)據(jù)存儲(chǔ)格式,并依此開(kāi)發(fā)了物 聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)管理系統(tǒng)。同時(shí),為驗(yàn)證物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)管理 系統(tǒng)的性能,研究團(tuán)隊(duì)使用Android智能手機(jī)作為物聯(lián)網(wǎng)網(wǎng)關(guān), 使用手機(jī)上面所配置的各種傳感器及GPS接收儀作為物聯(lián)網(wǎng)節(jié) 點(diǎn),實(shí)現(xiàn)并驗(yàn)證了標(biāo)準(zhǔn)化的節(jié)點(diǎn)注冊(cè)、標(biāo)準(zhǔn)化數(shù)據(jù)傳輸、標(biāo)準(zhǔn) 化數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)的智能化處理及顯示,取得了良好的效果。
2實(shí)時(shí)數(shù)據(jù)管理系統(tǒng)的開(kāi)發(fā)及測(cè)試環(huán)境
實(shí)時(shí)數(shù)據(jù)管理系統(tǒng)所涉及的軟硬件及網(wǎng)絡(luò)拓?fù)鋱D如圖3 所示。
圖3系統(tǒng)開(kāi)發(fā)及測(cè)試環(huán)境網(wǎng)絡(luò)拓?fù)鋱D
所開(kāi)發(fā)的系統(tǒng)中數(shù)據(jù)庫(kù)采用PostGreSQL作為數(shù)據(jù)庫(kù),以 MyEclipse作為開(kāi)發(fā)軟件平臺(tái),應(yīng)用當(dāng)前流行的JavaEE SSH 開(kāi)發(fā)框架進(jìn)行整合開(kāi)發(fā)。本系統(tǒng)所涉及的硬件包括筆記本數(shù)臺(tái)、 Android手機(jī)數(shù)臺(tái),服務(wù)器一臺(tái)和無(wú)線路由器一臺(tái)。Android 手機(jī)需要安裝Android 2.2或者更高版本的操作系統(tǒng),手機(jī)上配 備有Wi-Fi無(wú)線上網(wǎng)功能。然后,下載并安裝PostgreSQL 8.x或者 更高版本的Postgres數(shù)據(jù)庫(kù)服務(wù)器。在安裝Postgres數(shù)據(jù)庫(kù)時(shí), 需要選擇要安裝相應(yīng)的空間數(shù)據(jù)庫(kù)軟件PostGIS 1.5。完成安裝 PostgreSQL后,根據(jù)SOS的文件指南,運(yùn)行必要需要的SQL 語(yǔ)句來(lái)建立相應(yīng)的數(shù)據(jù)庫(kù)表格。Maven軟件被用來(lái)管理SOS Web服務(wù)器平臺(tái)的開(kāi)發(fā)和升級(jí)。下載并解壓縮apache-maven- 3.0.4-bin.zip,安裝好Maven后,需要修改配置文件setting.xml 來(lái)并配置Maven運(yùn)行環(huán)境變量,插入以下代碼。
〈profile〉
<id>52n- start</id>
<repositories>
<repository><id>n52-releases</id>
<name>52n Releases</name>
<url>HYPERLINK "http://52north.org/maven/repo/releases%3c/url"> <releases><enabled>true</enabled></releases> <snapshots><enabled>false</enabled></snapshots> </repository>
<repository><id>geotools</id>
<name>Geotools repository</name> <url>HYPERLINK "http://maven.geotools.fr/repository%3c/url"> </repository>
<repository><id>Refractions</id> <name>Refractions repository</name> <url>HYPERLINK "http://lists.refractions.net/m2%3c/url"> </repository>
<repository><id>Apache</id>
<name>Apache repository</name>
<url>HYPERLINK "http://repo1.maven.org/maven2%3c/url">
</repository> </repositories> </profile> 安裝Java開(kāi)發(fā)工具時(shí),可以先從官方網(wǎng)站下載最新的 Java SE Development Kit (JDK)版本,安裝完成后,要進(jìn)行“環(huán) 境變量,,和“系統(tǒng)變量”的配置,并建立JAVA_HOME路徑。 物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)管理系統(tǒng)SOS Web服務(wù)器安裝有Tomcat應(yīng) 用服務(wù)器軟件??梢詮木W(wǎng)站HYPERLINK "http://jakarta.apache.org/site/%e4%b8%8b%e8%bd%bd" 最新版的Tomcat進(jìn)行安裝及配置。安裝完成后,需要配置 Tomcat Web服務(wù)器的管理員權(quán)限,可在tomcat-users.xml配 置文件中添加如下管理員權(quán)限相關(guān)的信息。
<role rolename="manager-gui"/>
<role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user password="admin" roles="manager-gui" username=" tomcat" />
<user password="admin" roles= "manager-script,manager-jmx,manager-status" username="admin"/>
安裝及配置完成Maven、Postgres、JDK和Tomcat軟件后, 可以在命令行界面執(zhí)行mvn -命令來(lái)進(jìn)行SOS Web服務(wù)軟件 的下載、升級(jí)和更新。例如,通過(guò)命令行mvn-Pwith-deploy, 對(duì)SOS服務(wù)生成和部署。
3 SOS服務(wù)介紹
圖4所示是SOS數(shù)據(jù)服務(wù)體系的結(jié)構(gòu)圖。SOS通過(guò)提 供一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)傳輸接口,收集來(lái)自物聯(lián)網(wǎng)網(wǎng)關(guān)及物聯(lián)網(wǎng) 節(jié)點(diǎn)的實(shí)時(shí)數(shù)據(jù)。實(shí)時(shí)數(shù)據(jù)按照標(biāo)準(zhǔn)的格式傳輸?shù)絊OS Web 服務(wù)器,并按照標(biāo)準(zhǔn)格式存儲(chǔ)到SOS數(shù)據(jù)庫(kù)。物聯(lián)網(wǎng)實(shí)時(shí) 數(shù)據(jù)使用客戶(hù)端可以通過(guò)標(biāo)準(zhǔn)的SOS接口來(lái)獲取SOS數(shù)據(jù) 庫(kù)中不同形式的數(shù)據(jù),然后進(jìn)行智能化數(shù)據(jù)處理及各種物聯(lián) 網(wǎng)應(yīng)用的開(kāi)發(fā)。例如,通過(guò)GetCapabilitiesRequest標(biāo)準(zhǔn)接 口,可以獲取一個(gè)Capabilities文檔,該文檔主要描述了 SOS Web服務(wù)器可以提供的各種數(shù)據(jù)服務(wù),包含了 SOS服務(wù)所 支持服務(wù)的所有操作,以及每個(gè)操作所涉及的參數(shù)等。使用 DescribeNodeRequest標(biāo)準(zhǔn)接口,可以獲取物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù)標(biāo) 記語(yǔ)言(lOTNodeML) XML文件,該文件描述了物聯(lián)網(wǎng)節(jié) 點(diǎn)及其實(shí)時(shí)數(shù)據(jù)的特性。另外,使用GetObservationRequest 標(biāo)準(zhǔn)接口,可以獲取SOS數(shù)據(jù)庫(kù)中所存儲(chǔ)的物聯(lián)網(wǎng)實(shí)時(shí)或 者歷史數(shù)據(jù),說(shuō)返回的XML文檔中包含Observations & Measurements (O&M)數(shù)據(jù)。
圖4 SOS數(shù)據(jù)服務(wù)體系結(jié)構(gòu)圖
SOS數(shù)據(jù)服務(wù)體系采用了 B/S三層架構(gòu),分別為數(shù)據(jù)展 示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層。展示層主要負(fù)責(zé)與物聯(lián)網(wǎng)實(shí) 時(shí)數(shù)據(jù)使用客戶(hù)端的交互。業(yè)務(wù)邏輯層主要包括SOSServelet 以及RequestOperation這兩個(gè)核心類(lèi)。前者用于處理用戶(hù)請(qǐng)求 以及返回響應(yīng)信息,后者接收SOSServelet請(qǐng)求,并將請(qǐng)求信 息進(jìn)行有效的過(guò)濾,將信息傳給監(jiān)聽(tīng)類(lèi),再由監(jiān)聽(tīng)類(lèi)決定調(diào) 用何種操作。數(shù)據(jù)訪問(wèn)層主要包括各種工廠類(lèi)和Dao類(lèi),負(fù) 責(zé)與數(shù)據(jù)庫(kù)的交互。
4物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)的標(biāo)準(zhǔn)化管理
為了解決物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)處理難以統(tǒng)一的問(wèn)題,我們依 據(jù)OGC制定的SOS服務(wù)標(biāo)準(zhǔn),建立了物聯(lián)網(wǎng)節(jié)點(diǎn)注冊(cè)的標(biāo) 準(zhǔn)化格式、節(jié)點(diǎn)實(shí)時(shí)數(shù)據(jù)傳輸?shù)臉?biāo)準(zhǔn)化格式、節(jié)點(diǎn)實(shí)時(shí)數(shù)據(jù) 存儲(chǔ)的標(biāo)準(zhǔn)化格式和查詢(xún)使用物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)的標(biāo)準(zhǔn)化格式。 對(duì)于這些物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)的標(biāo)準(zhǔn)化管理,分別敘述如下。 4.1標(biāo)準(zhǔn)化的物聯(lián)網(wǎng)節(jié)點(diǎn)注冊(cè)
在各種各類(lèi)物聯(lián)網(wǎng)實(shí)時(shí)信息系統(tǒng)的開(kāi)發(fā)過(guò)程中,一個(gè)重 要的方面是將來(lái)自無(wú)數(shù)物聯(lián)網(wǎng)節(jié)點(diǎn)的數(shù)據(jù)在數(shù)據(jù)服務(wù)中心進(jìn)行 統(tǒng)一的存儲(chǔ)。在存儲(chǔ)數(shù)據(jù)之前,需要知道這些數(shù)據(jù)來(lái)自何地 的物聯(lián)網(wǎng)網(wǎng)關(guān)所管轄的物聯(lián)網(wǎng)節(jié)點(diǎn),這就需要將這些物聯(lián)網(wǎng)節(jié) 點(diǎn)的名稱(chēng)、地理位置和數(shù)據(jù)類(lèi)型等信息在數(shù)據(jù)庫(kù)中進(jìn)行注冊(cè)。 當(dāng)前,注冊(cè)物聯(lián)網(wǎng)節(jié)點(diǎn)的方式多種多樣,有的物聯(lián)網(wǎng)節(jié)點(diǎn)注冊(cè) 是通過(guò)人工方式將物聯(lián)網(wǎng)節(jié)點(diǎn)相關(guān)文件導(dǎo)入到數(shù)據(jù)庫(kù);有的 是直接通過(guò)數(shù)據(jù)庫(kù)SQL語(yǔ)句的人工操作來(lái)注冊(cè)物聯(lián)網(wǎng)節(jié)點(diǎn)信 息;有的是通過(guò)UI界面數(shù)據(jù)輸入來(lái)進(jìn)行物聯(lián)網(wǎng)節(jié)點(diǎn)的注冊(cè)。 以上注冊(cè)方式,不但速度慢,易出錯(cuò),而且浪費(fèi)大量的人力 和物力。在我們的物聯(lián)網(wǎng)實(shí)時(shí)系統(tǒng)設(shè)計(jì)和實(shí)踐中所采用的物聯(lián) 網(wǎng)節(jié)點(diǎn)注冊(cè)方式是,物聯(lián)網(wǎng)網(wǎng)關(guān)自動(dòng)發(fā)現(xiàn)其所管理的物聯(lián)網(wǎng)節(jié) 點(diǎn)的名稱(chēng)、位置和數(shù)據(jù)特征等信息,然后建立一個(gè)標(biāo)準(zhǔn)化的 物聯(lián)網(wǎng)節(jié)點(diǎn)XML注冊(cè)文件,并將該文件發(fā)送到SOS Web服 務(wù)的數(shù)據(jù)接收接口。當(dāng)SOS服務(wù)器接收到注冊(cè)XML文檔信 息后,將會(huì)自動(dòng)分析該文檔的特征,并將物聯(lián)網(wǎng)節(jié)點(diǎn)的相關(guān)信 息存入數(shù)據(jù)庫(kù),自動(dòng)完成物聯(lián)網(wǎng)節(jié)點(diǎn)的注冊(cè)。一個(gè)簡(jiǎn)化版本的 物聯(lián)網(wǎng)節(jié)點(diǎn)標(biāo)準(zhǔn)化注冊(cè)XML文檔如下:t它主要包括物聯(lián)網(wǎng)節(jié) 點(diǎn)ID注冊(cè)、物聯(lián)網(wǎng)節(jié)點(diǎn)經(jīng)度、緯度和海拔高度位置信息注冊(cè) 和物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù)輸岀注冊(cè)等)
<?xml version="1.0" encoding="UTF-8"?>
<RegisterSensor service="SOS" version="1.0.0" > <SensorDescription>
<sml:SensorML version=''1.0.1">
<sml:member><sml:System >
<!--sml:identification元素必須包含物聯(lián)網(wǎng)節(jié)點(diǎn)的ID--> <sml:identification><sml:IdentifierList><sml:identifier> <sml:Term definition="OGC:uniqueID">
<sml:value> IfGI- SDP</sml:value>
</sml:Term></sml:identifier></sml:IdentifierList>
</sml:identification>
<!一物聯(lián)網(wǎng)節(jié)點(diǎn)最后一次測(cè)定位置信息-->
<sml:position name=" sensorPosition">
<swe:Position referenceFrame=" EPSG:4326"> <swe:location>
<swe:Vector gml:id="STATION_LOCATION"> <swe:coordinate name="easting">
<swe:Quantity axisID="x">
<swe:uom code="degree"/>
<swe:value>7.52</swe:value>
</swe:Quantity>
</swe:coordinate>
<swe:coordinate name="northing">
<swe:Quantity axisID="y">
<swe:uom code="degree"/>
<swe:value>52.90</swe:value> </swe:Quantity></swe:coordinate>
<swe:coordinate name="altitude">
<swe:Quantity axisID="z">
<swe:uom code="m"/>
<swe:value>52.0</swe:value> </swe:Quantity></swe:coordinate> </swe:Vector></swe:location> </swe:Position></sml:position>
<!—物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù)輸出列表-->
<sml:outputs><sml:OutputList>
<sml:output name=''imagesequence">
<swe:Quantity definition=" imagesequence"> <gml:metaDataProperty>
<id>IMAGE_SEQUENCE</id> <name>SDP</name></offering> </gml:metaDataProperty>
<swe:uom code=""/> </swe:Quantity></sml:output></sml:OutputList>
</sml:outputs></sml:System></sml:member>
</sml:SensorML></SensorDescription>
</RegisterSensor>
4.2標(biāo)準(zhǔn)化的數(shù)據(jù)傳輸格式
在各種各類(lèi)物聯(lián)網(wǎng)實(shí)時(shí)信息系統(tǒng)的開(kāi)發(fā)過(guò)程中,另外一 個(gè)重要的方面是如何將來(lái)自無(wú)數(shù)物聯(lián)網(wǎng)節(jié)點(diǎn)的數(shù)據(jù)傳輸?shù)綌?shù)據(jù) 服務(wù)中心,并進(jìn)行統(tǒng)一的存儲(chǔ)。對(duì)于當(dāng)前的物聯(lián)網(wǎng)實(shí)時(shí)信息系 統(tǒng),很多網(wǎng)關(guān)往同一個(gè)物聯(lián)網(wǎng)數(shù)據(jù)服務(wù)中心發(fā)送數(shù)據(jù)。對(duì)于每 一個(gè)網(wǎng)關(guān)而言,它管理著很多物聯(lián)網(wǎng)節(jié)點(diǎn),每一個(gè)節(jié)點(diǎn)的數(shù)據(jù) 輸出格式也不相同。在很多情況下,網(wǎng)關(guān)按照不同的格式將不 同的節(jié)點(diǎn)數(shù)據(jù)發(fā)送到數(shù)據(jù)服務(wù)中心。數(shù)據(jù)服務(wù)中心需要能夠處 理所接收到的不同格式的實(shí)時(shí)數(shù)據(jù)。這種情況導(dǎo)致每次增加 一些物聯(lián)網(wǎng)節(jié)點(diǎn),就需要修改網(wǎng)關(guān)軟件和數(shù)據(jù)服務(wù)中心軟件的 源代碼,這為物聯(lián)網(wǎng)的大面積和大規(guī)模應(yīng)用帶來(lái)了很多不便。
在我們的物聯(lián)網(wǎng)實(shí)時(shí)系統(tǒng)設(shè)計(jì)和實(shí)踐中,物聯(lián)網(wǎng)網(wǎng)關(guān)采 用標(biāo)準(zhǔn)的XML文檔數(shù)據(jù)傳輸格式,并將該文件發(fā)送到SOS Web服務(wù)的數(shù)據(jù)接收接口。當(dāng)SOS接收到該XML文檔信息后, 將會(huì)自動(dòng)分析該文檔的數(shù)據(jù)特征,自動(dòng)解析物聯(lián)網(wǎng)節(jié)點(diǎn)實(shí)時(shí) 數(shù)據(jù)并存人數(shù)據(jù)庫(kù)。對(duì)于同一個(gè)或不同的物聯(lián)網(wǎng)實(shí)時(shí)信息系統(tǒng), 網(wǎng)關(guān)所采用的XML文檔傳輸格式都是相同的。也就是說(shuō)不同 的網(wǎng)關(guān)所使用的XML文檔具有相同的標(biāo)簽,只是不同標(biāo)簽下 所包含的內(nèi)容對(duì)于不同的物聯(lián)網(wǎng)節(jié)點(diǎn)有所不同。一個(gè)簡(jiǎn)化版本 的物聯(lián)網(wǎng)網(wǎng)關(guān)數(shù)據(jù)傳輸XML文檔如下所示,它主要包括物聯(lián) 網(wǎng)節(jié)點(diǎn)ID、數(shù)據(jù)采集時(shí)間、采樣點(diǎn)值、地理位置信息和實(shí)時(shí) 數(shù)據(jù)的值。
<InsertObservation service="SOS" version="1.0.0"> <AssignedSensorId> IfGI-SDP</AssignedSensorId> <om:Measurement><om:samplingTime><gml:TimeInsta nt>
<gml:timePosition>2014-07-20T17:44:15+00
</gml:timePosition></gml:TimeInstant>
</om:samplingTime>
<om:procedure xlink:href=" IfGI-SDP"/>
<om: observedProperty xlink:href="OGC:imagesequence"/>
<om:featureOfInterest>
<sa: SamplingPoint gml:id="SDP SamplingPoint 1">
<gml:name>SDP SamplingPoint 1</gml:name>
<sa: sampledFeature xlink:href=""/>
<sa:position>
<gml:Point>
<gml:pos srsName="EPSG:4326">40.6392 -73.7789
</gml:pos>
</gml:Point></sa:position></sa:SamplingPoint>
</om:featureOfInterest>
<om:result uom="">100</om:result>
</om: Measurement>
</InsertObservation>
4.3標(biāo)準(zhǔn)化的數(shù)據(jù)存儲(chǔ)格式
在數(shù)據(jù)服務(wù)中心,利用SOS數(shù)據(jù)庫(kù)對(duì)物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)進(jìn) 行標(biāo)準(zhǔn)化存儲(chǔ)。SOS數(shù)據(jù)庫(kù)設(shè)計(jì)所涉及的主要表格為Feature- of_interest (觀測(cè)點(diǎn)數(shù)據(jù)特征)表(即表1)、Observation (觀 測(cè)數(shù)據(jù))表(即表2)‘Phenomenon (節(jié)點(diǎn)數(shù)據(jù)現(xiàn)象)表(表3)、 Offering (節(jié)點(diǎn)數(shù)據(jù)服務(wù))表(表4)和Procedure (節(jié),點(diǎn)數(shù)據(jù) 處理過(guò)程)表(表5),分別敘述如下:
Feature_of_interest表格存儲(chǔ)有關(guān)物聯(lián)網(wǎng)節(jié)點(diǎn)觀測(cè)點(diǎn)的特 征及地理特征的參數(shù)。其中g(shù)eom字段是PostGIS的類(lèi)型,詳 細(xì)記錄了觀測(cè)點(diǎn)的地理位置。
Observation表格結(jié)合了物聯(lián)網(wǎng)節(jié)點(diǎn)以及其它如時(shí)間、處 理過(guò)程、觀測(cè)點(diǎn)特征等分開(kāi)存儲(chǔ)的數(shù)據(jù)。其中Procedure_id, Feature_of_interest_id 和 Offering_id 是外鍵。Observation 存 儲(chǔ)具體觀測(cè)到的每一條物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù),同時(shí),觀測(cè)者可以 過(guò)濾物聯(lián)網(wǎng)節(jié)點(diǎn)實(shí)時(shí)數(shù)據(jù)信息。
表 2 Observation
字段名 |
含義 |
observation_id |
觀測(cè)者ID |
tme_s/mp |
觀測(cè)的時(shí)間戳 |
procedure_id |
過(guò)程ID |
feamie_o_inteiesLid |
觀測(cè)點(diǎn)特征ID |
phenomenon_id |
現(xiàn)象ID |
offering_id |
供應(yīng)傳感ID |
texLvalue |
Tex值 |
numeric_value |
數(shù)值 |
spatia_value |
空間值 |
m ^e_^pe |
Tex值 |
Phenomenon表存儲(chǔ)了物聯(lián)網(wǎng)節(jié)點(diǎn)所描述的數(shù)據(jù)觀察現(xiàn) 象,在SOS規(guī)范下的數(shù)據(jù)現(xiàn)象又稱(chēng)為觀測(cè)屬性。該表格屬性 包括現(xiàn)象ID、現(xiàn)象描述、數(shù)據(jù)單位、值類(lèi)型、復(fù)合現(xiàn)象和 Schema鏈接等。
Offering表存儲(chǔ)了可以提供SOS服務(wù)的物聯(lián)網(wǎng)節(jié)點(diǎn)信息。 當(dāng)注冊(cè)物聯(lián)網(wǎng)節(jié)點(diǎn)時(shí),節(jié)點(diǎn)相關(guān)的信息將被存儲(chǔ)到Offering表格。
表3 Phenomenon (節(jié)點(diǎn)數(shù)據(jù)現(xiàn)象)
字段名 |
含義 |
phenomenon_id |
現(xiàn)象ID |
phenomenon_description |
現(xiàn)象描述 |
unit |
單位 |
value恥e |
值類(lèi)型 |
composite_phenomenon |
復(fù)合現(xiàn)象 |
om_application_schema_link |
Schema鏈接 |
表4 Offering (節(jié)點(diǎn)數(shù)據(jù)服務(wù))
字段名 |
含義 |
offering_id |
供應(yīng)傳感ID |
offering_name |
供應(yīng)名稱(chēng) |
min_time |
最小時(shí)間 |
max_time |
最大時(shí)間 |
Procedure表存儲(chǔ)了數(shù)據(jù)處理過(guò)程,是物聯(lián)網(wǎng)節(jié)點(diǎn)具體信 息在數(shù)據(jù)庫(kù)中的體現(xiàn),該表的屬性包括過(guò)程ID、url描述、描 述類(lèi)型、Sml文件、實(shí)際地理位置、節(jié)點(diǎn)是否移動(dòng)和節(jié)點(diǎn)是否 激活。
表5 Procedure (節(jié)點(diǎn)數(shù)據(jù)處理過(guò)程)
字段名 |
含義 |
procedure_id |
過(guò)程ID |
description_ur 1 |
ur描述 |
description.板pe |
描述類(lèi)型 |
外 _file |
Sm文件 |
actua [position |
實(shí)際地理位置 |
mobi e |
節(jié)點(diǎn)是否移動(dòng) |
active |
節(jié)點(diǎn)是否激活 |
隨著物聯(lián)網(wǎng)應(yīng)用范圍和領(lǐng)域的擴(kuò)大,各級(jí)各類(lèi)物聯(lián)網(wǎng)實(shí) 時(shí)信息系統(tǒng)不斷涌現(xiàn)出來(lái)。當(dāng)前,各級(jí)各類(lèi)物聯(lián)網(wǎng)實(shí)時(shí)信息 系統(tǒng)之間的數(shù)據(jù)交換是一個(gè)難點(diǎn)。一個(gè)原因是很多物聯(lián)網(wǎng)實(shí) 時(shí)信息系統(tǒng)沒(méi)有提供數(shù)據(jù)交換的API接口。另一個(gè)原因是對(duì) 一些提供對(duì)外數(shù)據(jù)交換API接口的物聯(lián)網(wǎng)實(shí)時(shí)信息系統(tǒng),由 于它們提供的接口各不相同,當(dāng)一個(gè)物聯(lián)網(wǎng)實(shí)時(shí)信息系統(tǒng)希望 使用其它幾個(gè)實(shí)時(shí)信息系統(tǒng)的數(shù)據(jù)時(shí),該系統(tǒng)就需要大量修 改原有的源代碼,來(lái)從不同的API接口獲取其它系統(tǒng)的數(shù)據(jù)。 不同物聯(lián)網(wǎng)實(shí)時(shí)信息系統(tǒng)之間的數(shù)據(jù)交換問(wèn)題,已經(jīng)制約了 物聯(lián)網(wǎng)應(yīng)用在各個(gè)領(lǐng)域大規(guī)模深入發(fā)展,我們研究小組試圖 解決這個(gè)難題。
在我們的物聯(lián)網(wǎng)實(shí)時(shí)系統(tǒng)設(shè)計(jì)和實(shí)踐中,物聯(lián)網(wǎng)網(wǎng)關(guān)采 用標(biāo)準(zhǔn)的XML文檔進(jìn)行不同應(yīng)用和不同實(shí)時(shí)數(shù)據(jù)系統(tǒng)之間的 數(shù)據(jù)交換。當(dāng)一個(gè)基于SOS的物聯(lián)網(wǎng)實(shí)時(shí)信息系統(tǒng)希望從另 外一個(gè)基于SOS的物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)管理系統(tǒng)獲取數(shù)據(jù)時(shí),該 系統(tǒng)可以將一個(gè)標(biāo)準(zhǔn)的XML文檔發(fā)送到SOS Web服務(wù)的數(shù) 據(jù)接收接口。當(dāng)SOS Web服務(wù)器接收到該XML文檔信息后, 將會(huì)自動(dòng)分析該文檔的特征,并從SOS數(shù)據(jù)庫(kù)中提取相關(guān)數(shù) 據(jù),并將這些數(shù)據(jù)以標(biāo)準(zhǔn)O&M XML文檔返回到調(diào)用數(shù)據(jù)的 物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)系統(tǒng)。對(duì)于同一個(gè)或不同的物聯(lián)網(wǎng)實(shí)時(shí)信息系 統(tǒng),調(diào)用同一類(lèi)數(shù)據(jù)時(shí)所采用的XML文檔傳輸格式都是相同 的。一個(gè)簡(jiǎn)化版本的標(biāo)準(zhǔn)化的數(shù)據(jù)獲取GetObservation XML 文檔如下所示,它主要描述了所調(diào)用數(shù)據(jù)的名稱(chēng)、數(shù)據(jù)特性、 返回?cái)?shù)據(jù)格式和返回查詢(xún)結(jié)果模型。
<?xml version="1.0" encoding="UTF-8"?>
<GetObservation service="SOS" version="1.0.0" srsName="EPSG:4326">
<offering>GAUGE_HEIGHT</offering>
<observedProperty>OGC: waterlevel</observedProperty> <responseFormat>text/xml</responseFormat> <resultModel>Measurement</resultModel> <responseMode>inline</responseMode> </GetObservation>
5物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)管理系統(tǒng)設(shè)計(jì)
基于SOS Web實(shí)時(shí)數(shù)據(jù)服務(wù)平臺(tái),我們開(kāi)發(fā)了物聯(lián)網(wǎng)實(shí) 時(shí)數(shù)據(jù)管理系統(tǒng)。整個(gè)系統(tǒng)的設(shè)計(jì)分為物聯(lián)網(wǎng)網(wǎng)關(guān)數(shù)據(jù)傳輸 客戶(hù)端功能設(shè)計(jì)與SOS Web服務(wù)器端數(shù)據(jù)處理及管理功能的 設(shè)計(jì)。
5.1物聯(lián)網(wǎng)網(wǎng)關(guān)客戶(hù)端設(shè)計(jì)
客戶(hù)端設(shè)計(jì)比較簡(jiǎn)單,它主要包括物聯(lián)網(wǎng)網(wǎng)關(guān)節(jié)點(diǎn)標(biāo)準(zhǔn) 化注冊(cè)設(shè)計(jì)、數(shù)據(jù)收集設(shè)計(jì)和標(biāo)準(zhǔn)化數(shù)據(jù)傳輸設(shè)計(jì)。物聯(lián)網(wǎng) 網(wǎng)關(guān)客戶(hù)端通過(guò)Post請(qǐng)求將標(biāo)準(zhǔn)化的XML文檔發(fā)送到一個(gè) 指定的url地址進(jìn)行物聯(lián)網(wǎng)節(jié)點(diǎn)的標(biāo)準(zhǔn)化注冊(cè)和實(shí)時(shí)數(shù)據(jù)傳 輸。本論文以Android智能手機(jī)作為物聯(lián)網(wǎng)網(wǎng)關(guān),它所配置的 各種傳感器作為物聯(lián)網(wǎng)節(jié)點(diǎn),對(duì)物聯(lián)網(wǎng)網(wǎng)關(guān)客戶(hù)端節(jié)點(diǎn)標(biāo)準(zhǔn)化 注冊(cè)和標(biāo)準(zhǔn)化數(shù)據(jù)傳輸功能進(jìn)行了測(cè)試。
5.2服務(wù)器端SOS數(shù)據(jù)服務(wù)設(shè)計(jì)
SOS服務(wù)采用PostgreSQL數(shù)據(jù)庫(kù),實(shí)現(xiàn)物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù) 據(jù)的自動(dòng)注冊(cè)、采集、過(guò)濾和存儲(chǔ)。通過(guò)SOS服務(wù),可以有 效觀測(cè)物聯(lián)網(wǎng)實(shí)時(shí)的數(shù)據(jù)。具體流程是:當(dāng)服務(wù)器接收到來(lái) 自客戶(hù)端的請(qǐng)求,RequestOperation檢查其合法和有效性,如 果是合法的請(qǐng)求,則把它交給Listener。SOS服務(wù)中存在多種 Listener,每個(gè)listener都有其對(duì)應(yīng)的請(qǐng)求,當(dāng)Listener監(jiān)聽(tīng) 到請(qǐng)求信息,就調(diào)用相應(yīng)的數(shù)據(jù)庫(kù)訪問(wèn)層的DAO,或者反饋 一些有效信息到客戶(hù)端。數(shù)據(jù)庫(kù)訪問(wèn)層包含了各個(gè)處理業(yè)務(wù)信 息的DAO, SOS通過(guò)DAO與數(shù)據(jù)庫(kù)交互。
5.3 Web服務(wù)器端數(shù)據(jù)處理及管理設(shè)計(jì)
基于SOS服務(wù)所提供的各種實(shí)時(shí)數(shù)據(jù),可設(shè)計(jì)各種各樣 的物聯(lián)網(wǎng)應(yīng)用。本論文只簡(jiǎn)單討論具有4個(gè)功能模塊的的物聯(lián) 網(wǎng)應(yīng)用的設(shè)計(jì),它們是用戶(hù)信息管理、物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)管理、 GIS數(shù)據(jù)管理和日志管理。用戶(hù)信息管理模塊主要管理所有此 系統(tǒng)用戶(hù)的基本信息,管理員可以通過(guò)此模塊注冊(cè)新的管理 員或者普通用戶(hù),同時(shí)管理員可以查看和刪除普通用戶(hù)賬號(hào)。 普通用戶(hù)可以通過(guò)此模塊修改自身信息。
通過(guò)物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)管理,可查看物聯(lián)網(wǎng)網(wǎng)關(guān)發(fā)送過(guò)來(lái) 的實(shí)時(shí)數(shù)據(jù)。在我們開(kāi)發(fā)的系統(tǒng)中,主要是通過(guò)動(dòng)態(tài)曲線圖和 表格來(lái)查看數(shù)據(jù)的詳細(xì)信息。其中數(shù)據(jù)表格可以通過(guò)時(shí)間范 圍分頁(yè)查詢(xún)?cè)敿?xì)的物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù)信息。管理員和普通用戶(hù)都 具有查看此模塊具體內(nèi)容的權(quán)限。
GIS數(shù)據(jù)管理模塊通過(guò)Google map定位物聯(lián)網(wǎng)節(jié)點(diǎn)的具 體位置,可以查看所有物聯(lián)網(wǎng)節(jié)點(diǎn)數(shù)據(jù)的具體表格信息。當(dāng)雙 擊其中某條數(shù)據(jù)時(shí),Google map上的彈窗可以顯示據(jù)此條數(shù) 據(jù)時(shí)間點(diǎn)附近的五條相同類(lèi)型數(shù)據(jù),通過(guò)柱狀圖的比較,可 以看出其中的差異。通過(guò)日志管理模塊可查看系統(tǒng)的所有登錄 信息,只有管理員具備此權(quán)限,普通用戶(hù)無(wú)法查看。
6物聯(lián)網(wǎng)網(wǎng)關(guān)客戶(hù)端功能實(shí)現(xiàn)
本論文以Android智能手機(jī)及它的傳感器作為物聯(lián)網(wǎng)網(wǎng) 關(guān)及物聯(lián)網(wǎng)節(jié)點(diǎn),來(lái)測(cè)試網(wǎng)關(guān)客戶(hù)端的功能實(shí)現(xiàn)。Android客 戶(hù)端負(fù)責(zé)光線數(shù)據(jù)、方向數(shù)據(jù)、磁場(chǎng)數(shù)據(jù)和加速度數(shù)據(jù)的產(chǎn) 生與傳輸,通過(guò)Post請(qǐng)求將XML格式數(shù)據(jù)發(fā)送到一個(gè)指定 的url地址。Web服務(wù)器端通過(guò)運(yùn)行SOS服務(wù)將收集到的數(shù) 據(jù)自動(dòng)持久化到PostgreSQL數(shù)據(jù)庫(kù)。數(shù)據(jù)觀測(cè)員或者管理員 可以訪問(wèn)系統(tǒng)網(wǎng)站,通過(guò)詳細(xì)的實(shí)時(shí)數(shù)據(jù)和曲線圖觀測(cè)傳感器 數(shù)據(jù)的變化。
本次設(shè)計(jì)涉及到的傳感器數(shù)據(jù)的收集和發(fā)送主要是通 過(guò)Android設(shè)備里面自帶的傳感裝置和GPS模塊來(lái)進(jìn)行傳感 器數(shù)據(jù)和位置信息的收集。通過(guò)選擇發(fā)送各個(gè)傳感器數(shù)據(jù)到 SOS服務(wù)器端。傳感器數(shù)據(jù)的發(fā)送需要封裝成標(biāo)準(zhǔn)化的XML 格式,XML具體格式如以下代碼所示。
<?xml version="1.0" encoding="UTF-8"?>
<InsertObservationservice="SOS" version="1.0.0">
<AssignedSensorId> androidsensor-accelerometer </AssignedSensorId>
<om:CategoryObservation>
<om:samplingTime><gml:TimeInstant>
<gml:timePosition>2012-04-02T17:44:15+02:00 </gml:timePo sition>
</gml:TimeInstant></om:samplingTime>
<om:procedure xlink:href="androidsensoi-accelerometer"/> <om: observedProperty xlink: href= "accelerometer"/> <om:featureOfInterest>
<sa:SamplingPoint gml:id="foi_sensor_10001"> <gml:name>SANMING</gml:name>
<sa:sampledFeature xlink:href=""/>
<sa:position>
<gml:Point>
<gml:pos srsName="EPSG:4326">5L7167 8.76667 </gml:pos></gml:Point></sa:position>
</sa: SamplingPoint></om: featureOfInterest> <om:result>12, 12, 12</om:result> </om:CategoryObservation>
</InsertObservation>
SOS指定了一個(gè)可以發(fā)送和接收數(shù)據(jù)的網(wǎng)絡(luò)地址,http:// IP地址:8080/52nSOSv3/sos,具體的IP地址和端口視具體網(wǎng)絡(luò) 環(huán)境改變,手機(jī)端軟件每隔一段時(shí)間(1 s、5 s或10 s)便會(huì)自動(dòng) 將收到的實(shí)時(shí)數(shù)據(jù)以標(biāo)準(zhǔn)化的數(shù)據(jù)傳輸XML文檔發(fā)送到SOS 服務(wù)器。當(dāng)服務(wù)器接收到post請(qǐng)求,便調(diào)用SOS的Servlet和監(jiān) 聽(tīng)器類(lèi),對(duì)XML代碼詳細(xì)解析,當(dāng)判斷出此XML是觀測(cè)到的傳 感器數(shù)據(jù)信息,將自動(dòng)持久化到數(shù)據(jù)庫(kù),并反饋插入成功的標(biāo)識(shí)和 信息到客戶(hù)端。當(dāng)用戶(hù)點(diǎn)擊此軟件客戶(hù)端,就會(huì)進(jìn)入如圖5所示的 主界面,用戶(hù)可以觀測(cè)到各種傳感器數(shù)據(jù)的變換,并通過(guò)menu鍵, 選擇發(fā)送數(shù)據(jù)或停止發(fā)送數(shù)據(jù)。
圖5 Android客戶(hù)端展示
7 Web服務(wù)器端的功能實(shí)現(xiàn)
如圖6所示,在瀏覽器地址欄中輸入http:// IP地址:8080/ sensorSystem,就可以看到登陸界面,通過(guò)輸入用戶(hù)名和密碼, 以及角色權(quán)限,經(jīng)驗(yàn)證合法,將會(huì)跳轉(zhuǎn)到系統(tǒng)首頁(yè)。管理員 與普通用戶(hù)的權(quán)限不盡相同,管理員可以查看各個(gè)模塊的信 息,以及管理各個(gè)用戶(hù),并且查看日志信息,普通用戶(hù)只能查 看傳感器數(shù)據(jù)信息。圖7所示是光線傳感器的實(shí)時(shí)動(dòng)態(tài)數(shù)據(jù) 顯示界面,其它的傳感數(shù)據(jù)顯示界面相似。動(dòng)態(tài)曲線圖顯示的 是實(shí)時(shí)的十五條最新數(shù)據(jù),用戶(hù)也通過(guò)grid條件查詢(xún),查詢(xún) 某個(gè)時(shí)間范圍內(nèi)的數(shù)據(jù)列表如圖8所示。圖9所示是Google map模塊數(shù)據(jù)管理界面。Google map展示頁(yè)與管理頁(yè)的風(fēng)格 是一致的,采用將Google map嵌入panel的形式,不僅可以 實(shí)現(xiàn)物聯(lián)網(wǎng)網(wǎng)關(guān)及節(jié)點(diǎn)的定位,而且與Grid數(shù)據(jù)的交互更加 方便。圖10所示是Google map界面實(shí)時(shí)數(shù)據(jù)柱狀圖展示。 當(dāng)用戶(hù)雙擊界面列表中的某一條記錄,Google map上將會(huì)打 開(kāi)一個(gè)信息窗口,此窗口展示了與此記錄相同傳感類(lèi)型的五條 傳感器數(shù)據(jù),通過(guò)柱狀圖的比較,可以觀測(cè)出他們的區(qū)別,更 為直觀地展示數(shù)據(jù)。
圖6物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)數(shù)據(jù)管理系統(tǒng)登錄界面
圖7光線傳感器動(dòng)態(tài)數(shù)據(jù)曲線顯示
圖8光線傳感器數(shù)據(jù)列表
圖9 Google map模塊數(shù)據(jù)管理界面
圖10 Google map界面實(shí)時(shí)數(shù)據(jù)柱狀圖展示
8結(jié)語(yǔ)
本論文依據(jù)SOS Web數(shù)據(jù)服務(wù)標(biāo)準(zhǔn),建立了標(biāo)準(zhǔn)化的物 聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)管理體系,它包括物聯(lián)網(wǎng)節(jié)點(diǎn)的標(biāo)準(zhǔn)化注冊(cè)、物 聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)標(biāo)準(zhǔn)化傳輸、物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)標(biāo)準(zhǔn)化存儲(chǔ)和物 聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)標(biāo)準(zhǔn)化調(diào)用。同時(shí),為了驗(yàn)證該實(shí)時(shí)數(shù)據(jù)標(biāo)準(zhǔn)化 管理體系的有效性,使用了目前非常流行的Web前后臺(tái)開(kāi)發(fā) 框架 Extjs 和 SSH2(Struts2, Spring,Hibernate)開(kāi)發(fā)了物聯(lián) 網(wǎng)實(shí)時(shí)數(shù)據(jù)管理系統(tǒng),該系統(tǒng)使用了 PostgreSQL數(shù)據(jù)庫(kù),它 運(yùn)行于小巧靈活的Tomcat Web服務(wù)器。開(kāi)發(fā)及測(cè)試表明,我 們所采用的物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)處理標(biāo)準(zhǔn)可以幫助快速建立高性 能的物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)處理系統(tǒng),并可以方便地完成不同系統(tǒng) 之間的數(shù)據(jù)交換。
20211222_61c2f6f48f193__基于SOS技術(shù)的物聯(lián)網(wǎng)實(shí)時(shí)數(shù)據(jù)管理系統(tǒng)開(kāi)發(fā)