黃充 汪兆棟 王發(fā)良 梅立雪 陳興盛
(景德鎮(zhèn)學(xué)院,江西 景德鎮(zhèn) 333000)
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)作為在一塊被監(jiān)測的地方內(nèi)布置和安裝一定數(shù)量的低功耗小型傳感器節(jié)點,區(qū)域中所有節(jié)點利用無線通信的方法組成的自組織、多跳的網(wǎng)絡(luò)裝置或系統(tǒng),整個系統(tǒng)的功能是協(xié)同地感知、采集并處理監(jiān)控區(qū)中的信息進而發(fā)送給觀測方。由于WSN具有很高的檢測精度、經(jīng)濟性好、組網(wǎng)方便、可靠性好以及操控簡單等優(yōu)點,因而在環(huán)境監(jiān)測、農(nóng)業(yè)現(xiàn)場、智能家居等方面有著非常廣闊的發(fā)展前景,并且已經(jīng)有了一定應(yīng)用。一個典型的WSN網(wǎng)絡(luò)網(wǎng)關(guān)系統(tǒng)如圖1所示。本文設(shè)計并實現(xiàn)了一個基于STM32+ZigBee技術(shù)的農(nóng)業(yè)環(huán)境監(jiān)測系統(tǒng)。通過ZigBee節(jié)點組成無線傳感器網(wǎng)絡(luò),采集農(nóng)業(yè)環(huán)境中的溫度信息,通過協(xié)調(diào)器收集匯總溫度信息,再通過STM32+W5100網(wǎng)關(guān)系統(tǒng)把WSN連入以太網(wǎng),在遠程端發(fā)送命令并查看WSN的網(wǎng)絡(luò)信息和各個節(jié)點采集的溫度信息。
圖1 WSN網(wǎng)關(guān)系統(tǒng)框圖
系統(tǒng)硬件框圖如圖2所示,基于ZigBee協(xié)議的節(jié)點組成自組織的WSN網(wǎng)絡(luò)。協(xié)調(diào)器通過UART等總線和網(wǎng)關(guān)CPU通信,網(wǎng)關(guān)CPU再通過以太網(wǎng)模塊把WSN連入以太網(wǎng),實現(xiàn)遠程監(jiān)控的功能。
圖2 系統(tǒng)硬件框圖
本設(shè)計選用的ZigBee通信節(jié)點的基本電路(見圖3),電路的核心為TI公司的CC2530芯片。圖3中,32.768kHz的晶振主要工作于當(dāng)節(jié)點休眠時工作電流低并且需要精確喚醒的場景;32MHz晶振主要是用于天線的無線數(shù)據(jù)發(fā)送和接收;L1-L2和C4-C7為射頻電路的巴倫(Balun)匹配電路。
圖3 CC2530核心電路
本網(wǎng)關(guān)裝置采用了STM32F103VBT6主控制器加W5100芯片的硬件平臺方案。其中,STM32F103VBT6主控制器是基于ARM Cortex-M3內(nèi)核的32位CPU,工作頻率最高可以到72MHz,片內(nèi)集成128KB Flash,20KB大小SRAM。W5100芯片是WIZnet公司推出的一款以太網(wǎng)芯片,其片內(nèi)支持硬件化的TCP/IP協(xié)議,片內(nèi)集成了16KB的發(fā)射/接收緩存,并且支持SPI總線接口。
具體的W5100電路如圖4所示。電路中,25MHz晶振為系統(tǒng)時鐘源,考慮W5100芯片工作的穩(wěn)定性,芯片的1引腳需要接大小為12.3k精度為1%的片外電阻到地。芯片的TEST_MODE0-3用于選擇芯片的工作模式,本系統(tǒng)選用通用模式(0000)。W5100和STM32主控CPU通過SPI總線接口進行通信。
圖4 W5100電路
本系統(tǒng)的ZigBee通信模塊如圖5所示,紅色的為協(xié)調(diào)器節(jié)點。綠色的為路由器節(jié)點和終端節(jié)點并且用2節(jié)5號電池供電,終端節(jié)點通過DS18B20測溫芯片采集環(huán)境溫度。
圖5 ZigBee節(jié)點
STM32加W5100網(wǎng)關(guān)裝置如圖6所示,ZigBee協(xié)調(diào)器和STM32通過UART總線進行通信,W5100通過網(wǎng)絡(luò)變壓器和網(wǎng)線連入以太網(wǎng)。
本系統(tǒng)中CC2530內(nèi)運行TI公司的半開源的免費的ZigBee協(xié)議棧,實現(xiàn)組網(wǎng)、無線數(shù)據(jù)的收發(fā)功能。PC端通過MFC設(shè)計了一個終端監(jiān)控軟件,實現(xiàn)配置網(wǎng)關(guān)IP、端口,顯示W(wǎng)SN網(wǎng)絡(luò)結(jié)構(gòu),接收WSN節(jié)點溫度信息,向WSN發(fā)送命令等功能。
圖7 監(jiān)控軟件顯示數(shù)據(jù)和網(wǎng)絡(luò)拓補
圖8 監(jiān)控軟件顯示節(jié)點采集的溫度
經(jīng)測試,本系統(tǒng)中ZigBee無線傳感器網(wǎng)絡(luò)可以正常工作,采集環(huán)境中溫度信息,通過自組網(wǎng)把數(shù)據(jù)匯總到協(xié)調(diào)器節(jié)點。協(xié)調(diào)器節(jié)點通過UART接口和STM32進行通信,同時STM32通過W5100芯片實現(xiàn)WSN和以太網(wǎng)互聯(lián)。通過PC端的監(jiān)控界面顯示W(wǎng)SN的網(wǎng)絡(luò)狀態(tài)信息,查看終端節(jié)點采集的溫度信息。同時向WSN發(fā)送相關(guān)的控制信息。本系統(tǒng)適用于如農(nóng)業(yè)大棚種植等農(nóng)業(yè)監(jiān)控方面的應(yīng)用。