鐘 科,陳向東
(西南交通大學 信息科學與技術(shù)學院,四川 成都 610031)
隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,將傳統(tǒng)的Internet與新型的無線傳感器網(wǎng)絡整合的趨勢越來越明顯,嵌入式服務網(wǎng)關(guān)既是無線傳感器網(wǎng)絡的協(xié)調(diào)器網(wǎng)關(guān),又是遠程 WEB的服務器,它實現(xiàn)兩個不同協(xié)議的網(wǎng)絡之間的通信。同時也是將無線傳感器網(wǎng)絡接入Internet,從而實現(xiàn)物聯(lián)網(wǎng)概念的關(guān)鍵設(shè)備。
物聯(lián)網(wǎng)服務網(wǎng)關(guān)在未來的物聯(lián)網(wǎng)時代將會扮演非常重要的角色,它將成為連接物聯(lián)網(wǎng)感知層網(wǎng)絡與傳統(tǒng)通信網(wǎng)絡的紐帶。物聯(lián)網(wǎng)網(wǎng)關(guān)可實現(xiàn)感知網(wǎng)絡和基礎(chǔ)網(wǎng)絡以及不同類型的感知網(wǎng)絡之間的協(xié)議轉(zhuǎn)換,既可以實現(xiàn)廣域互聯(lián),也可以實現(xiàn)局域互聯(lián)。并且具有廣泛的感知網(wǎng)接入、通信協(xié)議轉(zhuǎn)換和強大的系統(tǒng)管理等特點[1]。利用嵌入式系統(tǒng)設(shè)計的服務網(wǎng)關(guān)可以有效降低成本,利用家庭智能化的普及。
系統(tǒng)的總體結(jié)構(gòu)如圖1所示。在遠端的移動智能終端或電腦通過Internet訪問到無線傳感器網(wǎng)絡,而嵌入式 WEB服務器提供了交互式的頁面訪問。如果訪問數(shù)據(jù)量大或者需要對數(shù)據(jù)有統(tǒng)計、分析及處理,那么需要建立網(wǎng)頁服務器和數(shù)據(jù)庫服務器[2]。
在物聯(lián)網(wǎng)框架下的智能家居是一個復雜的系統(tǒng),需要多人合作完成,如Internet數(shù)據(jù)庫服務器的設(shè)計、建立感知層網(wǎng)絡。文中重點介紹服務網(wǎng)關(guān)的設(shè)計,包括嵌入式WEB、近程終端、WSN協(xié)調(diào)器3個部分所組成的一體化終端。它是兩個異構(gòu)網(wǎng)之間的橋梁,起著重要的銜接作用[3]。
圖1 系統(tǒng)總體框
本設(shè)計中智能家居系統(tǒng)的硬件由3部分組成:服務網(wǎng)關(guān)、終端節(jié)點和路由節(jié)點。
(1)服務網(wǎng)關(guān)
服務網(wǎng)關(guān)硬件框圖如圖2所示。由ARM主控制器、Zigbee模塊、以太網(wǎng)PHY、TFT-LCD液晶觸摸屏、及最小系統(tǒng)模塊5部分組成。
圖2 服務網(wǎng)關(guān)硬件框
主控制器采用基于 ARM(Cotex-M3)核的STM32F107互聯(lián)型微控制器。它擁有64K SRAM、256K FLASH、以太網(wǎng)MAC等豐富的存儲器及外設(shè)資源。Zigbee模塊是由TI公司的CC2430作為主控芯片,在服務網(wǎng)關(guān)中它是 WSN的協(xié)調(diào)器,通過USART實現(xiàn)與主控制器之間的數(shù)據(jù)通信。以太網(wǎng)模塊采用以太網(wǎng)的物理層芯片DM9161A,通過RMII與主控制器相連接,其50M時鐘由ARM的MCO提供。液晶觸摸屏通過I/O接口與ARM相連,實現(xiàn)人機對話。
(2)終端節(jié)點與路由節(jié)點
傳感器節(jié)點是組成傳感網(wǎng)的最基本單元,主要有射頻通信模塊和傳感器數(shù)據(jù)采集模塊組成。終端節(jié)點與路由節(jié)點的硬件一樣,不同之處主要表現(xiàn)在軟件上。
終端節(jié)點硬件圖如圖3所示。根據(jù)CC2430的特點,它是一款集 Zigbee協(xié)議棧、RF射頻模塊以及增強型51核于一身的SOPC,可以滿足對數(shù)字或模擬傳感器模塊收集的數(shù)據(jù)處理及在 WSN中的通信傳輸任務。
圖3 終端節(jié)點硬件框
系統(tǒng)軟件分為運行于 ARM 上的服務網(wǎng)關(guān)軟件和運行于CC2430模塊上的WSN網(wǎng)關(guān)軟件。
考慮到服務網(wǎng)關(guān)軟件的總體設(shè)計的復雜程度以及層次性模塊化的設(shè)計理念,系統(tǒng)采用嵌入式操作系統(tǒng)uCOS-II作為系統(tǒng)資源的管理,對系統(tǒng)功能任務化。
服務網(wǎng)關(guān)軟件總體設(shè)計框圖如圖4所示。
圖4 服務網(wǎng)關(guān)總體設(shè)計框
服務網(wǎng)關(guān)軟件層次結(jié)構(gòu)分為:底層驅(qū)動層,系統(tǒng)層,應用層。
(1)底層驅(qū)動層
底層驅(qū)動層包括FWLib和BSP。FWLib是ST公司為了對其ARM的支持而推出的驅(qū)動支持軟件,提供系統(tǒng)初始化函數(shù),對中斷和操作系統(tǒng)的支持,存儲器分配以及所有片內(nèi)外設(shè)的驅(qū)動,從而方便軟件的開發(fā)。此外,用戶還應開發(fā)針對應用的板級支持包(BSP),在本系統(tǒng)中 BSP的內(nèi)容主要是應用開發(fā)板相關(guān)的硬件驅(qū)動。
(2)系統(tǒng)層
系統(tǒng)層包括了操作系統(tǒng)和中間件軟件LwIP,操作系統(tǒng)是對軟硬件資源的管理,其他各部分軟件都要以操作系統(tǒng)為中心。操作系統(tǒng)移植的過程中,主要任務是改寫針對處理器和編譯器相關(guān)的部分,向上為應用任務提供支持,向下連接驅(qū)動程序來實現(xiàn)對硬件的操作[4]。LwIP是一個針對嵌入式系統(tǒng)的TCP/IP協(xié)議棧,本程序包含其基本功能:TCP、IP、UDP、ICMP。LwIP的操作系統(tǒng)模擬層提供了向操作系統(tǒng)移植的方便,因其包括了任務間通信的機制:信號量、消息郵箱。
(3)應用層
本設(shè)計根據(jù)模塊化和功能獨立性原則,將所有的應用程序分成7個應用任務,分別是引領(lǐng)全局的根任務,與輸入輸出有關(guān)的按鍵任務和LCD顯示任務,與嵌入式WEB相關(guān)的TCP發(fā)送任務和TCP超時重傳任務,與 WSN協(xié)調(diào)器相關(guān)的串口數(shù)據(jù)發(fā)送任務和Zigbee控制命令任務。
軟件設(shè)計流程分為服務網(wǎng)關(guān)根任務軟件設(shè)計流程和WSN網(wǎng)關(guān)軟件設(shè)計流程。
(1)服務網(wǎng)關(guān)根任務軟件設(shè)計流程
操作系統(tǒng)環(huán)境中,每個任務都是無限循環(huán)的相對獨立的功能模塊,通常都會有一個根任務,它應該被設(shè)定該系統(tǒng)的核心功能業(yè)務。
如圖5為根任務程序流圖,首先板級初始化是對硬件的抽象和封裝,為應用程序提供更友好的接口。然后創(chuàng)建其余6個應用任務,創(chuàng)建格式與創(chuàng)建開始任務類似。最后程序進入 WEB服務主循環(huán)程序,為了讓別的優(yōu)先級低的任務能夠執(zhí)行,必須調(diào)用任務掛起函數(shù)。
圖5 根任務流程
(2)WSN網(wǎng)關(guān)軟件設(shè)計流程
WSN網(wǎng)關(guān)也叫WSN協(xié)調(diào)器,它是整個傳感器網(wǎng)絡的總控制中心和數(shù)據(jù)采集的匯聚點,無線傳感器節(jié)點分布在其覆蓋范圍內(nèi)[5]。
傳感網(wǎng)網(wǎng)關(guān)的軟件流圖如圖6所示。程序開始建立Zigbee網(wǎng)絡,此時網(wǎng)絡中沒有其他節(jié)點。然后進入無線監(jiān)控程序,查找是否有請求加入網(wǎng)絡的信號產(chǎn)生,若有新節(jié)點信號申請則根據(jù)信號類型添加入網(wǎng)并分配網(wǎng)絡號,若不是新節(jié)點,則判定節(jié)點傳輸?shù)臄?shù)據(jù)有效性,有效則接收并發(fā)送到ARM網(wǎng)關(guān),否則丟棄。
圖6 WSN網(wǎng)關(guān)軟件流程
文中系統(tǒng)地討論了物聯(lián)網(wǎng)服務網(wǎng)關(guān)這一項基于物聯(lián)網(wǎng)應用的關(guān)鍵性技術(shù)[6-7],結(jié)合家庭自動化進行應用設(shè)計。在硬件方面,按照嵌入式板級硬件設(shè)計流程,設(shè)計并實現(xiàn)了一種基于 ARM 處理器的低成本網(wǎng)關(guān)硬件。軟件設(shè)計上采用自頂向下和分層的設(shè)計方法,結(jié)合網(wǎng)關(guān)硬件,利用嵌入式操作系統(tǒng)uCOS-II和協(xié)議棧LwIP,搭建了一個應用開發(fā)平臺,為應用軟件的開發(fā)提供了良好的軟件環(huán)境。
[1] 羅俊海,周應賓,鄧霄博.物聯(lián)網(wǎng)網(wǎng)關(guān)系統(tǒng)設(shè)計[J].電信科學,2011(02):105-106.
[2] 鄭娟毅. 基于 ZigBee 技術(shù)的家庭 WSN 及遠程控制研究.電視技術(shù)[J].2010(04):67-69.
[3] 劉勝,陳向東,穆虹,等.結(jié)合 Zigbee和紅外技術(shù)的病房監(jiān)護系統(tǒng)設(shè)計[J].通信技術(shù),2011,43(06):107-109.
[4] LABROSSE J J. 嵌入式實時操作系統(tǒng)uCOS-II[M]. 邵貝貝譯.北京:北京航空航天大學出版社,2003:283-289.
[5] 茍爭旭,周淵平.基于 GSM 和 ZigBee 的遠程無線數(shù)據(jù)采集系統(tǒng)[J].通信技術(shù),2011,43(08):71-73.
[6] 馮彩紅.一種物聯(lián)網(wǎng)的安全應用——信息裝備智慧倉庫設(shè)計[J]. 信息安全與通信保密,2011(07):92-94.
[7] 郭莉,嚴波,沈延.物聯(lián)網(wǎng)安全系統(tǒng)架構(gòu)研究[J].信息安全與通信保密,2010(12):73-75.