基于AVR和ZigBee技術的工業園區環境監測系統
數據采集端程序
B、節點發送數據設計
終端節點程序設計
當前本系統擬采用簡單的時分復用解決碰撞問題,在后期研究過程中將考慮利用更有效的其他方式。這樣不同節點在固定時段進行工作,當進入工作周期后,節點進入工作模式根據定時器和MCU的調節工作,當采樣時間到后,節點啟動,采集數據,發送并等待應答,若接收到上級節點的正確應答,就說明數據發送成功,然后進入休眠;否則繼續發送,直到成功(但設定最高次數,超過最高次數就認為出現故障,進行報警),如圖11:
若在節點休眠期間接收到喚醒信號,則響應中斷,保護現場,發送當前數據并等待應答,若接收到上級節點的正確應答,就說明數據發送成功,然后進入休眠;否則繼續發送,直到
成功(但設定最高次數,最高次數就認為出現故障進行,報警)如圖12:
圖11 圖12
較高級節點接收程序設計
進入接收模式的高級節點進行數據接收,并對接收到的數據進行校驗,若正確則發送應答包,回復節點,否則,要求節點繼續發送。如圖13:
圖13
(3)單片機與PC機串行通信軟件接口設計:
軟件系統主要包括PC 機端(即上位機) 和單片機(即下位機) 的通信程序設計。上位機采用VC開發軟件提供的MSComm控件來完成串口數據的發送和接收功能。通過此控件, PC機可以利用串行口與其他設備實現輕松連接,簡單高效地實現設備之間的通信。可以通過串口與上位機(微機)的通信,擬選用接口芯片MAX232。MSComm 控件的事件響應有兩種處理方式:
事件驅動方式和查詢方式。事件驅動方式由MSComm 控件的On2Comm 事件捕獲并處理通訊錯誤及事件;查詢方式通過檢查CommEvent 屬性的值來判斷事件和錯誤。
3.3.2上位機軟件設計
PC機通過接口電路和接口程序從下位機采集到的信息包括:傳感節點的編號,傳感節點的工作狀態,傳感節點采集時的環境變量,所有數據存儲在數據庫中。用戶既可以實時觀測,又可主動查詢。我們打算使用MFC可視化編程設計實現。
(1)用戶查詢程序實現和操作界面設計:
1)監測實時動態顯示界面(以溫度為例)
圖14實時監測示例
2)歷史數據回查界面示例
圖15歷史數據回查示例
評論