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