基于ZigBee的大壩監測系統接收終端研究
4.2 設備驅動程序開發
在Linux操作系統下有兩類主要的設備文件類型,一類是字符設備,另一類是塊設備。字符設備和塊設備的主要區別是:在對字符設備發出讀/寫請求時,實際的硬件I/O一般就緊接著發生了,塊設備則是利用一塊系統內存作緩沖區,當用戶進程對設備請求能滿足用戶的要求,就返回請求的數據,如果不能,就調用請求函數來進行實際的I/O操作。塊設備是主要針對磁盤等慢速設備設計的,以免耗費過多的CPU時間來等待。
本系統主要是對ZigBee模塊的串口驅動,屬于字符設備驅動程序。主要包括open,close,read,write,ioctl等函數,把它們統一定義在結構體file operations中。
4.3 應用程序設計
接收終端的應用程序開發根據系統功能的需求采用模塊化的設計方案,具體有如下幾個主要功能模塊:數據收發模塊、數據存儲模塊、數據查詢模塊、系統界面模塊。本文引用地址:http://www.104case.com/article/153650.htm
手持接收終端軟件采用多線程實現模塊化,主要包括主程序、數據收發線程、數據顯示線程。系統上電后,主程序首先執行,完成系統硬件初始化,配置ZigBee模塊參數,然后創建收發線程、顯示線程兩個線程,如圖4所示。線程任務都結束后,如無系統命令,則ZigBee模塊進入節電模式,主程序退出。收發線程先要調用CreateFile函數打開串口,設置串口參數,通過ZigBee模塊發送控制指令與采集前端建立無線通信,然后調用writeFile函數接收并存儲數據,數據讀寫完畢后關閉串口退出線程。顯示線程負責將接收到的數據經過處理器二次處理后,通過人機交互界面顯示到LCD上。
5 結論
基于ZigBee的大壩監測接收終端,利用低功耗的ZigBee技術將前端采集模塊獲得的大壩結構應力應變、裂縫、滲流滲壓等重要狀態參數,接收并存儲。分析人員可及時由接收終端獲取大壩的參數信息,為大壩的安全評判提供了一種方便可靠的方法。
該技術比傳統方法維護簡單,監測靈活,具有很強的實踐價值。接收終端基于ARM9硬件平臺,嵌入式Linux操作系統軟件平臺和ZigBee無線通信技術,通過無線方式發送接收各種參數,并對數據進行分析、存儲、查詢等操作。工作人員通過人機交互界面可以直觀獲取當前大壩狀態參數信息,并通過歷史數據的分析對比,得出大壩狀態參數的變化趨勢,從而滿足對大壩進行長期實時監測的要求。
評論