李如平,徐珍玉
(1.安徽工商職業(yè)學(xué)院,安徽 合肥231131;2.農(nóng)業(yè)部農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)集成與應(yīng)用重點(diǎn)實(shí)驗(yàn)室,安徽 合肥230088)
物聯(lián)網(wǎng)系統(tǒng)是基于局域網(wǎng)、互聯(lián)網(wǎng)把傳感器、機(jī)器、人和物等聯(lián)系在一起,形成人物相聯(lián)和物物相聯(lián),所有的元素(設(shè)備、資源、通信)都是個(gè)性化和私有化,實(shí)現(xiàn)信息化、和遠(yuǎn)程智能控制的網(wǎng)絡(luò)[1].物聯(lián)網(wǎng)架構(gòu)可分為三層:感知層、網(wǎng)絡(luò)層和應(yīng)用層.感知層由各種傳感器構(gòu)成,包括溫濕度傳感器、二維碼標(biāo)簽、RFID 標(biāo)簽讀寫器、攝像頭、紅外線、GPS 等感知終端,感知層是物聯(lián)網(wǎng)識(shí)別物體、采集信息的來源[3].網(wǎng)絡(luò)層由各種網(wǎng)絡(luò),包括互聯(lián)網(wǎng)、局域網(wǎng)和云計(jì)算平臺(tái)等組成,是整個(gè)物聯(lián)網(wǎng)的中樞,負(fù)責(zé)傳遞和處理感知層獲取的信息[4].
目前大多數(shù)工廠現(xiàn)有的網(wǎng)絡(luò)系統(tǒng)是:各個(gè)設(shè)備通過網(wǎng)絡(luò)與服務(wù)器相連,將設(shè)備實(shí)時(shí)數(shù)據(jù)發(fā)送給服務(wù)器,然后有關(guān)人員通過工作PC 和網(wǎng)絡(luò),登錄服務(wù)器網(wǎng)址,查看設(shè)備狀態(tài)數(shù)據(jù).這樣的網(wǎng)絡(luò)系統(tǒng)有三個(gè)問題:1、各個(gè)設(shè)備之間沒有相互通信和控制,設(shè)備只是單線程的發(fā)數(shù)據(jù)給服務(wù)器,報(bào)告自己的狀態(tài).2、服務(wù)器除了監(jiān)聽設(shè)備狀態(tài),不能對(duì)數(shù)據(jù)進(jìn)行智能自動(dòng)分析,然后得出結(jié)果并直接控制設(shè)備.3、人員對(duì)設(shè)備情況的掌握,依賴于PC,如果人員在室外無(wú)PC 下情況下,無(wú)法知道設(shè)備的情況.
為了解決以上問題,本文提出了基于ASP.NET 和移動(dòng)andriod 平臺(tái)的物聯(lián)網(wǎng)系統(tǒng),以實(shí)現(xiàn)設(shè)備與設(shè)備、設(shè)備與服務(wù)器、移動(dòng)終端與服務(wù)器的通信交互,賦予系統(tǒng)有智能分析與自動(dòng)反饋的功能.首先基于ASP.NET 在服務(wù)器端開發(fā)物聯(lián)網(wǎng)系統(tǒng)網(wǎng)站,該網(wǎng)站通過局域網(wǎng)和Socket 通信與各個(gè)設(shè)備相互連接的同時(shí),對(duì)設(shè)備反饋的狀態(tài)信息進(jìn)行智能分析,并進(jìn)而控制各個(gè)設(shè)備,各個(gè)設(shè)備也可以通過該服務(wù)器網(wǎng)站向其他相關(guān)設(shè)備發(fā)送數(shù)據(jù),達(dá)到設(shè)備相互間的數(shù)據(jù)通信與互動(dòng).然后在各個(gè)設(shè)備端的應(yīng)用軟件加入Socket 通信功能,支持與服務(wù)器的通信,在移動(dòng)端基于Andriod 平臺(tái)和Java 語(yǔ)言開發(fā)APP,通過無(wú)線局域網(wǎng)實(shí)現(xiàn)移動(dòng)端與服務(wù)器的通信.最后基于無(wú)線網(wǎng)絡(luò)、局域網(wǎng)實(shí)現(xiàn)設(shè)備與服務(wù)器、服務(wù)器與移動(dòng)端設(shè)備通信,達(dá)到為智能工廠建立物聯(lián)網(wǎng)系統(tǒng)的工程目標(biāo).
本文所設(shè)計(jì)的物聯(lián)網(wǎng)系統(tǒng)的目的是實(shí)現(xiàn)三個(gè)目標(biāo):1)開發(fā)一個(gè)物聯(lián)網(wǎng)系統(tǒng)服務(wù)器端網(wǎng)站,支持與設(shè)備、移動(dòng)端的數(shù)據(jù)交互通信,支持對(duì)設(shè)備數(shù)據(jù)的智能分析和自動(dòng)控制;2)開發(fā)一個(gè)移動(dòng)端APP可以對(duì)服務(wù)器網(wǎng)站進(jìn)行訪問,并通過服務(wù)器控制設(shè)備;3)最后對(duì)設(shè)備與服務(wù)器之間的局域網(wǎng)進(jìn)行研究、對(duì)服務(wù)器與移動(dòng)端的無(wú)線局域網(wǎng)進(jìn)行研究,建成最終這個(gè)物聯(lián)網(wǎng)系統(tǒng).
感知層是連接相機(jī)、RFID 讀碼、傳感器的設(shè)備,設(shè)備本身帶有操作系統(tǒng)和下位機(jī)軟件.網(wǎng)絡(luò)層是有線局域網(wǎng)、無(wú)線網(wǎng)、Socket 通信方式和HTTP通信協(xié)議,負(fù)責(zé)連接設(shè)備與服務(wù)器、服務(wù)器與移動(dòng)端,進(jìn)而實(shí)現(xiàn)設(shè)備與設(shè)備、設(shè)備與移動(dòng)端的連接通信與控制.應(yīng)用層主要是服務(wù)器端的系統(tǒng)網(wǎng)站與移動(dòng)端設(shè)備上的APP.
本系統(tǒng)工作原理是:設(shè)備上帶有相機(jī)、RFID 讀碼、傳感器這一類的智能感應(yīng)終端,如帶相機(jī)的設(shè)備有視覺檢查功能,可以得到產(chǎn)品不良與否的信息,如帶RFID 讀碼的設(shè)備有讀取產(chǎn)品條形碼的功能,可以得到產(chǎn)品的基礎(chǔ)信息,如帶傳感器的設(shè)備有感應(yīng)材料到位與否的功能,可以得到產(chǎn)品是否到達(dá)正確位置的信息.這些信息都由本系統(tǒng)的感應(yīng)端,即各個(gè)設(shè)備得到,通過局域網(wǎng),HTTP 協(xié)議與Socket 通信方式發(fā)送至系統(tǒng)服務(wù)器.服務(wù)器網(wǎng)站后臺(tái)具有數(shù)據(jù)分析功能,對(duì)不同有不同的回應(yīng).如對(duì)產(chǎn)品質(zhì)量OK/NG 信號(hào),有產(chǎn)品反工與否的信號(hào)予以回應(yīng),如對(duì)產(chǎn)品基礎(chǔ)信息,有產(chǎn)品分流信號(hào)予以回應(yīng),如對(duì)產(chǎn)品是否到位信號(hào),有產(chǎn)品是否進(jìn)行作業(yè)的信號(hào)予以回應(yīng),如此實(shí)現(xiàn)各個(gè)設(shè)備與服務(wù)器的通信.
由于各個(gè)設(shè)備可以與服務(wù)器通信,并且服務(wù)器具有智能分析與自動(dòng)反饋功能,進(jìn)而實(shí)現(xiàn)了設(shè)備與設(shè)備的通信互動(dòng).比如:帶傳感器的設(shè)備感知材料到位并通知服務(wù)器,服務(wù)器給予開始作業(yè)命令,材料運(yùn)動(dòng)到帶讀碼器設(shè)備下,讀碼器設(shè)備完成讀碼,并傳至服務(wù)器,服務(wù)器反饋分流信號(hào),材料流至帶相機(jī)設(shè)備下,設(shè)備完成OK/NG 檢查并發(fā)送服務(wù)器,服務(wù)器反饋反工與否信號(hào),進(jìn)而各個(gè)設(shè)備完成相互通信功能.
由于人員不可能一直在PC 旁對(duì)服務(wù)器和設(shè)備監(jiān)控,在室外的情況下,如果能支持移動(dòng)端對(duì)服務(wù)器與設(shè)備的控制與訪問.移動(dòng)端的設(shè)備有智能手機(jī)、平板計(jì)算機(jī),本文以Andriod 系統(tǒng)為開發(fā)平臺(tái),開發(fā)出APP,通過無(wú)線網(wǎng)絡(luò)對(duì)服務(wù)器網(wǎng)站進(jìn)行訪問并控制,進(jìn)而控制各個(gè)設(shè)備.由此完成整個(gè)物聯(lián)網(wǎng)系統(tǒng)的搭建.如圖1 所示為本文整體結(jié)構(gòu).
圖1 本系統(tǒng)架構(gòu)圖
在服務(wù)器上開發(fā)一個(gè)物聯(lián)網(wǎng)網(wǎng)站,接收各個(gè)設(shè)備的狀態(tài)信號(hào)并顯示,同時(shí)具備根據(jù)設(shè)備不同狀態(tài)信號(hào),給予不同反饋命令,命令以按鈕的形式在網(wǎng)站頁(yè)面上顯示,供PC 端、移動(dòng)端用戶使用.本網(wǎng)站采用ASP.NET 開發(fā)網(wǎng)站后臺(tái)邏輯,是本節(jié)討論重點(diǎn),網(wǎng)站前端由主流的HTML、CSS、Javascript 構(gòu)成,非本文重點(diǎn),在此不予詳述.本網(wǎng)站的開發(fā)IDE 是Visual Stadio2010,語(yǔ)言是C#.ASP.NET 是.NET FrameWork 的一部分,是一種使嵌入網(wǎng)頁(yè)中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù),它可以在通過HTTP 請(qǐng)求文檔時(shí)再在Web 服務(wù)器上動(dòng)態(tài)創(chuàng)建它們,指Active Server Pages(動(dòng)態(tài)服務(wù)器頁(yè)面),運(yùn)行于IIS(Internet Information Server)[5].
網(wǎng)站基于HTTP 協(xié)議和Socket 通信方式與設(shè)備進(jìn)行交互.HTTP 即超文本傳輸協(xié)議,是設(shè)備與服務(wù)器通信協(xié)議,完成相互的連接,設(shè)備數(shù)據(jù)通過此協(xié)議傳輸至服務(wù)器端并顯示.服務(wù)器在對(duì)數(shù)據(jù)接收并顯示后,迅速對(duì)數(shù)據(jù)進(jìn)行分析,如帶相機(jī)設(shè)備發(fā)送OK 信號(hào),則服務(wù)器立即查詢數(shù)據(jù)庫(kù),查出OK信號(hào)的反饋信號(hào)“繼續(xù)檢查”,觸發(fā)相應(yīng)按鈕,通過Socket 監(jiān)聽通信傳至設(shè)備.Socket 通常也稱作"套接字",用于描述IP 地址和端口,是一個(gè)通信鏈的句柄,可以用來實(shí)現(xiàn)不同虛擬機(jī)或不同計(jì)算機(jī)之間的通信,在Internet 上的主機(jī)一般運(yùn)行了多個(gè)服務(wù)軟件,同時(shí)提供幾種服務(wù),每種服務(wù)都打開一個(gè)Socket,并綁定到一個(gè)端口上,不同的端口對(duì)應(yīng)于不同的服務(wù)[6].本系統(tǒng)將服務(wù)器觸發(fā)按鈕綁定在對(duì)應(yīng)端口,將設(shè)備對(duì)應(yīng)監(jiān)聽程序也綁定在對(duì)應(yīng)端口,實(shí)現(xiàn)服務(wù)器與設(shè)備信號(hào)實(shí)時(shí)交互.網(wǎng)站工作流程如圖2 所示.
圖2 網(wǎng)站工作流程
部分關(guān)鍵代碼:
為了讓人員不受辦公環(huán)境限制,在戶外也可以對(duì)設(shè)備狀態(tài)進(jìn)行查看和控制,本系統(tǒng)需要開發(fā)一個(gè)APP,在Android 平臺(tái)(平板計(jì)算機(jī)和智能手機(jī))也可使用,可以訪問服務(wù)器網(wǎng)站,進(jìn)而知曉各個(gè)設(shè)備狀態(tài),并且通過觸發(fā)服務(wù)器上網(wǎng)站系統(tǒng)的按鈕,來控制設(shè)備.本系統(tǒng)的移動(dòng)端開發(fā)基于Android 平臺(tái)實(shí)現(xiàn),語(yǔ)言采用Java,開發(fā)環(huán)境是Eclipse.
圖3 APP 工作流程
圖4 服務(wù)器網(wǎng)站
圖5 APP 頁(yè)面
Android 的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu).從架構(gòu)看,Android 分為四個(gè)層,從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫(kù)層和Linux 內(nèi)核層.優(yōu)勢(shì)是其開發(fā)性,可以使其擁有更多的開發(fā)者,隨著用戶和應(yīng)用的日益豐富,一個(gè)嶄新的平臺(tái)也將很快走向成熟.基于Android SDK 和Java 語(yǔ)言開發(fā)完成APP,即移動(dòng)端的第三方應(yīng)用程序.移動(dòng)端與服務(wù)器連接,由移動(dòng)端設(shè)備基于無(wú)線局域網(wǎng)登錄服務(wù)器IP,訪問服務(wù)器系統(tǒng)網(wǎng)站實(shí)現(xiàn).無(wú)線網(wǎng)絡(luò)是相當(dāng)便利的數(shù)據(jù)傳輸系統(tǒng),它利用射頻技術(shù),使用電磁波,取代雙絞銅線所構(gòu)成的局域網(wǎng)絡(luò)[8~9].
人員利用移動(dòng)端APP 通過無(wú)線網(wǎng)絡(luò),基于服務(wù)器IP,訪問系統(tǒng)網(wǎng)站,得到設(shè)備狀態(tài)信息,再通過觸發(fā)網(wǎng)站按鈕,對(duì)設(shè)備進(jìn)行控制,具體結(jié)構(gòu)流程圖如下圖3 所示:
部分關(guān)鍵代碼:
使用IE10.0 瀏覽器測(cè)試服務(wù)器網(wǎng)站,Android4.2 系統(tǒng)智能手機(jī)測(cè)試移動(dòng)端,實(shí)驗(yàn)測(cè)試本系統(tǒng)各個(gè)模塊的功能.同時(shí),為了體現(xiàn)本文方案的先進(jìn)性,設(shè)立一個(gè)對(duì)照組:依靠設(shè)備發(fā)送狀態(tài)數(shù)據(jù)給服務(wù)器,用PC 登錄服務(wù)器查看后,再趕去現(xiàn)場(chǎng)處理設(shè)備(文獻(xiàn)[10]).對(duì)比的指標(biāo)主要是時(shí)間.實(shí)驗(yàn)涉及設(shè)備如下:帶傳感器的設(shè)備1,帶讀碼器的設(shè)備2,待相機(jī)的設(shè)備3,一臺(tái)服務(wù)器PC,一部智能手機(jī),一臺(tái)普通PC.圖4 為在服務(wù)器端物聯(lián)網(wǎng)網(wǎng)站,對(duì)各個(gè)設(shè)備監(jiān)控與控制頁(yè)面.圖5 為智能手機(jī)APP瀏覽服務(wù)器端物聯(lián)網(wǎng)網(wǎng)站的頁(yè)面.可見,服務(wù)器網(wǎng)站可以對(duì)設(shè)備狀態(tài)進(jìn)行查看,并通過按鈕觸發(fā)控制信號(hào),驗(yàn)證了ASP.NET 網(wǎng)站的功能性,見圖4.同時(shí),也可以用手機(jī)或平板上的APP 對(duì)服務(wù)器網(wǎng)站進(jìn)行監(jiān)控和操作,達(dá)到移動(dòng)端對(duì)設(shè)備的控制,見圖5.
為了對(duì)兩組系統(tǒng)展開時(shí)間對(duì)比,本文安排了相同數(shù)量與難度的作業(yè),分別由兩個(gè)系統(tǒng)完場(chǎng),最終統(tǒng)計(jì)結(jié)果如下表格1 所示.依表1 數(shù)據(jù)顯示,本文系統(tǒng)的效率優(yōu)于對(duì)照組.原因是本系統(tǒng)可以通過移動(dòng)端直接看到設(shè)備狀態(tài),并當(dāng)場(chǎng)控制,且本系統(tǒng)中的設(shè)備相互互動(dòng),由服務(wù)器傳遞信息并自動(dòng)分析,無(wú)需人工介入.而傳統(tǒng)系統(tǒng),各個(gè)設(shè)備只是例行的將信息傳至服務(wù)器做數(shù)據(jù)備案,人員只能查看狀態(tài),而不能實(shí)時(shí)控制,設(shè)備間無(wú)互動(dòng)協(xié)作,同時(shí)無(wú)法在場(chǎng)外對(duì)設(shè)備進(jìn)行查看或控制.
表1 時(shí)間對(duì)比
基于ASP.NET 和移動(dòng)andriod 平臺(tái)的物聯(lián)網(wǎng)系統(tǒng),是基于ASP.NET 開發(fā)服務(wù)器網(wǎng)站,具備了對(duì)設(shè)備狀態(tài)的查詢、分析、控制.然后基于Android、Java 開發(fā)移動(dòng)端APP,具備訪問服務(wù)器網(wǎng)站,進(jìn)而控制設(shè)備的功能.最后利用局域網(wǎng)、Http 協(xié)議、Socket、無(wú)線網(wǎng)整合整個(gè)網(wǎng)絡(luò),即物聯(lián)網(wǎng).實(shí)驗(yàn)測(cè)試結(jié)果表明:該物聯(lián)網(wǎng)系統(tǒng)可以實(shí)現(xiàn)對(duì)設(shè)備、服務(wù)器的連接和智能運(yùn)作;且并與當(dāng)前系統(tǒng)相比,該物聯(lián)網(wǎng)系統(tǒng)具有更高的運(yùn)作效率.
[1] 杜楠.基于物聯(lián)網(wǎng)技術(shù)的井下物資跟蹤管理系統(tǒng)[J].工礦自動(dòng)化,2015,7(2):327-330.
[2] 魏宏云.基于物聯(lián)網(wǎng)的道路路面施工質(zhì)量實(shí)時(shí)監(jiān)控系統(tǒng)研究[J].公路交通技術(shù),2015,28(11):83-87.
[3] 龐春輝.基于物聯(lián)網(wǎng)技術(shù)的工廠智能照明系統(tǒng)構(gòu)建[J].電子制作,2015,6(4):81-85.
[4] 賴樹明.基于STM32 的物聯(lián)網(wǎng)系統(tǒng)的設(shè)計(jì)[J].電子測(cè)試,2015,13(10):186-190.
[5] 莫夫.基于物聯(lián)網(wǎng)的智能社區(qū)管理系統(tǒng)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2015,73(2):371-376.
[6] 鄭家宋,基于物聯(lián)網(wǎng)的煤礦智能倉(cāng)儲(chǔ)與物流運(yùn)輸管理系統(tǒng)設(shè)計(jì)與應(yīng)用[J].工礦自動(dòng)化,2015,58(15):42-47.
[7] 馬世博.基于物聯(lián)網(wǎng)技術(shù)的城際危險(xiǎn)品運(yùn)輸安全監(jiān)控系統(tǒng)研究[J].佼 物流科技,2015,73(2):371-376.
[8] 王麗俠.基于物聯(lián)網(wǎng)的智能家居系統(tǒng)的研發(fā)[J].電氣應(yīng)用,2015,73(2):371-376.