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