999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SNMP的無線傳感網網關的研究

2016-09-26 07:20:11楊立身張安偉
計算機應用與軟件 2016年3期

劉 康 楊立身 王 磊 張安偉

(河南理工大學計算機科學與技術學院 河南 焦作 454003)

?

基于SNMP的無線傳感網網關的研究

劉康楊立身王磊張安偉

(河南理工大學計算機科學與技術學院河南 焦作 454003)

為了解決無線傳感網與互聯網異構通信以及實現無線節點的有效管理問題,考慮SNMP協議的簡單、通用、安全等特性,設計一種基于SNMP的無線傳感網網關。該網關實現無線傳感網與互聯網的數據通信,并基于SNMP協議實現對無線節點的管理。硬件部分,該網關以STM32F103VCT6為核心微處理器,使用SPI接口配合ENJ28C60以太網控制器實現以太網通信接口,使用USART串口配合無線傳感芯片cc2530實現無線傳感網通信接口;軟件部分設計基于LwIP協議棧的私有SNMP代理。測試結果表明,該網關運行穩定可靠,具有一定的實用價值。

SNMPSTM32cc2530串口通信無線傳感網

0 引 言

無線傳感網是由大量傳感器節點組成的自組織網絡,現已廣泛應用到智能家居、工業監控、車聯網及環境監控等眾多領域[1]。無線傳感網網關實現了無線傳感網與互聯網的互聯互通,使管理端可以遠程監控無線傳感網中的節點,并及時獲取節點信息與應用層數據,實現了對無線傳感網的遠程監控和管理。

目前,部分學者設計了一些無線傳感網網關,主要分為兩類,一類是網絡層網關,即對無線傳感網與其他網絡,如GPRS[2]、3G[3]、4G[4]及WIFI[5]等,進行網絡層數據包格式轉換,實現無線傳感網與其之間的數據通信,此類網關缺點是未實現對無線傳感網的遠程監控及管理功能;另一類是應用層網關, 如文獻[6]提出了基于嵌入式Web技術實現的物聯網終端節點管理的方案,文獻[7]設計了基于Modbus協議的無線傳感網網關,該網關實現了無線傳感網與ModbusTCP/IP網絡的互聯互通,并支持管理端對無線傳感網的遠程監控及管理功能,但此類網關的缺點是管理技術與傳統互聯網SNMP管理技術不兼容且安全性差。

本文考慮了SNMP協議的廣泛應用、簡單、安全等特征,設計了一種基于SNMP協議的無線傳感網網關。不僅實現了無線傳感網與互聯網之間的數據通信,而且使管理端可以通過SNMP協議查詢無線傳感網的節點信息及傳感器數據,設置無線傳感網節點變量及獲取無線傳感網異常報警信息,實現了SNMP管理端對無線傳感網的遠程監控和管理。

1 總體設計

本文設計了一種基于SNMP的無線傳感網網關,實現了互聯網與無線傳感網的數據通信功能。如圖1所示,該網關共分為三層,包括硬件層、軟件支持層及應用層。硬件層包括以太網接口、微處理器及ZigBee網絡接口。以太網接口負責實現與互聯網的通信功能;微處理器負責將互聯網數據包與ZigBee網絡數據包進行數據格式轉換;ZigBee網絡接口為協調器類型節點,負責組織建立ZigBee網絡。軟件支持層包括LwIP協議棧和Z-Stack協議棧,為實現上層數據通信提供支持。應用層包括私有SNMP代理和Z-Stack應用層任務。私有SNMP代理負責響應管理端發送的請求報文,將接收到的請求報文進行轉換,然后傳遞給Z-stack應用層任務;Z-Sstack應用層任務實現該請求后將消息返回給私有SNMP代理,私有SNMP代理將其轉換為SNMP協議消息后發送給管理端。

圖1 無線傳感網網關總體結構圖

2 硬件設計

硬件部分采用模塊化設計,如圖2所示,由以太網接口模塊、微控制器模塊及ZigBee協調器模塊組成。以太網接口模塊選取使用ENC28J60控制器,該控制器提供10/100M的傳輸速率,采用SPI接口與微控制器通信;微控制器選擇基于CORTEX-M3內核的STM32F103VCT6微控制器,該控制器具有高性能、低功耗及經濟實惠的特點[8];ZigBee網絡接口模塊選取TI公司的cc2530芯片,該芯片集成高性能8051內核、USART接口及ZigBee射頻前端等[9],支持Z-Stack協議棧中各種節點類型,采用USART接口與微控制器通信。

圖2 硬件結構圖

3 軟件設計

3.1總體設計

軟件部分采用組件化設計方法設計,如圖3所示,主要包括LwIP協議棧、私有SNMP代理及Z-Stack協議棧。LwIP協議棧是由瑞典科學院實現的嵌入式網絡協議棧,開放源代碼且功能穩定[10];私有SNMP代理負責響應管理端數據及控制請求,將收到的數據請求報文或控制報文轉換數據格式后,通過串口交由ZigBee網絡協調器節點;Z-Stack協議棧是TI公司推出的遵從ZigBee2007規范的無線傳感網絡協議棧,本文基于Z-Stack協議棧[11]實現了ZigBee網絡協調器節點,負責組織搭建無線傳感網絡。接收到私有SNMP代理的數據請求或控制報文后,從終端節點收集到數據后發送給私有SNMP代理,或執行控制報文內的操作,并向私有SNMP代理發送確認消息。ZigBee網絡協調器節點發現網絡異常后向私有SNMP發送報警消息,私有SNMP代理收到消息后,根據異常類型做相應轉換后向SNMP管理端發送SNMPTrap報文。

3.2LwIP協議棧

為實現無線傳感網網關的互聯網接口,移植LwIP協議棧到STM32F103VCT6微控制器上,移植步驟如圖4所示。STM32F103VCT6微處理器端USART串口使用中斷方式接收數據,串口初始化過程如圖5所示。

圖4 LwIP協議棧移植流程圖 圖5 串口初始化流程圖

LwIP協議棧移植步驟詳細介紹如下:

Step1初始LwIP協議棧所用的基本數據類型

Step2初始化以太網SPI接口

調用微處理器的庫文件,初始化SPI接口。

Step3初始化systick定時器

初始化微處理器的systick定時器,用于定時輪詢輸入或給LwIP協議棧提供定時。

Step4初始化協議棧

調用lwip_init()函數,初始化LwIP協議棧,為LwIP協議棧所使用的數據結構分配內存,如網卡結構體鏈表、內存池、pbuf數據結構。

設置netif結構體中各屬性,如ip、netmask、gw等網絡接口設置;再調用netif_add()函數完成LwIP協議棧對網卡結構體enc28j60屬性的調用,如數據包發送函數和數據包接收函數。

使用底層網卡初始化low_level_init()函數完成MAC地址、最大傳輸單元等網卡基本屬性的設置。

再使用netif_set_default()函數將enc28j60設置為默認網卡,然后使用netif_setup()函數使能enc28j60網卡接口。

Step5輪詢

使用無限循環調用數據包接收函數完成對網絡接口的監聽,即采用輪詢方式接收數據包。

3.3Z-Stack協議棧

Z-Stack協議棧中自帶有實現串口通信的MT層,調用該層中相關API實現串口初始化,以實現Z-Stack協議棧與LwIP協議棧通信。Z-Stack協議棧輪詢到串口中斷后,調用相應的串口回調函數處理接收到的串口數據,根據接收到的串口數據包類型進行處理。若是查詢信息類串口數據包,則根據數據包中變量信息進行查詢,查詢到該變量信息后封裝成串口數據包發送給LwIP協議棧。若查詢失敗,發送查詢錯誤串口消息。若是設置變量類串口數據包,串口回調函數根據串口數據包的變量信息向目標變量節點發送設置消息,設置成功后發送設置成功串口消息,否則發送設置失敗消息。詳細流程如圖6所示。

圖6 Z-Stack串口數據處理流程圖

3.4私有SNMP代理

LwIP協議棧中已實現SNMP協議,但為實現對無線傳感網網絡管理的需求,如查詢、設置、異常監控,需在LwIP協議棧實現私有SNMP代理,以響應管理端對無線傳感網的上述管理需求。實現無線傳感網網關私有SNMP代理共分為3個部分,即:

(1) 擴展私有MIB庫,在私有MIB庫中定義無線傳感網中需要管理的變量,并實現相關數據結構;

(2) 實現對私有SNMP代理MIB庫變量的查詢、設置操作;

(3) 實現Trap變量異常報警程序。

3.4.1私有MIB庫

限于嵌入式系統有限的存儲資源,私有MIB庫數據結構需要重新使用C語言編碼實現,本網關采用樹形結構定義私有MIB庫,如圖7所示。使用mib_array_node表示樹節點,主要存儲其子節點地址及其子節點數目;mib_scalar_node表示普通標量葉子節點,主要存儲變量OID、讀寫權限及對該變量的get、set操作函數指針;mib_external_node表示外部節點,主要存儲著表格葉子變量鏈表頭節點指針、表格葉子變量讀寫權限及對該變量的get、set操作函數指針;mib_list_root_node用以表示表格葉子變量鏈表head節點,head節點包含表格葉子節點鏈表頭指針、尾指針及鏈表長度等信息;mib_list_node表示表格葉子變量節點,其中包括變量OID及該節點前后指針等信息。

圖7 私有MIB庫數據結構圖

3.4.2變量查詢

如圖8所示,當SNMP管理端需要查詢無線傳感網某變量信息時,發送封裝有SNMPGet消息的IP數據包給網關。網關通過LwIP協議棧接收IP數據包,將SNMPGet消息交由上層私有SNMP代理進行處理,私有SNMP代理在私有MIB庫中查找該變量。然后調用該變量的get函數向ZigBee協調器節點發送串口數據請求報文,ZigBee協調器依據報文中的節點ID和變量名對該報文中的操作進行處理,獲取數據后封裝成串口回應報文發送給私有SNMP代理,若獲取失敗,發送查詢錯誤串口回應報文。私有SNMP代理收到串口響應報文后將其轉換成SNMP協議回應消息通過LwIP協議棧返回給SNMP代理管理端。

圖8 數據查詢協作圖

3.4.3變量設置

如圖9所示,當SNMP管理端需要設置無線傳感網中某變量信息時,發送封裝有SNMPSet消息的IP數據包給網關。網關通過LwIP協議棧接收IP數據包,將SNMPSet消息交由上層私有SNMP代理進行處理,私有SNMP代理在私有MIB庫中查找該變量。然后調用該變量的set函數向ZigBee協調器節點發送串口設置請求報文,ZigBee協調器依據報文中的節點ID、變量名及變量值對該變量執行設置操作,設置變量成功后封裝成串口回應報文發送給私有SNMP代理,若失敗,發送設置錯誤串口回應報文。私有SNMP代理收到串口響應報文后將其轉換成SNMP協議回應消息通過LwIP協議棧返回給SNMP代理管理端。

圖9 設置協作圖

3.4.4異常報警

如圖10所示,當ZigBee協調器發現ZigBee網絡中異常時,發送串口異常報警報文給私有SNMP代理。私有SNMP代理根據串口異常報警報文中的異常信息查找MIB庫中Trap變量。然后將變量名、異常信息封裝到SNMPTrap消息中并向管理端發送該SNMPTrap報警消息。

圖10 異常報警寫作圖

4 測 試

本網關在實驗室中搭建網絡進行測試,測試環境如圖11所示。首先在實驗室搭建測試環境,開發板使用雙絞線與PC相連,開發板自帶有使用cc2530的ZigBee模塊。通過不定向天線與ZigBee網絡中溫濕度、燈開關節點進行通信,測試方案主要包括網絡連通性測試和核心部件SNMP協議測試兩個模塊 。

圖11 測試環境圖

在命令終端上輸入ping網關的IP地址的命令,網關及時返回icmpechoreply報文以確認收到ping報文。測試結果如圖12所示。

圖12 網絡連通性測試

在上位機上運行監控軟件,該軟件基于VisualC++及SNMP++[12]開發,如圖13所示。配置SNMP代理的IP地址及認證名,然后點擊“刷新”按鈕,即可通過無線傳感網網關獲得測試環境內的溫度及濕度。通過點擊“開燈”、“關燈”按鈕即可實現對燈節點的開關控制。監控軟件若收到SNMP代理發送的SNMPTrap報警消息,報警欄會顯示報警信息。

網關測試結果表明,本文設計的網關能夠穩定地實現現有互聯網與無線傳感網之間的數據通信,并穩定地實現了SNMP管理端對無線傳感網的查詢、設置、異常報警等管理需求。

5 結 語

本文設計了一種基于SNMP的無線傳感網網關,該網關軟硬件采用組件化設計方法設計。一方面,該網關實現了無線傳感網與互聯網的互聯互通;另一方面,該網關使管理端可以通過SNMP協議直接監控和管理無線傳感網,實現了基于SNMP協議的互聯網及無線傳感網的網絡管理體系,減少了不必要的中間件的開發。測試結果表明該網關運行穩定可靠,具有實時性、低功耗、成本低、通用性強等特點,具有一定的實用價值。

[1] 錢志鴻.面向物聯網的無線傳感器網絡綜述[J].電子與信息學報,2013,35(1):215-227.

[2] 陳輝.基于ZigBee與GPRS的溫室番茄遠程智能灌溉系統的研究與實現[D].浙江大學,2013.

[3] 劉亮.基于3G的物聯網網關設計[D].大連理工大學,2011.

[4] 王志超,劉波,花於鋒.基于移動4G與ZigBee無線傳感網的網關設計[J].計算機測量與控制,2014,22(3):863-865,878.

[5] 李寶森.醫院智能空間網絡搭建及其定位系統設計與應用[D].山東大學,2012.

[6] 胡亦萬.基于Cortex-M3的LwIP移植以及嵌入式WEB的應用研究[D].南昌大學,2013.

[7] 葉欣,陳文藝,趙健.基于Matlab物聯網網關的Modbus協議實現[J].測控技術,2013,32(2):77-80.

[8] 李冬霞,張雪慶.基于Cortex-M3的智能卡USB讀卡器設計[J].計算機工程與設計,2010,31(12):2729-2732.

[9] 王威,李春杰,張圣,等.一種無線傳感網與現場總線通信網關的設計與實現[J].測控技術,2014,33(1):109-111.

[10] 胡亦萬.基于Cortex-M3的LwIP移植以及嵌入式WEB的應用研究[D].南昌大學,2013.

[11] 劉偉超.基于ZigBee無線傳感網實驗系統的設計與實現[D].華中科技大學,2012.

[12] 劉穎.基于SNMP技術的網絡音頻處理系統的設計[D].哈爾濱理工大學,2013.

STUDYONWIRELESSSENSORNETWORKGATEWAYBASEDONSNMP

LiuKangYangLishenWangLeiZhangAnwei

(School of Computer Science and Technology,Henan Polytechnic University,Jiaozuo 454003,Henan,China)

InordertosolvetheproblemofheterogeneouscommunicationbetweenwirelesssensornetworksandtheInternetandtheproblemofeffectivemanagementofwirelessnodes,consideringthefeaturesofSNMPprotocolsuchassimple,universalandsecure,etc.,wedesignedanSNMP-basedwirelesssensornetworkgateway.ThegatewayrealisesthedatacommunicationbetweenwirelesssensornetworksandtheInternet,andachievesthemanagementofwirelessnodesbasedonSNMP.Inhardwarepart,thegatewayusesSTM32F103VCT6ascoremicroprocessor,usesSPIinterfaceinconjunctionwithENJ28C60EthernetcontrollertoimplementEthernetcommunicationinterface,andusesUSARTserialportinconcertwithwirelesssensorchipcc2530toimplementwirelesssensornetworkcommunicationinterface.Insoftwarepart,wedesignanLwIPstack-basedprivateSNMPagent.Testresultsshowedthatthegatewayranstablyandreliably,andhadcertainpracticalvalue.

SNMPSTM32cc2530SerialportcommunicationWirelesssensornetwork

2014-08-16。劉康,碩士生,主研領域:網絡管理。楊立身,教授。王磊,副教授。張安偉,碩士生。

TP3

ADOI:10.3969/j.issn.1000-386x.2016.03.036

主站蜘蛛池模板: 中文字幕有乳无码| 午夜啪啪网| 国产毛片片精品天天看视频| 这里只有精品在线| 综合社区亚洲熟妇p| 很黄的网站在线观看| 欧美精品v欧洲精品| 亚洲AⅤ永久无码精品毛片| 她的性爱视频| 亚洲高清无码精品| 亚洲中文在线看视频一区| 久精品色妇丰满人妻| 国产成人久久777777| 99精品伊人久久久大香线蕉| 狠狠色狠狠综合久久| 久久久久国产精品嫩草影院| 自偷自拍三级全三级视频| 精品91在线| 国产99欧美精品久久精品久久| a网站在线观看| 国产人妖视频一区在线观看| 激情网址在线观看| 国产剧情国内精品原创| 久久99蜜桃精品久久久久小说| 亚洲无码在线午夜电影| 免费国产小视频在线观看| 亚洲日韩图片专区第1页| 国产精品熟女亚洲AV麻豆| 国产激情无码一区二区免费| 麻豆精品在线播放| 国产精品内射视频| 国产91色| 国禁国产you女视频网站| 91精品啪在线观看国产91九色| 国产手机在线观看| 亚洲一级毛片免费看| 制服丝袜亚洲| 日韩福利视频导航| 日本一区高清| 2020极品精品国产| 97超碰精品成人国产| 四虎成人精品| 91精品久久久久久无码人妻| 国产精品中文免费福利| 国产麻豆精品久久一二三| 免费午夜无码18禁无码影院| 亚洲综合中文字幕国产精品欧美| 永久毛片在线播| 色欲色欲久久综合网| 亚洲成人一区二区| 91www在线观看| 国产精品人莉莉成在线播放| 亚洲日韩每日更新| 精品无码一区二区三区电影| 国产成人精品亚洲77美色| 青青草国产在线视频| 国产剧情国内精品原创| 中文字幕欧美日韩| 精品国产福利在线| 乱码国产乱码精品精在线播放| 日本影院一区| 精品自窥自偷在线看| 精品少妇三级亚洲| 国产特一级毛片| 久久77777| 99er这里只有精品| 国产人成在线视频| h视频在线播放| 亚洲V日韩V无码一区二区| 3p叠罗汉国产精品久久| 久久久亚洲色| 亚洲精品色AV无码看| 国产精选小视频在线观看| 爽爽影院十八禁在线观看| 欧美不卡在线视频| 亚洲浓毛av| 亚洲电影天堂在线国语对白| 伊人欧美在线| 欧美福利在线| 美女内射视频WWW网站午夜| 九九热精品免费视频| 999国产精品永久免费视频精品久久|