李建新 柯鋼 楊懷德
摘 要: 為了解決物聯(lián)網(wǎng)專業(yè)的智能感知實(shí)驗(yàn)及教學(xué)內(nèi)容缺乏的問題,彌補(bǔ)相關(guān)操作及儀器設(shè)備的軟件系統(tǒng)開發(fā)的空缺,設(shè)計(jì)并實(shí)現(xiàn)了基于WinSock通信技術(shù)的智能感知實(shí)訓(xùn)平臺(tái)PC客戶端軟件,并從軟件的設(shè)計(jì)目標(biāo)、功能、體系結(jié)構(gòu)和系統(tǒng)實(shí)現(xiàn)等方面進(jìn)行了探討。該軟件具有較好的擴(kuò)展性、穩(wěn)定性和良好的學(xué)生用戶體驗(yàn)。
關(guān)鍵詞: 物聯(lián)網(wǎng); 智能感知; 傳感器; WinSock
中圖分類號(hào):U491.1 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2015)12-49-04
Design and implementation of PC client software for IntelliSense
training platform based on WinSock
Li Jianxin, Ke Gang, Yang Huaide
(Department of Computer Engineering, Dongguan Polytechnic, Dongguan, Guangdong 523808, China)
Abstract: In order to solve the problem of lack of IntelliSense experiment and teaching content in IoT specialty, to make up for the vacancy of the software system for instrument equipment and related operation, this paper designs and implements a IntelliSense training platform PC client software based on WinSock communications technology, and the design objectives, functions, system structure and system implementation of the software are discussed. The software has good scalability, stability and a good student-user experience.
Key words: IoT; Intelligent Sensing; sensor; WinSock
0 引言
目前,很多高職院校依據(jù)國家十二五發(fā)展規(guī)劃, 成立了物聯(lián)網(wǎng)相關(guān)專業(yè)。但物聯(lián)網(wǎng)專業(yè)建設(shè)特別是物聯(lián)網(wǎng)實(shí)訓(xùn)室的建設(shè)方面仍處于探索階段。學(xué)者對(duì)于物聯(lián)網(wǎng)專業(yè)實(shí)訓(xùn)室建設(shè)的探討更多的集中于物聯(lián)網(wǎng)實(shí)訓(xùn)室建設(shè)方案[1,2,6]或者物聯(lián)網(wǎng)某個(gè)具體實(shí)訓(xùn)實(shí)例的高深研究上[3],鮮有基于物聯(lián)網(wǎng)感知層認(rèn)識(shí)的實(shí)訓(xùn)平臺(tái)及客戶端軟件的研究。因此本軟件設(shè)計(jì)的核心是解決物聯(lián)網(wǎng)專業(yè)的智能感知實(shí)驗(yàn)、實(shí)訓(xùn)對(duì)象及教學(xué)內(nèi)容缺乏的問題,彌補(bǔ)配合相關(guān)操作及儀器設(shè)備的軟件系統(tǒng)開發(fā)的空缺[4-5]。
1 軟件總體設(shè)計(jì)
1.1 設(shè)計(jì)原則
本設(shè)計(jì)結(jié)合智能感知實(shí)訓(xùn)平臺(tái),實(shí)現(xiàn)由傳感器節(jié)點(diǎn)數(shù)據(jù)采集、嵌入式計(jì)算機(jī)對(duì)前端的網(wǎng)絡(luò)數(shù)據(jù)發(fā)布、網(wǎng)絡(luò)遠(yuǎn)端的檢測系統(tǒng)(PC客戶端)對(duì)數(shù)據(jù)分析和處理完整功能的智能感知實(shí)訓(xùn)系統(tǒng),完整地再現(xiàn)了物聯(lián)網(wǎng)感知層的全部內(nèi)涵,使學(xué)生能夠通過本軟件對(duì)物聯(lián)網(wǎng)感知層有一個(gè)清晰直觀的認(rèn)識(shí)。
1.2 結(jié)構(gòu)設(shè)計(jì)
智能感知實(shí)訓(xùn)平臺(tái)客戶端軟件采用C/S結(jié)構(gòu),如圖1所示。
如圖,結(jié)合智能感知實(shí)訓(xùn)平臺(tái),整個(gè)智能感知實(shí)訓(xùn)系統(tǒng)由兩部分組成:一是PC客戶端軟件,即圖1左側(cè)部分;二是智能感知實(shí)訓(xùn)平臺(tái),即圖1的右側(cè)部分。其中,PC客戶端通過RJ-45網(wǎng)絡(luò)接口與RS485通信控制器進(jìn)行硬件對(duì)接。PC客戶器軟件主要包括四個(gè)模塊:數(shù)據(jù)采集、數(shù)據(jù)分析、數(shù)據(jù)監(jiān)控、設(shè)備控制。與實(shí)訓(xùn)平臺(tái)有交互的軟件模塊有:數(shù)據(jù)采集、設(shè)備控制。軟件上的交互通過socket通信協(xié)議來完成。硬件上的交互由智能感知實(shí)訓(xùn)平臺(tái)和RS485通信協(xié)議層來實(shí)現(xiàn)。其中使用智能感知實(shí)訓(xùn)平臺(tái)作為本客戶端軟件的硬件基礎(chǔ),負(fù)責(zé)軟件與各硬件控制設(shè)備如門禁的連接工作,而軟件的網(wǎng)絡(luò)通信部分由socket通信來完成。其實(shí)際情況是,智能感知實(shí)訓(xùn)平臺(tái)中運(yùn)行的是RS485通信協(xié)議,通過該協(xié)議使得實(shí)訓(xùn)平臺(tái)與各控制設(shè)備相互通信,該過程主要包括信息采集和設(shè)備控制兩部分。當(dāng)信息采集過來時(shí),則由socket來完成由實(shí)訓(xùn)平臺(tái)向計(jì)算機(jī)客戶端傳送數(shù)據(jù)。
1.3 功能設(shè)計(jì)
將客戶端軟件分為五大模塊:數(shù)據(jù)采集模塊、數(shù)據(jù)分析模塊、數(shù)據(jù)監(jiān)控模塊、設(shè)備控制模塊、集成接口模塊。其基本功能如圖2所示。
⑴ 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊主要完成紅外線感應(yīng)傳感器、光感應(yīng)傳感器、磁場感應(yīng)傳感器、煙霧感應(yīng)傳感器等數(shù)據(jù)信息的采集。智能感知實(shí)訓(xùn)平臺(tái)提供的數(shù)據(jù)信息包括平臺(tái)運(yùn)轉(zhuǎn)信息和傳感器信息,數(shù)據(jù)采集模塊需要區(qū)分出傳感器信息,然后將其收集,再傳遞給數(shù)據(jù)分析模塊。
⑵ 數(shù)據(jù)分析模塊
數(shù)據(jù)分析模塊主要是將數(shù)據(jù)采集模塊采集來的傳感器數(shù)據(jù)進(jìn)行分析處理。從實(shí)訓(xùn)平臺(tái)中采集來的傳感器信息有四種:紅外線傳感器信息、光感應(yīng)傳感器信息、磁場感應(yīng)傳感器信息、煙霧感應(yīng)傳感器信息。數(shù)據(jù)分析模塊能區(qū)分出不同的傳感器信息,然后根據(jù)不同的傳感器信息調(diào)用相應(yīng)的數(shù)據(jù)監(jiān)控模塊。
⑶ 數(shù)據(jù)監(jiān)控模塊
數(shù)據(jù)監(jiān)控模塊主要功能是對(duì)數(shù)據(jù)采集分析模塊傳送過來的數(shù)據(jù)不斷與預(yù)定的設(shè)備控制條件進(jìn)行比較分析,達(dá)到不斷監(jiān)控檢測傳感器數(shù)據(jù)的目的。當(dāng)數(shù)據(jù)分析模塊判斷出傳感器信息類型后,將調(diào)用相應(yīng)的數(shù)據(jù)監(jiān)控模塊,數(shù)據(jù)監(jiān)控模塊會(huì)將這些傳感器信息與預(yù)定的條件進(jìn)行比對(duì),如果條件滿足,則調(diào)用設(shè)備控制模塊進(jìn)行響應(yīng)。
⑷ 設(shè)備控制模塊
設(shè)備控制模塊主要控制門禁系統(tǒng)等外設(shè)。實(shí)訓(xùn)平臺(tái)可以控制響應(yīng)的設(shè)備包括:門禁、LED燈、空氣清新機(jī)等。如果數(shù)據(jù)監(jiān)控模塊判定傳感器的數(shù)據(jù)滿足預(yù)定的條件,則調(diào)用設(shè)備控制模塊輸出信息給相應(yīng)的外設(shè),從而呈現(xiàn)出監(jiān)控的效果。
⑸ 集成接口模塊
集成接口模塊負(fù)責(zé)將上述四個(gè)模塊進(jìn)行良好對(duì)接,使整個(gè)軟件系統(tǒng)實(shí)現(xiàn)高內(nèi)聚、低耦合。
2 關(guān)鍵模塊設(shè)計(jì)
由于篇幅所限,本文僅探討軟件關(guān)鍵模塊的設(shè)計(jì)?;谥悄芨兄獙?shí)訓(xùn)平臺(tái)的PC客戶端軟件的設(shè)計(jì)與實(shí)現(xiàn)關(guān)鍵在于數(shù)據(jù)的采集及數(shù)據(jù)的監(jiān)控。
2.1 數(shù)據(jù)采集模塊的設(shè)計(jì)
數(shù)據(jù)采集模塊是與智能感知實(shí)訓(xùn)平臺(tái)對(duì)接的模塊,因此在整個(gè)軟件設(shè)計(jì)中占據(jù)關(guān)鍵的地位。從硬件上來看,智能感知實(shí)訓(xùn)平臺(tái)是通過普通網(wǎng)線與PC機(jī)相連接。從軟件設(shè)計(jì)上看,智能感知實(shí)訓(xùn)平臺(tái)的數(shù)據(jù)是以網(wǎng)絡(luò)IP數(shù)據(jù)包的形式傳送給PC客戶端軟件的數(shù)據(jù)采集模塊的。在這個(gè)網(wǎng)絡(luò)通信過程中,實(shí)際將網(wǎng)絡(luò)IP數(shù)據(jù)包傳送給數(shù)據(jù)采集模塊的操作接口是socket通信。從智能感知實(shí)訓(xùn)平臺(tái)傳送給PC客戶端軟件的實(shí)時(shí)信息包括平臺(tái)運(yùn)轉(zhuǎn)信息和傳感器信息。數(shù)據(jù)采集模塊主要是將實(shí)訓(xùn)平臺(tái)傳送過來的實(shí)時(shí)信息進(jìn)行分離,分離出傳感器信息,然后將其收集,傳遞給數(shù)據(jù)分析模塊進(jìn)行傳感器信息分析。其中,平臺(tái)運(yùn)轉(zhuǎn)信息與傳感器信息的分離原理在于兩類信息的數(shù)據(jù)包均含有信息類別前綴,通過分析信息類別前綴便可以識(shí)別出是平臺(tái)運(yùn)轉(zhuǎn)信息還是傳感器信息。數(shù)據(jù)采集模塊整體設(shè)計(jì)思路如圖3所示。
2.2 數(shù)據(jù)監(jiān)控模塊的設(shè)計(jì)
簡單地說,數(shù)據(jù)監(jiān)控模塊在算法設(shè)計(jì)上是一個(gè)閉合的循環(huán)。數(shù)據(jù)監(jiān)控模塊不斷地輪詢數(shù)據(jù)分析模塊建立的隊(duì)列,如果隊(duì)列中存在數(shù)據(jù),則將其取出,通過傳感器信息種類這個(gè)數(shù)據(jù)辨別是哪種傳感器信息,從而進(jìn)入相應(yīng)的數(shù)據(jù)監(jiān)控子模塊,在子模塊中通過分析傳感器信息來決定是否調(diào)用設(shè)備控制模塊。數(shù)據(jù)采集、數(shù)據(jù)分析、數(shù)據(jù)監(jiān)控、設(shè)備控制這四個(gè)模塊之間的關(guān)系如圖4所示。
3 紅外線感應(yīng)傳感器監(jiān)控門禁實(shí)例
3.1 實(shí)例目標(biāo)
本實(shí)例目的是,在智能監(jiān)控模式進(jìn)行傳感器信息的采集、分析及監(jiān)控。就本實(shí)例而言,是通過監(jiān)控紅外線傳感器感應(yīng)到物體,如果感應(yīng)到物體,則打開門禁讓行人通過,否則關(guān)閉門禁。
3.2 實(shí)例步驟
如圖4所示,在軟件系統(tǒng)主界面,有“數(shù)據(jù)維護(hù)”和“智能監(jiān)控”兩個(gè)選項(xiàng)卡。在圖5所示功能流程圖中,用戶在進(jìn)入軟件主界面后,需要先進(jìn)行數(shù)據(jù)維護(hù),分別進(jìn)行控制器管理、終端管理、事件管理;當(dāng)數(shù)據(jù)維護(hù)好后,返回“智能監(jiān)控”界面,點(diǎn)擊“建立連接”,如果控制器的IP地址沒有設(shè)置,連接將不成功,客戶端也會(huì)提示“控制器IP未設(shè)置,連接不成功”的提示,需要對(duì)控制器的IP地址進(jìn)行設(shè)置,然后重新建立連接,連接建立后,進(jìn)入軟件監(jiān)控的手動(dòng)模式,在該模式下,可以進(jìn)行各個(gè)端口的測試,在本例中,主要檢測門禁系統(tǒng)的端口是否安裝正確。如果手動(dòng)模式測試端口沒有問題,用戶可以點(diǎn)擊“智能監(jiān)控”,切換到如圖4所示“智能監(jiān)控”模式。這時(shí)軟件會(huì)自動(dòng)運(yùn)行,不斷地進(jìn)行數(shù)據(jù)采集、數(shù)據(jù)分析、數(shù)據(jù)監(jiān)控,如果傳感器信息滿足預(yù)定的條件,則數(shù)據(jù)監(jiān)控模塊會(huì)調(diào)用設(shè)備控制模塊。
在本例中,調(diào)用設(shè)備控制模塊的預(yù)定條件是:紅外線感應(yīng)傳感器有數(shù)據(jù)傳過來,即如圖4中間部分的坐標(biāo)圖上面那行數(shù)據(jù),三個(gè)坐標(biāo)點(diǎn)是實(shí)心點(diǎn)表示在三個(gè)時(shí)間點(diǎn)是有檢測到數(shù)據(jù)的。坐標(biāo)圖中,橫軸表示紅外線感應(yīng)傳感器是否檢測到物休,縱軸表示時(shí)間。軟件運(yùn)行流程如圖5所示。
[Start][軟件主界面][數(shù)據(jù)維護(hù)][建立連接] [手動(dòng)模式][門禁測試] [智能監(jiān)控模式][紅外數(shù)據(jù)監(jiān)測] [門禁開啟][行人通過] [門禁關(guān)閉] [成功][通過][有][是] [否] [無] [不成功] [不通過]
圖5 紅外線感應(yīng)控制門禁功能流程圖
3.3 實(shí)例效果分析
客戶端監(jiān)控的數(shù)據(jù)結(jié)果如圖4,圖4中的坐標(biāo)中顯示有兩行監(jiān)測信息點(diǎn),其中,上面一行的三個(gè)數(shù)據(jù)監(jiān)測點(diǎn)為紅外線感應(yīng)傳感器感應(yīng)到物體,而下面的一行則為紅外線未感應(yīng)到物體。當(dāng)客戶端軟件檢測到有紅外線感應(yīng)傳感器感應(yīng)到物體的信息時(shí),軟件就會(huì)打開門禁讓行人通過,隨后關(guān)閉門禁,繼續(xù)監(jiān)聽智能感知實(shí)訓(xùn)平臺(tái)。
4 結(jié)束語
本文基于智能感知實(shí)訓(xùn)平臺(tái)設(shè)計(jì)了一種適合學(xué)生的相應(yīng)實(shí)驗(yàn)、實(shí)訓(xùn)及學(xué)習(xí)的PC客戶端軟件。從軟件總體設(shè)計(jì)、關(guān)鍵模塊設(shè)計(jì)、實(shí)例展示等幾方面對(duì)軟件的設(shè)計(jì)進(jìn)行了闡述。該軟件由數(shù)據(jù)采集、數(shù)據(jù)分析、數(shù)據(jù)監(jiān)控、設(shè)備控制等功能模塊構(gòu)成,具有較好的擴(kuò)展性、穩(wěn)定性。學(xué)生通過上機(jī)操作后,對(duì)物聯(lián)網(wǎng)感知層有了一個(gè)直觀的認(rèn)識(shí),提高了對(duì)物聯(lián)網(wǎng)專業(yè)的學(xué)習(xí)興趣。
參考文獻(xiàn)(References):
[1] 杜偉略,潘健.物聯(lián)網(wǎng)綜合實(shí)訓(xùn)平臺(tái)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,
2013.9:9-15
[2] 徐燕.通信專業(yè)聯(lián)網(wǎng)實(shí)訓(xùn)平臺(tái)的設(shè)計(jì)[D].電子科技大學(xué),
2009.
[3] 陶巍偉.基于RFID的智能感知與分析系統(tǒng)[D].浙江工業(yè)大
學(xué),2012.
[4] 劉征.智能感知互動(dòng)綜合服務(wù)系統(tǒng)中數(shù)據(jù)提取方案設(shè)計(jì)[D].
華北電力大學(xué),2012.
[5] Jian AN, Xiao-Lin GUI, Xin HE. Study on the
Architecture and Key Technologies for Internet of Things [M]. Proceedings of 2010 2nd International Conference on Multimedia and Computational Intelligence (ICMCI 2010),2010:100-105
[6] 沈洋.高職院校物聯(lián)網(wǎng)應(yīng)用技術(shù)實(shí)訓(xùn)室建設(shè)方案探索[J].大
連職業(yè)技術(shù)學(xué)院,2012.9:61-64