《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種嵌入式無線智能家居網關系統(tǒng)的設計方案
一種嵌入式無線智能家居網關系統(tǒng)的設計方案
維庫
摘要: 為了實現家庭內部網路與Internet以及GSM網的互聯,,提出了一種嵌入式無線智能家居網關系統(tǒng)的設計方案。該網關系統(tǒng)的硬件平臺以ARM920T核處理器S3C2440為主處理器,,采用ZigBee協議建家庭內部網絡,,而
Abstract:
Key words :

 摘 要: 為了實現家庭內部網路與Int ernet 以及GSM 網的互聯, 提出了一種嵌入式" title="嵌入式">嵌入式無線智能家居" title="智能家居">智能家居網關" title="網關">網關系統(tǒng)" title="系統(tǒng)">系統(tǒng)的設計" title="設計">設計方案" title="方案">方案,。該網關系統(tǒng)的硬件平臺以ARM920T 核處理器S3C2440 為主處理器,, 采用ZigBee 協議建家庭內部網絡,, 而且通過以太網模塊和GSM 模塊接入外部網絡。軟件平臺采用Linux 操作系統(tǒng),, 通過交叉編譯設計網關的應用程序,。最后, 以QtopiaCo re 為嵌入式GUI, 進行家庭網關監(jiān)測應用軟件的功能需求分析,, 設計圖形用戶界面,, 實現家庭內部信息的查詢?;贏RM9 和Linux 的嵌入式網關系統(tǒng),, 可擴展性強, 數據處理速度快,, 使用簡單,, 能夠對家庭網絡內部多項環(huán)境信息進行監(jiān)測。

  0 引言

  智能家居系統(tǒng)是為適應現代化家庭生活而形成的一個形式多樣化的網絡系統(tǒng),。它是現代3C技術(計算機技術,,通信技術,控制技術)與傳統(tǒng)家居系統(tǒng)相結合的產物,,是家居信息化未來的發(fā)展方向,。智能家居網絡通常包括智能家居網關,外部網,,安防設備等,。智能家居網關與其他4個部分連接,交互信息,,對它們進行統(tǒng)一的管理,。此外,智能家居網關還接入外部網絡,,使用戶能夠遠程實時控制管理家庭內部網絡,。

  在本文中,智能家居網絡是指應用于家庭環(huán)境的無線傳感器網絡,。在家庭中,,部署各種傳感器,例如紅外傳感器,,煙霧傳感器,,RFID門磁傳感器來監(jiān)測家庭的一些環(huán)境信息,這些傳感器通過自組織方式就構建了智能家居網絡,。所以本文設計的智能家居網關主要是實現WSN網絡與Internet以及GSM網的互連,。顯然,智能家居網關是整個家庭網絡的核心,,主要實現Internet網,,GSM網的接入,,遠程控制,以及實現協議轉換連接家庭內部異構網絡的功能,。目前基于PC方案的家庭網關不僅成本高,,而且要求計算機一直處于開機狀態(tài),因此,,對于普通的用戶,,家庭網關應采用廉價的嵌入式CPU,,若單是采用8位或者16位的單片機,,由于速度慢且資源有限,不能實現復雜的控制,,效果不理想,。

  因此,以ARM920T核處理器S3C2440為主處理器,,家庭內部通過JENNIC 5139射頻模塊自組織無線網絡,。GSM模塊選用Wavecom GSM模塊。此外,,本文用Qt設計了用戶可操作的觸摸屏界面,。

  1 網關需求分析

  網關系統(tǒng)的主要功能是在現場及遠程終端監(jiān)控家庭各個傳感器的工作狀態(tài),并在異常時報警,。各個傳感器將各自采集的信息,,經過JEN-NIC射頻模塊的無線傳輸,傳送到網關系統(tǒng)上,,通過嵌入式微處理器操作系統(tǒng),,將信息通過有線或者無線方式傳送到遠程終端上或者用戶手機上。網關部署如圖1所示,。

 

網關部署結構圖
 

圖1 網關部署結構圖

  本文要實現的目標有以下3個:

 ?。?)實現用戶在任何時間,任何地點通過遠程無線的方式對家庭內的環(huán)境信息查詢,;

 ?。?)對家庭內部的環(huán)境信息進行實時監(jiān)控,當其中某一項參數超過一定指標時,,以遠程無線方式通知用戶,,發(fā)送報警信息;

 ?。?)*遠程終端的連接請求,,當有遠程Socket連接時網關發(fā)送數據。
 

  2 網關總體設計

  現階段大部分的家庭網關聯網方式主要為有線接入,,本文提出了一種基于ARM處理器和GSM網絡,,以linux為操作系統(tǒng)的家庭網關無線接入方案,,目的是能通過手機短信或者遠程終端對控制節(jié)點進行遠程控制。并使用JENNIC無線射頻模塊實現家庭內部子網采集數據的無線傳輸,。

  網關系統(tǒng)的總體結構圖可以簡化為硬件層和軟件層,。硬件層由高性能的微處理器和多個功能模塊組成。軟件層由嵌入式操作系統(tǒng)以及應用軟件構成,,其具體結構如圖2所示,。

網關總體架構
 

圖2 網關總體架構

 3 家庭網關硬件設計

  本次網關設計的硬件層主要采用嵌入式的ARM9開發(fā)平臺。嵌入式ARM處理器具有體積小,,功耗低,,成本低,性能高等特點,,是十分優(yōu)秀的RISC處理器,。其中三星公司的S3C2440是一款優(yōu)秀的ARM9核心處理器,具有400 MHz的主頻,,內部集成多個功能模塊,,支持NAND-flash啟動等特點,是目前市場上最常見的嵌入式處理器芯片,。因此,,本系統(tǒng)擬采用S3C2440處理器為核心處理器。

  考慮主控制器擴展出來的串行接口數量有線,,程序的調試,,燒寫,傳感器節(jié)點等都需要串行接口,。所以,,選擇了AU9254這款USB PUB芯片來實現USB串行口的擴展。以太網控制器和配合擴展的RJ 45接口主要用于與Internet網絡互聯,。射頻收發(fā)模塊和GSM無線模塊擬采用標準的串口集成到網關上,。人機接口打算使用LCD觸摸屏,可以方便地觀察節(jié)點的配置以及檢測環(huán)境的變化,。JTAG接口將引導加載程序燒寫在網關中,。具體的硬件架構圖如圖3所示。

 

 網關硬件架構圖
 

圖3 網關硬件架構圖

4 家庭網關軟件設計

  4.1 構建網關嵌入式Linux操作系統(tǒng)

  網關系統(tǒng)硬件平臺與功能應用之間,,需要專門的負責管理存儲器分配,,中斷處理以及任務調度等功能的軟件模塊,這就是嵌入式操作系統(tǒng),。嵌入式操作系統(tǒng)是用來支持嵌入式應用的系統(tǒng)的軟件,,包括硬件相關的底層驅動,系統(tǒng)內核,通信協議,,圖形用戶界面等,。

  本文的網關系統(tǒng)是面向WSN和Internet,GSM互聯的通信應用,,主要完成異構網絡之間的通信和控制,,因此需要選擇實時的操作系統(tǒng)。在眾多的嵌入式實時操作系統(tǒng)中,,從開發(fā)成本,,軟件支持和代碼開放的角度考慮,本文將采用Linux操作系統(tǒng)作為網關的系統(tǒng)的操作系統(tǒng),。

  4.2 建立交叉編譯環(huán)境

  交叉編譯就是在一個平臺上生成另一個平臺上可以執(zhí)行的代碼,。這里的平臺包括體系結構和操作系統(tǒng)。同一體系結構上可以運行不同操作系統(tǒng),。同樣,,同一個操作系統(tǒng)也可以在不同的體系結構上運行,。

  本文是在裝有Ubuntu 9.10(基于X86架構的Linux操作系統(tǒng))的PC機上為網關系統(tǒng)建立了基于ARM9的交叉編譯環(huán)境,。建立之后,就可以在PC機上對將在網關系統(tǒng)上運行的應用程序進行編譯,,從而生成可以在網關系統(tǒng)上運行的可執(zhí)行代碼,,最后下到網關系統(tǒng)上。這也就是目前嵌入式程序開發(fā)的宿主機/目標機(HOST/TARGET)模式,。

  Linux交叉編譯環(huán)境的內容,,主要分為4個部分:GCC編譯器(C語言編譯器),二進制工具包(Binutils),,標準C庫(Glibc)和Linux內核頭文件,。Glibc和GCC都有很多版本,需要根據實際需要選擇合適的版本,。

  4.3 網關應用程序設計

  本次網關系統(tǒng)的應用軟件架構圖4所示,。其主要功能是依據傳感器配置文件,分類解析WSN中的數據,,為用戶提供Socket數據服務和XML-RPC遠程調用服務,。其工作流程是:網關程序啟動以后,從XML文件夾中解析所有的傳感器配置文件,;*串口數據,,利用傳感器配置文件解析數據生成XML數據流;創(chuàng)建Socket服務器,,等待客戶端數據請求,,提供XML格式的Socket服務;創(chuàng)建XML-Socket遠程調用服務器,完成用戶的XML請求,。

 

  網關系統(tǒng)的軟件架構
 

圖4 網關系統(tǒng)的軟件架構

  程序設計思路如圖5所示:網關程序啟動,,完成參數初始化,解析XML文件夾下的所有傳感器配置文件,,創(chuàng)建3個類的實例,。4個任務隊列。Serialcomm類創(chuàng)建兩條線程用讀串口和寫串口,,這樣可以保證數據的實時性,。基于同樣的道理,,XMLParser類和XMLComm類也是雙線程并行工作,。這樣就組成了從WSN和Internet的上行通道(圖5中的虛線表示),以及Internet到WSN的下行通道(圖5中的粗線表示),。

網關應用設計思路圖
 

圖5 網關應用設計思路圖

  4.4 人機接口模塊的設計

  人機接口使用的是項目中使用的觸摸屏是240×320 TFT彩屏LCD,。該模塊主要設計以下4個菜單供用戶操作:文件菜單,查詢菜單,,報警菜單和管理菜單,。這部分的設計使用Qt設計。Qt是一個跨平臺的C++圖形用戶界面庫,,由挪威TrollTech公司開發(fā),,目前包括Qt/X11、基于Framebuffer的Qt/Embedded,、快速開發(fā)工具Qt Designer以及國際化工具Qt Linguist等,。Qt的良好封裝機制使其模塊化程度非常高,可重用性較好,,對于用戶來說非常的方便,。Qt API和開發(fā)工具對所有支持平臺都是一致的,從而可以進行獨立于平臺的程序開發(fā)和配置,。它使得跨平臺軟件編程直觀,、簡易和方便。

  本文所有的可視化界面都是通過Qt自帶的工具Qt designer設計,,它是一個可視化的界面設計工具,,對于其每個組件內部的關系通過編寫代碼來實現。

  網關登陸界面主要用于用戶登陸信息的輸入,,包括用戶名和密碼,。用戶正確輸入用戶名和密碼之后,就可以進入網關的主界面,,如圖6所示,,可以看到,,這里有4個菜單,當點擊每一個菜單分別進入相應的功能界面,,例如點擊文件菜單,,可進入配置文件的編輯界面。在此界面上可以修改網關系統(tǒng)的配置文件,。這個界面具有一般文件界面的所有功能,。這幾個界面都比較簡單,比較容易實現,。在此重點介紹監(jiān)控界面的設計,。

網關主界面
 

圖6 網關主界面

  監(jiān)控界面是該系統(tǒng)用戶界面的主要部分。它主要是查看目前家里的環(huán)境信息,。和這相關的文件有query.ui,,ui_query.h,query.h,,query.cpp等,,其中query.ui是Qt Designer設計的主界面函數,如圖7所示,。Ui_query.h是moc編譯器產生的函數,。本文中需要的函數一般都在query.h,query.cpp中得到體現和實現,,主要包括信息的查詢,,這里既可以查看一段時間內家庭內的環(huán)境信息,也可以輸入查詢日期,,查詢某天的數據信息。根據需求,,設計的主要實現函數為:

網關的查詢界面
 

圖7 網關的查詢界面
 

  這些槽函數是根據按鈕要實現的具體功能而設計的,。具體實現在query.cpp中,。

  通過這部分的設計,,實現了網關的人機界面部分,??梢詫νㄟ^此網關系統(tǒng)對家庭信息進行查詢,。

  4.5 報警功能

  該網關的報警功能主要是網關主控制器通過操作串口來操作GSM模塊,,使用AT指令來完成,。在該網關中,,報警功能實現當家庭網絡中的信息超過某一閾值時,,發(fā)送報警信息,。

  5 結語

  本文立足于WSN和Internet,GSM異構互聯研究,,針對WSN與Internet,,GSM互聯的網絡接入要求,完成了基于ARM9的家庭網關系統(tǒng)的研究與設計。從硬件平臺上來說,,提供了豐富的接口以便不同網絡的接入,,從軟件平臺來說,實現了用戶對家庭網關的訪問,,通過用戶可操作的人機界面來對家庭內的環(huán)境信息進行查詢,。當家庭內某一項環(huán)境信息超標時,通過使用AT指令控制GSM模塊來向用戶發(fā)送報警短信,。

此內容為AET網站原創(chuàng),,未經授權禁止轉載。