摘 要: 探索了目前方興未艾的物聯(lián)網(wǎng)技術(shù),,以一個智能化車間為基礎(chǔ),,實現(xiàn)了“物”的互聯(lián)網(wǎng)接入、信息的流通,、遠(yuǎn)程控制,、信息的安全管理等。使用一個工控PC作為網(wǎng)關(guān),,接入因特網(wǎng),,使用在全世界范圍內(nèi)接入因特網(wǎng)的個人電腦、手機(jī)等手持式終端設(shè)備作為遠(yuǎn)程控制端,,啟動瀏覽器,輸入一個固定的網(wǎng)址,,經(jīng)過安全認(rèn)證,,登錄成功后就可以在網(wǎng)頁上很直觀、方便,、安全地操作車間內(nèi)的被控設(shè)備,,并實時接收,、查看各傳感器所采集到的信息。
關(guān)鍵詞: 物聯(lián)網(wǎng),;網(wǎng)關(guān),;Web;傳感器
物聯(lián)網(wǎng)IOT(Internet of Things)是新一代信息技術(shù)的重要組成部分,。顧名思義,,物聯(lián)網(wǎng)就是物物相連的互聯(lián)網(wǎng)。這有兩層意思:第一,,物聯(lián)網(wǎng)的核心和基礎(chǔ)仍然是互聯(lián)網(wǎng),,是在互聯(lián)網(wǎng)基礎(chǔ)上的延伸和擴(kuò)展的網(wǎng)絡(luò);第二,,其用戶端延伸和擴(kuò)展到了任何物品與物品之間,,進(jìn)行信息交換和通信。因此,,物聯(lián)網(wǎng)的定義是通過射頻識別(RFID),、紅外感應(yīng)器、全球定位系統(tǒng),、激光掃描器等信息傳感設(shè)備,,按約定的協(xié)議,把任何物品與互聯(lián)網(wǎng)相連接,,進(jìn)行信息交換和通信,,以實現(xiàn)對物品的智能化識別、定位,、跟蹤,、監(jiān)控和管理的一種網(wǎng)絡(luò)。
目前,,構(gòu)建物聯(lián)網(wǎng)平臺的技術(shù)方案[1-3]比較典型的有兩種基本體系結(jié)構(gòu),,一種是基于分布式計算的,各物品獨(dú)立接入互聯(lián)網(wǎng),。這要求每個物品都具有完善的網(wǎng)絡(luò)接入與數(shù)據(jù)交換功能,,在成本、安全性,、使用的方便性等很多方面存在不足,,特別是在目前實際使用的IPv4協(xié)議中的IP地址資源面臨枯竭的情況下,只能少量用于某些特別的場合,。另一種是基于網(wǎng)關(guān)的體系結(jié)構(gòu),。在一個合適的地域范圍內(nèi),使用一個專用的網(wǎng)關(guān)設(shè)備接入互聯(lián)網(wǎng),,而物品則只直接連接到網(wǎng)關(guān),,各種信息都通過網(wǎng)關(guān)中轉(zhuǎn),。這種方式無疑有很多優(yōu)越性,大量的設(shè)備只需要一個公共點(diǎn)接入互聯(lián)網(wǎng),,節(jié)約IP地址,,甚至可以通過NAT 等方式接入互聯(lián)網(wǎng),無需獨(dú)立的IP地址,,通過公共的訪問接口訪問,、控制各個設(shè)備,容易進(jìn)行完善的安全管理,。所以本文探索的是這種基于網(wǎng)關(guān)的體系結(jié)構(gòu),。
1 體系結(jié)構(gòu)
本物聯(lián)網(wǎng)實驗平臺的體系結(jié)構(gòu)如圖1所示。網(wǎng)關(guān)是其關(guān)鍵性設(shè)備,,一方面,,網(wǎng)關(guān)與互聯(lián)網(wǎng)相連,實現(xiàn)與終端設(shè)備的互聯(lián)互訪,;另一方面,,網(wǎng)關(guān)與被控設(shè)備(聯(lián)入物聯(lián)網(wǎng)的物品)相連,物品發(fā)出與接收的信息都通過網(wǎng)關(guān)中轉(zhuǎn),。遠(yuǎn)程端設(shè)備是能接入互聯(lián)網(wǎng)的手機(jī),、PAD、PC等,。
2 硬件系統(tǒng)的設(shè)計與制作
2.1 網(wǎng)關(guān)的設(shè)計
網(wǎng)關(guān)的硬件有多種,,其核心CPU常用的有兩種大的類別:基于ARM和基于Intel X86兼容芯片。目前ARM系列的CPU不支持Windows系列的操作系統(tǒng),,所使用的指令系統(tǒng)也不同,,開發(fā)難度相對較大,功能的拓展等也都不便,。本技術(shù)方案采用基于Intel X86兼容CPU的工控PC作為網(wǎng)關(guān),,外型小巧、功耗低,,無風(fēng)扇設(shè)計,,可長期穩(wěn)定運(yùn)行,支持Windows操作系統(tǒng),,技術(shù)成熟,,軟硬件支持性好,有大量現(xiàn)有的軟硬件資源可以利用,,所以整個系統(tǒng)的開發(fā)比ARM平臺更為簡單方便,。
2.2 控制電路的設(shè)計與制作
如果每個“物品”都與網(wǎng)關(guān)直接相連、通信,,在被控“物品”較多時,,網(wǎng)關(guān)PC的通信接口勢必不夠,因此整個控制電路使用了多個單片機(jī)系統(tǒng),,使用其中的一個單片機(jī)作為中央節(jié)點(diǎn)與網(wǎng)關(guān)通信,,通信方式選用最簡單實用的RS-232串口通信。中央節(jié)點(diǎn)還實現(xiàn)溫濕度的檢測,、入侵報警信息檢測功能,。單片機(jī)都使用AT89S52,它是一種低功耗,、高性能CMOS 8 bit微控制器,,具有8 KB在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容,。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器,。在單芯片上,,擁有靈巧的8 bit CPU和在系統(tǒng)可編程Flash,使得AT89S52在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用,。
?。?)門的開關(guān)控制
單片機(jī)通過驅(qū)動芯片驅(qū)動直流電機(jī)的正反轉(zhuǎn),通過齒輪結(jié)構(gòu)減速,,絲桿螺母機(jī)構(gòu)將旋轉(zhuǎn)運(yùn)動轉(zhuǎn)變?yōu)橹本€驅(qū)動,,實現(xiàn)門的開關(guān)控制。安裝兩個行程開關(guān),,當(dāng)門運(yùn)動到極限位置時,,行程開關(guān)動作,單片機(jī)控制電機(jī)停止運(yùn)轉(zhuǎn),。
?。?)換氣風(fēng)扇和水閥門的控制
單片機(jī)工作電壓是5 V,如承受過高的電壓,,將受到不可恢復(fù)的嚴(yán)重?fù)p害,。風(fēng)扇的工作電壓是交流220 V,必需實現(xiàn)強(qiáng)弱電隔離,。選用直流驅(qū)動形式的小型電磁式繼電器,,絕緣介質(zhì)耐壓能達(dá)到1 000 V以上,保證人員和設(shè)備的安全,。
?。?)外景燈的控制
本實驗平臺為了達(dá)到美觀的效果,設(shè)計了一套外觀裝飾燈,,每一個燈都使用一個紅綠雙色LED,,能發(fā)出紅,、綠、黃3種顏色,,使用單片機(jī)控制,,有多種非常美觀的組合、動態(tài)效果,。
?。?)入侵檢測
使用熱釋電紅外線傳感器,檢測非法入侵的人員,,由單片機(jī)對檢測到的信號進(jìn)行處理,,通過網(wǎng)關(guān)發(fā)送到終端設(shè)備。
2.3 終端設(shè)備
終端設(shè)備可以是能接入互聯(lián)網(wǎng)的手機(jī),、PAD或PC等,,終端硬件平臺類型非常繁多,但目前這些設(shè)備一般都安裝有Web瀏覽器軟件,,運(yùn)行瀏覽器,,輸入一個固定的網(wǎng)址,登錄后就能實現(xiàn)與物聯(lián)網(wǎng)平臺的通信,、控制,。
3 軟件系統(tǒng)的設(shè)計
3.1 總體結(jié)構(gòu)
軟件系統(tǒng)的總體結(jié)構(gòu)如圖2所示。其中,,網(wǎng)關(guān)是一個Web服務(wù)器,,Web服務(wù)器連接實時數(shù)據(jù)庫,制作一實時監(jiān)控軟件用于監(jiān)控數(shù)據(jù)庫的變化,,并將這種變化發(fā)送給單片機(jī)中央節(jié)點(diǎn),,由中央節(jié)點(diǎn)單片機(jī)作出判斷處理,直接作出反應(yīng),,或控制外圍單片機(jī)系統(tǒng)操作其他的電子裝置,。
3.2 Web服務(wù)器
遠(yuǎn)程端的軟硬件條件千差萬別,一般都互不兼容,。如果采用傳統(tǒng)的CS(客戶機(jī)-服務(wù)器)模式,,需要為每種軟硬件平臺開發(fā)客戶端程序,非常不便,。本實驗平臺采用BS(瀏覽器-服務(wù)器)模式,,使用遠(yuǎn)程端自帶的瀏覽器,免除了開發(fā)客戶端程序的負(fù)擔(dān),,而且平臺兼容性非常好,。
網(wǎng)關(guān)接入互聯(lián)網(wǎng),同時,在網(wǎng)關(guān)上安裝Web服務(wù)器軟件,,網(wǎng)關(guān)就可以對外提供Web服務(wù),,接收遠(yuǎn)程客戶端的訪問。
網(wǎng)關(guān)接入互聯(lián)網(wǎng)可以選擇多種方式,。如果有固定IP,,外部只需直接訪問該IP地址。如果是動態(tài)IP,,如ADSL,每次撥號都可能獲得不同的IP,,則需與動態(tài)域名解析配合使用,,才能從固定的域名訪問到網(wǎng)關(guān)。如果是使用NAT等方式接入互聯(lián)網(wǎng),,需要從外部發(fā)起訪問,,能訪問到位于內(nèi)網(wǎng)的網(wǎng)關(guān),則必須使用端口映射,、DMZ主機(jī)等技術(shù),。
Web服務(wù)器軟件選用APACHE,添加PHP的支持模塊,。APACHE是一款廣泛使用,、穩(wěn)定、安全,、高效的開源服務(wù)器軟件,。PHP是一種HTML內(nèi)嵌式的語言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,,語言的風(fēng)格類似于C語言,,安全、高效,,被廣泛地運(yùn)用,。使用PHP進(jìn)行安全認(rèn)證處理,操作數(shù)據(jù)庫,,為遠(yuǎn)程端提供信息,,接收遠(yuǎn)程端發(fā)出的操控信息,將遠(yuǎn)程端的操作寫入數(shù)據(jù)庫等,。
3.3 監(jiān)控,、服務(wù)、通信程序
該程序運(yùn)行在網(wǎng)關(guān)上,,使用Borland C++ Builder 6.0開發(fā),,隨網(wǎng)關(guān)開機(jī)自動運(yùn)行。一方面,該程序負(fù)責(zé)監(jiān)控實時數(shù)據(jù)庫的變化,,如有變化,,則將這種變化發(fā)送到單片機(jī)中央節(jié)點(diǎn),再轉(zhuǎn)發(fā)到其他的單片機(jī)具體執(zhí)行,,實現(xiàn)各種控制功能,。另一方面,該程序負(fù)責(zé)接收單片機(jī)中央節(jié)點(diǎn)發(fā)送給網(wǎng)關(guān)的信息,,如燈的開關(guān)狀態(tài),、溫度、濕度,、紅外報警信息等,,寫入數(shù)據(jù)庫,遠(yuǎn)程端通過訪問PHP程序,,就能得知這種變化或狀態(tài),。
3.4 單片機(jī)程序的開發(fā)
開發(fā)工具使用Keil C51,它是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),,與匯編相比,,C語言在功能上、結(jié)構(gòu)性,、可讀性,、可維護(hù)性上有明顯的優(yōu)勢。Keil提供了包括C編譯器,、宏匯編,、連接器、庫管理和一個功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起,。
開發(fā)過程中,還使用Proteus軟件進(jìn)行硬件電路的仿真[4],,Proteus軟件是英國Labcenter Electronics公司出版的EDA工具軟件,。它能仿真單片機(jī)及外圍器件,是目前世界上唯一將電路仿真軟件,、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,。在編程時,使用Proteus軟件進(jìn)行仿真運(yùn)行,,可以直接驗證運(yùn)行效果,,根據(jù)電路原理圖[5]、PCB設(shè)計圖制作電路,,大幅度提高了開發(fā)效率,。中央節(jié)點(diǎn)單片機(jī)系統(tǒng)電路仿真圖如圖3所示。
經(jīng)過長時間地運(yùn)行和測試,本實驗平臺已經(jīng)基本完善,,適合于研究探索物聯(lián)網(wǎng)新技術(shù),,適合于學(xué)生了解和體驗物聯(lián)網(wǎng)的概念,學(xué)習(xí)軟硬件的開發(fā)設(shè)計與制作等,。本實驗平臺具有實用,、穩(wěn)定、安全的特點(diǎn),,有良好的應(yīng)用前景,。
參考文獻(xiàn)
[1] 黃玉蘭.物聯(lián)網(wǎng)體系結(jié)構(gòu)的探究[J].物聯(lián)網(wǎng)技術(shù),2011(2):58-62.
[2]韓騰.物聯(lián)網(wǎng)體系結(jié)構(gòu)[EB/OL].Http://wenku.baidu.com/view/6331f4c75fbfc77da269b1da.html,,2009.
[3] 杜江.PHP5完全攻略[M].北京:電子工業(yè)出版社,,2010.
[4] 周潤景.基于PROTEUS的電路及單片機(jī)設(shè)計與仿真(第2版)[M].北京:北京航空航天大學(xué)出版社,2010.
[5] 高衛(wèi)東.51單片機(jī)原理與實踐(C語言版)[M].北京:北京航空航天大學(xué)出版社,,2011.