王洪濤 吳云飛 薛澤利 李祖君 韓海生
摘 要:本文設計了一種遠程無線溫、濕度監測系統。系統采用溫、濕度傳感器采集信息,然后通過由單片機組成的模塊實現無線傳輸,并將信息通過串口通信傳送給數據處理與發布服務器進行相關的數據處理和信息發布,從而有效地實現在互聯網的任何位置對溫、濕度的實時監控。
關鍵詞:無線數據傳輸;實時監測;傳感器;協調器
中圖分類號:TP249 文獻標識碼:A 文章編號:1671-2064(2018)05-0032-01
無線傳感器網絡又稱之為“Wireless Sensor Network,WSN”屬于一種新興的信息獲取、信息處理技術,主要是部署在監測區內的傳感器協作完成,借助無線通信的方式,形成多條自行組織的網絡系統。能夠實現實時監測、實時感知,實時采集網絡覆蓋區域內的各類環境,各個監測對象,并將監測到的數據發送到終端用戶界面中[1]。無線傳感器網絡擁有較強的抗毀性,同時具備較強的監測精準性、覆蓋面積大的特點。通常是在人無法接近的惡劣環境、危險位置中,借助遠程控制技術實現各項數據的收集。目前,在軍事、遠程監控、環境監測、家庭網絡、搶險救災得到了廣泛的應用,在科技水平背景下,其未來的發展潛力也較大。
1 系統的總體設計
無線傳感器網絡技術,工作于全球統一無需申請的頻段2.4GHz,其協議是依據IEEE 802.15.4技術的物理層和數據鏈路層的標準,并對其進行了完善和擴展而制定的[2]。
整個遠程無線溫度測量系統包括溫測終端、網絡協調器、數據處理與發布服務器以及用戶終端。溫測終端實時采集和發送各監測點的溫度,與網絡協調器構成無線星型網絡,由網絡協調器實現數據的協調和接收,并與數據處理與發布服務器進行串口通信,普通用戶終端可以通過HTTP協議在互聯網的任何位置監控溫測終端的溫度。
2 硬件設計
2.1 溫度采集模塊電路的設計
溫度采集模塊電路的控制器為單片機(型號為AT89S52),溫度傳感器的型號為DS18B20,通過實踐證明,DS18B20溫度傳感器技術是最新的總線數字溫度傳感器,這類傳感器主要是在同一芯片內實現溫度的變換,直接將數字信號輸出,進而提升電路的工作效率。由于現場的溫度采取的是“一線總線”的數字傳輸方式,能夠實現系統抗干擾性的提升,進而提升了CPU的使用效率。將單片機(型號為AT89S52)中的PO與8路溫度傳感器相連接,進而提升溫度數據的采集與應用。以此同時,模塊的RS-232的串行口同RAM建立核心控制模塊通信,實現數據的高效率傳輸。
2.2 無線通信模塊設計
2.2.1 無線節點軟件設計
終端節點是利用溫度傳感器DS18B20,為數字信息溫度傳感器,來采集溫度信息,CC2530對溫度信息進行初步處理,CC2530芯片中集成的RF射頻天線將初步處理的溫度信息以及發送端的信息傳輸到協調器節點。功能上具有有3個模塊:溫度采集模塊,微控制模塊,無線通信模塊[4]。
2.2.2 網絡協調器軟件設計
協調器節點主要功能:接收來自發送端的溫度數據信息和發送端的節點信息,并對信息進行處理,接收端將處理好的信息傳送給上位機進行顯示。功能上主要有:無線通信模塊,微處理模塊,串口通信模塊[5]。
無線模塊主要由電源、復位電路、串口連接電路和無線收發電路組成。TTL電平與PC機的RS232電平并不是兼容的,故在發送數據時,RS232串口數據經過MAX232將電平轉換為TTL電平,再通過CC2530無線發送。接收數據則是發送數據的逆過程,CC2530先接收到數據信號,然后經MAX232將TTL電平轉換為RS232的標準電平,再通過RS232向上位機輸入數據。
3 系統軟件設計
程序設計主要包括幾個方面:各個節點中的功能模塊驅動程序設計,系統組網程序設計,協調器節點與上位機通信程序設計。整個系統軟件的設計包括大部分:數據采集、通信控制、監控中心。數據采集軟件是在無線重點節點單片機上實現運作,主要是將采集到的溫度數據通過無線發送,提升信息發送速度。通信控制軟件的應用,需要單片機的協調,實現無線終端節點依據操作者輸入的指令,開展各項工作,確保數據傳輸的時效性,其數據傳輸也是整個系統的核心控制界面。單片機的語言編制方式為C語言,在服務器上運行監控軟件,實現各項節點工作狀態的實時監控。同時還能夠對下位機的提供的溫度數據進行高效處理,實現數據的顯示、保存,繪圖、加強信息發布管理手段。
3.1 節點軟件的設計
溫濕度采集節點作為(WiFi)無線網絡的一個節點,其主要換工作是檢測環境的溫度、濕度,實現各項數據的保存、處理,進而在LED上顯示溫度數據、濕度數據。若是接收到遠程服務器的不同指令,應該借助串口,將溫度、濕度數據發送到(Wi-Fi)無線收發模塊。還可以設置濕度、溫度的上限參數、下限參數,溫度、濕度采集節點,能夠和遠程服務器TCP/UDP建立通信鏈路,是由(Wi-Fi)無線收發模塊自動開展工作,通過科學配置提升工作質量。單片機(型號為STM32F10)之所以能夠接收遠程服務器上的命令,主要是利用了串口的功能。在整個軟件開發中,Keil uvision3是在集成環境下編寫的,在編寫中應用的是模塊化方法。
3.2 上位機軟件設計
在整個系統設計中,服務器數據采取的是集中控制方式,這也是目前應用最廣的模式之一。各個濕度、溫度采集節點,屬于客戶端在網路分布中的不用位置,通過借助(Wi-Fi)無線網絡,能夠實現數據的遠程傳輸,同時應實現服務器的遠程接收。
本文利用VC++6.0對遠程服務器系統開展設計工作,應用Socket實現編程接口,建立WinSock,將Socket描述出來。實現網絡底層的溝通,在TCP/IP協議的基礎上,建立(Wi-Fi)無線網絡數據通信。
為了有效解決在使用中多個客戶端/服務器通信問題,本文通過對比研究,采取的是非阻塞模式,通過調用Select函數,將各類阻塞問題及時解決。另外,可以借助對話框實現溫度、濕度參數分析顯示、采集數據的發送。整個系統采用多客戶端/服務器模式。服務器程序總體框圖如圖1所示。
4 結語
綜上所述,本文以無線數據傳送模塊為依據,設計出了基于無線技術上的分布式無線溫濕度監測系統。借助模塊能夠將(Wi-Fi)無線網絡的開發時間縮短,借助數字溫度、濕度傳感器采集有效的溫度、濕度數據,節約了系統的運行成本。這類系統的接口較為簡單,且系統具備較強的抗干擾能力,分布式的無線溫度、濕度監測系統可以確保每個節點的觀測,實現各個節點參數的遠程監測。通過遠程服務器還可以接入Internet中,實現遠程監控。系統布線簡單、成本較低、擴展性好,具有較強的應用前景。
參考文獻
[1]高守瑋,吳燦陽,等.ZigBee技術實踐教程[M].北京:航空航天大學出版社,2009.