肖正洪
摘要:物聯(lián)網(wǎng)網(wǎng)關(guān)發(fā)揮著連接傳統(tǒng)信息網(wǎng)絡(luò)與感知網(wǎng)絡(luò)的重要作用,本設(shè)計(jì)提出了一種嵌入式智能網(wǎng)關(guān)的實(shí)現(xiàn)方案,該網(wǎng)關(guān)硬件上集成了多種協(xié)議的數(shù)據(jù)收發(fā)模塊,在軟件的控制下能夠?qū)崿F(xiàn)不同類型感知網(wǎng)絡(luò)的同時(shí)接入,可應(yīng)用于多種場(chǎng)合。
關(guān)鍵詞:物聯(lián)網(wǎng);網(wǎng)關(guān);嵌入式
物聯(lián)網(wǎng)就是物物相連的互聯(lián)網(wǎng),物聯(lián)網(wǎng)網(wǎng)關(guān)則是聯(lián)系它們之間的主要橋梁,而且在整個(gè)物聯(lián)網(wǎng)體系當(dāng)中具有不可替代的作用。本文將對(duì)物聯(lián)網(wǎng)網(wǎng)關(guān)進(jìn)行介紹、對(duì)物聯(lián)網(wǎng)網(wǎng)關(guān)硬件的設(shè)計(jì)以及物聯(lián)網(wǎng)網(wǎng)關(guān)軟件的設(shè)計(jì)進(jìn)行研究。
一、物聯(lián)網(wǎng)系統(tǒng)的分析
物聯(lián)網(wǎng)網(wǎng)關(guān)作為物聯(lián)網(wǎng)的基礎(chǔ),其作用不容忽視,具備感知網(wǎng)絡(luò)接入、互通不同網(wǎng)絡(luò)、遠(yuǎn)程監(jiān)控三種能力。
感知網(wǎng)絡(luò),感知網(wǎng)絡(luò)是由多個(gè)功能傳感器網(wǎng)絡(luò)組成,比如:攝像頭、讀卡器等,由于這些傳感器所獲得的信息不同,導(dǎo)致它們沒(méi)有固定的方式接入,目前主要有有線與無(wú)線的區(qū)別。就目前的情況來(lái)看,有線接入相對(duì)比無(wú)線接入速度慢,無(wú)線接入目前使用的藍(lán)牙、無(wú)線網(wǎng)絡(luò)都能夠進(jìn)行快速的傳送,特別是無(wú)線網(wǎng)絡(luò)已經(jīng)廣泛的用于手機(jī)等設(shè)備中,應(yīng)用范圍十分廣闊,因此,隨著無(wú)線網(wǎng)絡(luò)發(fā)展的越來(lái)越好,日后也必將能成為主要的接入方式。
異構(gòu)網(wǎng)絡(luò)互通,由于傳感器的不同,感知的信息也不同,那么就造成了數(shù)據(jù)之間的分離,交流數(shù)據(jù)就會(huì)相對(duì)麻煩,因此,就要求設(shè)置一個(gè)協(xié)議網(wǎng)絡(luò)在中間發(fā)揮作用,目前比較常用的協(xié)議網(wǎng)絡(luò)主要是Modbus協(xié)議網(wǎng)絡(luò),在許多領(lǐng)域都得到了有效的利用。
檢測(cè)控制管理,物聯(lián)網(wǎng)當(dāng)中的檢測(cè)控制管理主要是對(duì)數(shù)據(jù)信息進(jìn)行監(jiān)控和管理,首先是網(wǎng)關(guān)中的不同功能模塊,能夠進(jìn)行更加靈活的控制,實(shí)現(xiàn)操作簡(jiǎn)單、人機(jī)友好;其次是對(duì)網(wǎng)絡(luò)連接的集中管理。因此,檢測(cè)控制管理不僅僅是對(duì)自身的監(jiān)控,還能夠?qū)?lái)自外來(lái)的網(wǎng)絡(luò)進(jìn)行控制和管理。
二、網(wǎng)關(guān)硬件設(shè)計(jì)
為實(shí)現(xiàn)上述物聯(lián)網(wǎng)網(wǎng)關(guān)的基本功能,需要先構(gòu)建一個(gè)嵌入式的最小系統(tǒng),在此系統(tǒng)上運(yùn)行嵌入式操作系統(tǒng)作為實(shí)現(xiàn)上層功能的基礎(chǔ),然后擴(kuò)展出各通信協(xié)議對(duì)應(yīng)的硬件通信模塊,實(shí)現(xiàn)網(wǎng)關(guān)與互聯(lián)網(wǎng)和傳感網(wǎng)的數(shù)據(jù)信息交互。
在本智能網(wǎng)關(guān)的設(shè)計(jì)中,采用AT91SAM9X35微處理器,DDRAM、時(shí)鐘電路、NANDFLASH構(gòu)建核心最小系統(tǒng)處理電路,其中AT91SAM9X35是基于ARM926EJ-STM的微處理器,內(nèi)部集成了UART控制器,Can控制器,以太網(wǎng)適配器和RS485等控制器的功能,具有較好的處理能力。在外圍電路中,擴(kuò)展接入了各協(xié)議的數(shù)據(jù)收發(fā)芯片,從而在微處理器的控制下進(jìn)行各類信號(hào)的傳輸工作。設(shè)計(jì)中采用DM9161A芯片實(shí)現(xiàn)以太網(wǎng)數(shù)據(jù)通信,通過(guò)串口接入CC2430模塊,實(shí)現(xiàn)Zigbee通信,通過(guò)TJA1050收發(fā)芯片和ADM2483收發(fā)芯片分別實(shí)現(xiàn)Can和RS485的數(shù)據(jù)通信。硬件結(jié)構(gòu)如下圖所示。
三、網(wǎng)關(guān)軟件系統(tǒng)實(shí)現(xiàn)
網(wǎng)關(guān)系統(tǒng)軟件除了協(xié)調(diào)硬件實(shí)現(xiàn)數(shù)據(jù)的收發(fā)功能外,還要實(shí)現(xiàn)數(shù)據(jù)的解析和處理,轉(zhuǎn)發(fā)和存儲(chǔ),遠(yuǎn)程交互和安全訪問(wèn)控制等功能。為了更好的分塊實(shí)現(xiàn)這些功能,本設(shè)計(jì)將網(wǎng)關(guān)分為Web服務(wù)器部分和傳感網(wǎng)服務(wù)器部分,這兩大部分都屬于應(yīng)用層軟件的范疇,建立在嵌入式Linux操作系統(tǒng)之上。
(一)操作系統(tǒng)層軟件
選用嵌入式Linux系統(tǒng),其特點(diǎn)是代碼開放,性能優(yōu)異,軟件易于移植。將Linux操作系統(tǒng)移植到網(wǎng)關(guān)硬件電路的關(guān)鍵步驟,就是對(duì)各硬件設(shè)備的驅(qū)動(dòng)進(jìn)行相應(yīng)的移植。物聯(lián)網(wǎng)網(wǎng)關(guān)中用到的設(shè)備驅(qū)動(dòng)主要有以太網(wǎng)驅(qū)動(dòng),串口驅(qū)動(dòng)以及Can和485總線驅(qū)動(dòng)等,這些驅(qū)動(dòng)程序?yàn)樯蠈討?yīng)用軟件對(duì)硬件收發(fā)器的控制提供了良好的支持。嵌入式Linux下開發(fā)的應(yīng)用程序可以比較容易的移植到運(yùn)行Linux的其他嵌入式系統(tǒng)中,這非常利于物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備的推廣。
(二)Web服務(wù)器
Web服務(wù)器部分實(shí)現(xiàn)網(wǎng)關(guān)與上層傳輸網(wǎng)絡(luò)的通信,為遠(yuǎn)程應(yīng)用終端監(jiān)控傳感網(wǎng)節(jié)點(diǎn)設(shè)備提供良好的交互界面?;ヂ?lián)網(wǎng)遠(yuǎn)程終端通過(guò)Web網(wǎng)頁(yè)可以查詢傳感網(wǎng)節(jié)點(diǎn)設(shè)備的狀態(tài)信息,對(duì)該節(jié)點(diǎn)發(fā)出控制命令,也可以通過(guò)Web網(wǎng)頁(yè)查看設(shè)備列表并管理設(shè)備。程序流程如下,接收終端通過(guò)瀏覽器發(fā)來(lái)的8080端口請(qǐng)求,該請(qǐng)求通過(guò)TCP協(xié)議傳輸,調(diào)用CGI模塊,該模塊進(jìn)程是Web服務(wù)器的子進(jìn)程,通過(guò)環(huán)境變量獲取瀏覽器請(qǐng)求中的相關(guān)信息,然后與傳感網(wǎng)服務(wù)器通信,獲取相應(yīng)數(shù)據(jù),再將結(jié)果處理成HTML網(wǎng)頁(yè)格式的數(shù)據(jù)發(fā)回給瀏覽器。在CGI模塊中,設(shè)置了用戶登陸認(rèn)證模塊,該模塊使得只有網(wǎng)關(guān)認(rèn)可的用戶才有資格對(duì)傳感網(wǎng)的結(jié)點(diǎn)設(shè)備進(jìn)行查詢和控制操作,從而提高了網(wǎng)關(guān)的安全性。
(三)傳感網(wǎng)服務(wù)器
傳感網(wǎng)服務(wù)器是實(shí)現(xiàn)網(wǎng)關(guān)與傳感網(wǎng)通信功能的部分,各傳感網(wǎng)網(wǎng)絡(luò)的數(shù)據(jù)在此處匯聚。其結(jié)構(gòu)如下,數(shù)據(jù)傳輸功能由多線程程序?qū)崿F(xiàn),一個(gè)線程負(fù)責(zé)一種傳輸協(xié)議。Web服務(wù)器或?qū)iT編寫的客戶端程序可以通過(guò)TCP協(xié)議與傳感網(wǎng)服務(wù)器通信,通信端口設(shè)為8088端口。傳感網(wǎng)服務(wù)器在接收到命令請(qǐng)求后,會(huì)將接收的命令先放入命令緩沖池排隊(duì)等待處理,命令緩沖池中命令的存入和提取處理通過(guò)生產(chǎn)消費(fèi)者原理模型實(shí)現(xiàn)。傳感網(wǎng)節(jié)點(diǎn)上傳的數(shù)據(jù)存儲(chǔ)在設(shè)備信息表的數(shù)據(jù)數(shù)組中,供其它程序調(diào)取處理。
(四)安全防護(hù)措施
Web服務(wù)器部分設(shè)置了用戶認(rèn)證模塊,可有效的防止非法用戶通過(guò)物聯(lián)網(wǎng)網(wǎng)關(guān)對(duì)傳感網(wǎng)節(jié)點(diǎn)的操作。傳感網(wǎng)服務(wù)器工作中會(huì)接收Web服務(wù)器或客戶端軟件的命令,為防止他人非法向傳感網(wǎng)服務(wù)器發(fā)送命令請(qǐng)求,特別設(shè)置安全密匙KEY機(jī)制,Web服務(wù)器和客戶端軟件內(nèi)設(shè)置了與傳感網(wǎng)服務(wù)器相同的KEY信息,每次命令的收發(fā)都要驗(yàn)證KEY值,驗(yàn)證失敗時(shí)傳感網(wǎng)服務(wù)器將拒絕接受命令,從而在高效數(shù)據(jù)通信的同時(shí)也保證了網(wǎng)關(guān)的安全性。
綜上所述,物聯(lián)網(wǎng)網(wǎng)關(guān)的開發(fā)與設(shè)計(jì)主要采取嵌入式系統(tǒng),能夠滿足人們生產(chǎn)和生活的需要。隨著社會(huì)的進(jìn)步和科學(xué)水平的不斷提升,相信在不久的將來(lái),物聯(lián)網(wǎng)系統(tǒng)會(huì)更加完善。
參考文獻(xiàn)
[1]何立民.從嵌入式系統(tǒng)視角看物聯(lián)網(wǎng)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(10)
[2]楊輝,王毅.物聯(lián)網(wǎng)與嵌入式系統(tǒng)的關(guān)系研究[J].計(jì)算機(jī)與現(xiàn)代化,2011(8)