基于藍(lán)牙技術(shù)的溫度無線傳感器網(wǎng)絡(luò)系統(tǒng)
3 單片機(jī)和藍(lán)牙模塊的連接
溫度傳感器對采集到的溫度信號進(jìn)行處理并輸出數(shù)字信號,存儲在單片機(jī)的寄存器中。在本系統(tǒng)中單片機(jī)和藍(lán)牙發(fā)送模塊的接口采用的是RS 232接口。采集的數(shù)據(jù)通過藍(lán)牙發(fā)送模塊傳輸?shù)剿{(lán)牙接收模塊上,再通過藍(lán)牙接收模塊傳輸?shù)街鳈C(jī)。最終把采集進(jìn)來的數(shù)據(jù)在主機(jī)上進(jìn)行處理。
這里有一個電平轉(zhuǎn)換的問題。單片機(jī)發(fā)出的信號是TTL信號,所以在與藍(lán)牙模塊進(jìn)行數(shù)據(jù)前,需要把它轉(zhuǎn)化成RS 232電平。本系統(tǒng)中采用MAX232進(jìn)行電平轉(zhuǎn)換。接口電路圖如圖5所示。
4 主機(jī)與藍(lán)牙模塊的連接
主機(jī)和藍(lán)牙接收模塊之間的數(shù)據(jù)傳輸采用RS 232串口連接。采集到的數(shù)據(jù)通過藍(lán)牙傳輸?shù)浇邮漳K之后,通過RS 232接口傳輸?shù)街鳈C(jī)上。接口硬件采用金甌公司的藍(lán)牙模塊RS轉(zhuǎn)換器。通信軟件由VC編寫,將傳感器節(jié)點測量的數(shù)據(jù)通過藍(lán)牙傳輸?shù)街鳈C(jī),顯示出來以便進(jìn)行數(shù)據(jù)處理。主機(jī)通信程序主界面如圖6所示。
5 溫度無線傳感器網(wǎng)絡(luò)系統(tǒng)設(shè)計時應(yīng)注意的事項
(1)注意硬件及軟件設(shè)計的防干擾設(shè)計
AT89S2051采用上電復(fù)位電路,要注意設(shè)置并啟動其內(nèi)部自帶的看門狗電路。軟件編程時要“喂狗”,以防止外界復(fù)雜環(huán)境對系統(tǒng)工作的影響。
(2)傳感器節(jié)點標(biāo)識
在傳感器節(jié)點發(fā)送采集到的溫度數(shù)據(jù)之前,控制其先發(fā)送一個八位的二進(jìn)制標(biāo)識碼,主控機(jī)通過對這一標(biāo)識碼的識別,就可以知道所接收到的數(shù)據(jù)是由哪一個傳感器節(jié)點所采集發(fā)送的。理論上,這種方法一共可以標(biāo)識28=256個節(jié)點。
(3)傳送數(shù)據(jù)的校驗
藍(lán)牙傳輸系統(tǒng)中,對傳輸?shù)拿恳粠瑪?shù)據(jù)都進(jìn)行了校驗,而且串口通信對傳輸?shù)拿恳粠瑪?shù)據(jù)也進(jìn)行了校驗,這就確保了數(shù)據(jù)傳送的正確性。實驗也證明了系統(tǒng)數(shù)據(jù)傳送性能良好。
(4)控制各傳感器節(jié)點工作時序
系統(tǒng)啟動時,將各個傳感器節(jié)點置于停止?fàn)顟B(tài)。當(dāng)需要哪一個節(jié)點工作時,從主機(jī)上發(fā)送相應(yīng)的指令,將該傳感器節(jié)點激活,使它采集傳輸數(shù)據(jù)。使用這種方法時,同時工作的傳感器節(jié)點不能過多,要保證藍(lán)牙跳頻技術(shù)能夠解決同時工作的傳感器節(jié)點所產(chǎn)生的數(shù)據(jù)傳輸沖突問題。
評論