一種嵌入式無線智能家居網關系統的設計方案
本次網關系統的應用軟件架構圖4所示。其主要功能是依據傳感器配置文件,分類解析WSN中的數據,為用戶提供Socket數據服務和XML-RPC遠程調用服務。其工作流程是:網關程序啟動以后,從XML文件夾中解析所有的傳感器配置文件;*串口數據,利用傳感器配置文件解析數據生成XML數據流;創建Socket服務器,等待客戶端數據請求,提供XML格式的Socket服務;創建XML-Socket遠程調用服務器,完成用戶的XML請求。
圖4 網關系統的軟件架構
程序設計思路如圖5所示:網關程序啟動,完成參數初始化,解析XML文件夾下的所有傳感器配置文件,創建3個類的實例。4個任務隊列。Serialcomm類創建兩條線程用讀串口和寫串口,這樣可以保證數據的實時性。基于同樣的道理,XMLParser類和XMLComm類也是雙線程并行工作。這樣就組成了從WSN和Internet的上行通道(圖5中的虛線表示),以及Internet到WSN的下行通道(圖5中的粗線表示)。
圖5 網關應用設計思路圖
4.4 人機接口模塊的設計
人機接口使用的是項目中使用的觸摸屏是240×320 TFT彩屏LCD。該模塊主要設計以下4個菜單供用戶操作:文件菜單,查詢菜單,報警菜單和管理菜單。這部分的設計使用Qt設計。Qt是一個跨平臺的C++圖形用戶界面庫,由挪威TrollTech公司開發,目前包括Qt/X11、基于Framebuffer的Qt/Embedded、快速開發工具Qt Designer以及國際化工具Qt Linguist等。Qt的良好封裝機制使其模塊化程度非常高,可重用性較好,對于用戶來說非常的方便。Qt API和開發工具對所有支持平臺都是一致的,從而可以進行獨立于平臺的程序開發和配置。它使得跨平臺軟件編程直觀、簡易和方便。
本文所有的可視化界面都是通過Qt自帶的工具Qt designer設計,它是一個可視化的界面設計工具,對于其每個組件內部的關系通過編寫代碼來實現。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論