基于無線通信的溫度監(jiān)測系統(tǒng)的設(shè)計
系統(tǒng)中所有的節(jié)點都工作在同一信道,同一時刻只能有兩個節(jié)點通訊,并且只有在主節(jié)點對某一節(jié)點有數(shù)據(jù)要求時通信才會連接,其他時間雙方都處于未連接狀態(tài),通訊協(xié)議的實現(xiàn)有效避免了數(shù)據(jù)的沖突,降圖4 主節(jié)點程序流程圖低了系統(tǒng)功耗。
圖4 主節(jié)點程序流程圖
5 軟件設(shè)計
遵循通信協(xié)議,本系統(tǒng)的軟件程序主要包括主節(jié)點的程序設(shè)計,二級節(jié)點的程序設(shè)計和底層傳感器的程序設(shè)計。主節(jié)點程序負(fù)責(zé)整個系統(tǒng)的協(xié)調(diào)工作,系統(tǒng)的數(shù)據(jù)請求命令都是由主控節(jié)點發(fā)出,數(shù)據(jù)的匯總最后也都是有主控節(jié)點完成。二級節(jié)點程序在整個系統(tǒng)起中轉(zhuǎn)作用,底層傳感器程序只負(fù)責(zé)數(shù)據(jù)的采集和發(fā)射。遵循通信協(xié)議,在進(jìn)行各節(jié)點的程序設(shè)計時系統(tǒng)要有一個統(tǒng)一的規(guī)劃,系統(tǒng)為除了主節(jié)點外的每個NRF905 模塊都分配一個不同的地址,整個系統(tǒng)共有220個NRF905模塊,對應(yīng)了220個地址,地址的配置是實現(xiàn)整個通訊協(xié)議的關(guān)鍵。NRF905通訊的特點是兩個NRF905模塊必需具有相同的頻段和地址才能通訊成功,這200多個具有不同地址的模塊要通訊成功必須嚴(yán)格遵守軟件流程,并且除了主節(jié)點以外其他各個節(jié)點在開機(jī)的時候NRF905都被配置一個唯一的地址,且置為接收模式。
主節(jié)點程序設(shè)計是整個通訊的關(guān)鍵,二級節(jié)點的軟件設(shè)計思想和主節(jié)點程序設(shè)計相同。主節(jié)點程序流程圖如圖4所示,主節(jié)點控制器初始化NRF905模塊,配置NRF905的地址為二級節(jié)點1的地址,主控制器置NRF905為發(fā)射模式,發(fā)送數(shù)據(jù)請求命令,因為主節(jié)點配置的是二級節(jié)點1的地址,主節(jié)點發(fā)送數(shù)據(jù)請求命令,只有二級節(jié)點1能夠收到,其它二級節(jié)點接收不到,實現(xiàn)了點對點的通信。主節(jié)點發(fā)送完畢數(shù)據(jù)請求命令后,進(jìn)入等待狀態(tài)1,接收來自二級節(jié)點的應(yīng)答消息,收到應(yīng)答消息后結(jié)束等待狀態(tài)1,進(jìn)入等待狀態(tài)2,接收來自二級節(jié)點的數(shù)據(jù)包,收到數(shù)據(jù)包后結(jié)束等待狀態(tài)2。節(jié)點進(jìn)入等待狀態(tài)后若是沒有收到來自二級節(jié)點的應(yīng)答信息或數(shù)據(jù)包都會延時一定時間自動結(jié)束等待。主節(jié)點控制器重置NRF905的地址為二級節(jié)點2的地址,重復(fù)上述過程,每采集完一個二級節(jié)點的數(shù)據(jù)包后,主節(jié)點控制器都要重置NRF905的地址為下個二級節(jié)點地址,如此循環(huán)直到采集完整個二級節(jié)點的數(shù)據(jù),主控制器通過串口傳送所有數(shù)據(jù)給監(jiān)控主機(jī),傳送完畢后主控制器重新配置NRF905的地址進(jìn)行下一輪數(shù)據(jù)的采集。按照上述流程,主節(jié)點控制器要存放20個二級節(jié)點的地址,這是輪詢通信的關(guān)鍵。
6 結(jié)束語
本文給出了一種具有兩層簇狀結(jié)構(gòu)的無線通信的溫度監(jiān)測系統(tǒng),通信協(xié)議簡單可靠,系統(tǒng)吸取了傳感器網(wǎng)絡(luò)的特點又不需要考慮類似傳感器網(wǎng)絡(luò)中的建網(wǎng)設(shè)計,大大降低了能量消耗。系統(tǒng)的結(jié)構(gòu)簡單體積小,可以廣泛應(yīng)用在大棚溫室測溫、糧庫溫度監(jiān)測、電力開關(guān)測溫等領(lǐng)域。
評論