下面以研制完成的溫度無線傳感器網絡系統為例,詳細介紹利用計算機、單片機及藍牙技術實現溫度數據的采集、處理、無線傳輸等功能。
1 系統結構
溫度無線傳感器網絡系統采用數字式輸出溫度傳感器DS18820和單片機AT89S2051組成溫度采集系統。利用重慶金甌公司生產的藍牙內嵌模塊,完成溫度數據的傳輸及控制。實現計算機對溫度數據的無線傳輸、采集和處理。系統邏輯結構如圖1所示,傳感器節點結構如圖2所示。
2 溫度采集系統的設計
DS18820數字溫度計提供9位(二進制)溫度讀數,指示器件的溫度。信息經過單線接口送入DS18820或從DS18820送出。DS181320的電源可以由數據線本身提供而不需要外部電源。每一個DS18820在出廠時已經給定了惟一的序號,任意多個DS18820可以存放在同一條單線總線上。DS18820的測量范圍從-55~+125℃,增量值為-0.5℃,可在1 s(典型值)內把溫度變成數字。
AT89S2051是美國ATMEL公司推出的高效單片機,是一種低功耗、高性能的片內含有2 KB快閃可編程/擦除只讀存儲器的8位CMOS微控制器。利用AT89S2051及DS18820完成溫度采集及傳送。溫度采集系統的硬件設計如圖3所示,軟件設計流程圖如圖4所示。
3 單片機和藍牙模塊的連接
溫度傳感器對采集到的溫度信號進行處理并輸出數字信號,存儲在單片機的寄存器中。在本系統中單片機和藍牙發送模塊的接口采用的是RS 232接口。采集的數據通過藍牙發送模塊傳輸到藍牙接收模塊上,再通過藍牙接收模塊傳輸到主機。最終把采集進來的數據在主機上進行處理。
這里有一個電平轉換的問題。單片機發出的信號是TTL信號,所以在與藍牙模塊進行數據前,需要把它轉化成RS 232電平。本系統中采用MAX232進行電平轉換。接口電路圖如圖5所示。
4 主機與藍牙模塊的連接
主機和藍牙接收模塊之間的數據傳輸采用RS 232串口連接。采集到的數據通過藍牙傳輸到接收模塊之后,通過RS 232接口傳輸到主機上。接口硬件采用金甌公司的藍牙模塊RS轉換器。通信軟件由VC編寫,將傳感器節點測量的數據通過藍牙傳輸到主機,顯示出來以便進行數據處理。主機通信程序主界面如圖6所示。
5 溫度無線傳感器網絡系統設計時應注意的事項
(1)注意硬件及軟件設計的防干擾設計
AT89S2051采用上電復位電路,要注意設置并啟動其內部自帶的看門狗電路。軟件編程時要“喂狗”,以防止外界復雜環境對系統工作的影響。
(2)傳感器節點標識
在傳感器節點發送采集到的溫度數據之前,控制其先發送一個八位的二進制標識碼,主控機通過對這一標識碼的識別,就可以知道所接收到的數據是由哪一個傳感器節點所采集發送的。理論上,這種方法一共可以標識28=256個節點。
(3)傳送數據的校驗
藍牙傳輸系統中,對傳輸的每一幀數據都進行了校驗,而且串口通信對傳輸的每一幀數據也進行了校驗,這就確保了數據傳送的正確性。實驗也證明了系統數據傳送性能良好。
(4)控制各傳感器節點工作時序
系統啟動時,將各個傳感器節點置于停止狀態。當需要哪一個節點工作時,從主機上發送相應的指令,將該傳感器節點激活,使它采集傳輸數據。使用這種方法時,同時工作的傳感器節點不能過多,要保證藍牙跳頻技術能夠解決同時工作的傳感器節點所產生的數據傳輸沖突問題。
DS18820數字溫度計提供9位(二進制)溫度讀數,指示器件的溫度。信息經過單線接口送入DS18820或從DS18820送出。DS181320的電源可以由數據線本身提供而不需要外部電源。每一個DS18820在出廠時已經給定了惟一的序號,任意多個DS18820可以存放在同一條單線總線上。DS18820的測量范圍從-55~+125℃,增量值為-0.5℃,可在1s(典型值)內把溫度變成數字。AT89S2051是美國ATMEL公司推出的高效單片機,是一種低功耗、高性能的片內含有2 KB快閃可編程/擦除只讀存儲器的8位CMOS微控制器。利用AT89S2051及DS18820完成溫度采集及傳送。溫度采集系統的硬件設計如圖3所示,軟件設計流程圖如圖4所示。