基于GPRS的ZigBee協調器網關設計通信
數據處理程序如圖4所示。在數據處理的過程中,只需要處理數據幀,心跳幀是不用進行處理的,因此有必要對心跳幀進行剔除。由于下位機編程時以十六進制FE作為每個數據幀開始的字節,而心跳幀則為十六進制636F 6F6E,因此在服務器程序進行數據處理前可先檢測數據的幀頭,這樣即可將數據幀和心跳幀分別開來。具體做法便是利用String Subset函數截取每幀數據的第一個字節,然后與十六進制FE比較,再運用Case Structure的方式組織,如果相等,則進行處理,不相等的情況則不采取任何動作,只需保持之前的數據即可。這樣不僅可以避免錯誤接收結果,還可提高程序的運行效率。本文引用地址:http://www.104case.com/article/153651.htm
數據處理部分首先利用String To Byte Array函數將接收的字符串保存為字節數組,然后利用Search1D Array函數搜索到第三個十六進制字節46,進一步增強數據讀取的可靠性,使用Index Array函數將數組中相應的子節點地址、溫度、相對濕度、電壓值字節數據提取出來,并利用數值運算函數及相應的字符串處理函數將需要的參數以十進制字符串形式送到Chart控件中顯示波形。不同節點的信息需要顯示在不同的Chart控件中,此時的實現思路就是判斷不同節點的地址,然后利用Case Structure進入不同的事件結構。在歷史數據的存儲方面主要是通過Write To Spreadsheet File子VI把數據寫入電子表格,以此來實現歷史數據的方便查看。
整個系統經過調試后運行正常,下位機與上位機連接良好,數據傳輸通暢,運行效果如圖5所示。
5 結語
下位機設計的網關能夠選擇性透明發送有效數據和心跳幀字節,不僅提高了發送效率,而且保障了上位機接收數據的可靠性,在服務器與GPRS模塊通信中斷后,會立即重新申請連接直至再次連接成功。上位機程序設計的TCP服務器界面友好而簡潔,能夠分辨出有效數據和心跳幀,并可靠地解析出數據幀的信息,顯示溫度以及濕度的變化趨勢,同時將歷史數據寫入電子表格,方便保存和查看。本系統可移植性強,應用范圍廣,可用與糧情監測以及溫室環境的監測,具有較大的實際參考價值。
tcp/ip相關文章:tcp/ip是什么
數字通信相關文章:數字通信原理
通信相關文章:通信原理
土壤濕度傳感器相關文章:土壤濕度傳感器原理
評論