宋蕊
(黃河水利職業技術學院 電氣工程學院,河南開封,475004)
隨著人們生活水平的不斷提升,對家居生活各方面功能也提出越來越高的要求,信息技術被廣泛應用于人們生活的方方面面,尤其近年來應運而生的物聯網技術,更是一步步改變了人們理想的智能家居生活方式[1]。智能家居運用先進無線通信技術、計算機技術、傳感器技術、網絡技術,有機結合生活相關家居設備,實現集中管理創造舒適度較高的智能居住環境。作為一個新興產業,有著巨大的消費市場潛力,智能家居系統早在歐美等發達地區有比較成熟的技術經驗,可是國內智能家居系統依然處于發展階段,將從實際出發提出基于C 語言的智能家居監控系統研發思路,這對于我國智能家居市場的未來技術發展有重大意義。
智能家居監控系統具備低能耗、智能化的技術特點,包括寬帶上網、設備監控、遠程管理功能,通過基于家庭網關搭建嵌入式Linux 操作系統軟件平臺,利用以太網與WiFi接口滿足智能家居監控聯網需求,在ZigBee 技術下采集家居設備相關信息,搭建數據庫統一管理設備信息,設計相應功能模塊響應用戶家居設備管理功能[2]。
根據上述分析智能家居監控系統的設計功能需求思路,圖1 為本次設計該系統的總架構,包括家庭網關、家庭內部控制網絡、家庭內部數據網絡、家庭外部網絡。系統的核心組成為家庭網關,經串口連接ZigBee 協調器,能夠運用ZigBee 技術構建家庭內部控制網絡,與各家居設備相連接,經USB 口與無線通信模塊相連接,與外部無線網相接實現遠程監控[3]。

圖1 系統總體方案框圖
本次設計總體方案中,所要實現重中之重即家庭控制網絡與家庭網關,通過網關各模塊實現家庭控制網絡各功能,所以設計家庭網關作為本次設計的重點工作。利用網關ZigBee 協調器完成系統軟件設計,負責智能控制家居設備與信息上報功能,那么家庭網關就要負責信息處理模塊及時處理網關上報具體信息,達到有線、無線撥號模塊,搭設Web 服務器、數據庫,劃分系統包括用戶登錄、設備查詢、設備控制、設備添加、注銷模塊以上幾部分,實現智能家居監控系統的遠程管理功能[4]。
本次系統設計智能家居控制系統的硬件結構(見圖2),包括以下模塊:

圖2 家庭網關硬件結構圖
在智能家居監控系統家庭網關硬件設計中,處理器模塊作為重點設計內容,由于考慮到系統功能復雜性,家庭網關需要滿足監控需求的同時,后續還要向綜合平臺方向發展,因此本次設計選用OMAP3530 雙核處理器,此處理器有著功能低、性能高的技術優勢,具備了高級數字信號處理技術,600Hz處理內核、圖形引擎與視頻加速器,還可以為系統研發人員提供完善軟件開發外設平臺[5]。
為了達到本次設計該智能家居監控系統的家庭網關無線接入,經USB 接口連接處理器芯片,并選用目前在無線通信網絡制式中最高通信速率的SIM5218A 模塊,能夠成功集成GSM、WCDMA、GPRS、EDGE 解決方案套片。不僅可以支持傳統操作指令控制監控系統各功能模塊,還可以實現USB 接口、SIM 卡、UART 異步串口等聯網、語音控制、數據等功能[6]。
ZigBee 技術作為繼Bluetooth 之后提出的無線傳感器網絡新技術,具備了低功耗、短距離、低成本的應用優勢,有自己的無線電標準,能夠在多個微小傳感器之間實現信息的相互協調傳遞,基于ZigBee 聯盟開發通信標準,能夠實現多達65000 個無線節點組成無線網絡平臺[7]。應用本次智能家居監控系統中,可以經串口連接處理器芯片,實現無線控制網絡組網,提供設備各節點與網關通信。
該模塊可以實現連接各家居設備同步上網,選用IP175D交換芯片,集成6端口IP交換控制器、以太網收發器、RMII 接口[8],有著強大的QoS 功能,可以實現流量策略與靈活隊列調度,能夠支持端口和標簽VLAN,在防火墻、路由器、IGMP、IEEE802.1Q 等場合。
根據上述系統設計總思路,系統軟件設計核心關鍵在于家庭網關、寬帶聯網、遠程管理、無線控制等家居設備智能控制。選用嵌入式Linux 操作系統開發平臺,C 編程語言基礎上,構造家庭網關軟件方案,該嵌入式平臺的分層結構,其中UBoot、XLoader 實現初始化硬件設備,建立內存空間映射圖,為實時調用操作系統做好準備。操作系統Linux內核應當支持USB、串口、以太網驅動。在應用層負責系統可實現的業務,根據系統功能需求實現撥號、設備信息處理、遠程管理、數據庫各功能模塊。底層驅動以UBoot、XLoader、以太網、串口實現,應用層的軟件功能模塊。
遠程用戶想要遠程管理智能家居,經互聯網、Web 瀏覽器方式登錄家庭網關,所需用戶授權,經用戶登錄模塊向遠程用戶發送登錄界面,發送包括用戶名與密碼信息的登錄請求,網關服務器在對用戶信息分辨后響應登陸請求,在數據庫內查詢用戶名與登錄密碼的正確與否,正確就同意,錯誤就拒絕。
設備控制包括處理器設備控制模塊及協調器設備控制模塊兩個子模塊,在家庭網關內可以和設備控制響應模塊共同控制家居設備,這也作為無線控制設計中的關鍵所在。用戶在請求遠程控制家居設備時,網關處理器設備執行控制程序,對用戶的家居設備控制請求進行解析,以用戶的控制請求內容為依據,在網關數據庫內查找設備控制的相關信息,對控制需求的合法性與設備ID 號仔細檢查,生成控制指令并向網關串口發送控制指令。網關ZigBee 協調器設備控制程序,經串口利用無線網發送所接收設備控制指令,各自ZigBee 節點接收指令,起動設備控制程序,向各家居設備發送完成編譯處理的控制指令,經空中接口將各ZigBee 節點的執行情況反饋至ZigBee 協調器。向網關處理器經串行口發送智能家居的控制結果,各網關處理器設備信息上報響應程序,對串口實時監測在數據庫內寫入控制結果信息。之后Web 服務器可以向遠程用戶發送控制結果信息,這樣即可在瀏覽器界面遠程看到控制結果。
該功能模塊主要負責對用戶向網關發送查詢請求的實時接收,向數據庫轉發此請求,之后數據庫可以向設備查詢模塊反饋家居設備的目前信息與狀態信息,經Web 服務器轉發給遠程用戶,能夠讓用戶遠程了解智能家居設備的具體運行情況。例如用戶可以遠程調用監控攝像頭對家中兒童、老人的情況實時查看,或者查看照明設備、空調等設備狀態情況??刂平Y果信息同時通過 Web 服務器分發給遠程用戶,遠程用戶將就會在瀏覽器界面上看到控制的結果。
此模塊主要實現了智能家居控制網絡拆除其中某個設備時,可以在系統中刪除該設備的相關數據庫信息,經Web 瀏覽器人機接口界面發起設備注銷請求,網關服務器即可執行此程序,向數據庫發送設備查詢指令,在數據庫內刪除此設備,向用戶反饋查詢刪除結果。
此模塊主要經ZigBee 控制網絡所發來的設備注冊信息執行功能,具體過程為處理器注冊信息響應模塊、協調器注冊信息響應模塊,通過觸發這兩模塊響應,均經無限控制網絡設備注冊模塊,將注冊信息成功發送至網關。此模塊的詳細過程為:設備開機并定期注冊更新,這時家居設備可以經ZigBee 端節點,執行設備注冊程序向ZigBee 協調器發送自身注冊信息。之后成功啟動ZigBee 協調器的注冊信息響應程度,經串行口可以向家庭網關處理器發送注冊信息。然后經家庭網關處理器執行注冊信息響應程序,可以對串口數據實時讀取,這時可以發現此串口信息是否作為設備注冊信息,如果確認則在網關服務器存儲信息,這樣用戶即可應用智能家居系統實時查看管理設備。
在此系統信息上報響應模塊中,主要實現了處理器設備信息上報響應功能,與協調器設備信息上報響應功能,以這兩個功能模塊執行響應操作,可以成功向網關發送設備狀態更改信息。具體過程為:在改變設備發送狀態情況下,家居設備可以經ZigBee 端節點相關設備信息,將自身狀態信息向ZigBee 協調器中上報程序,并經串行口向家庭網關處理器發送設備狀態信息。家庭網關處理器設備信息的上報響應程序,可以對串口數據實時讀取,一旦發現此串口信息更改設備狀態相關信息,可以在網關服務器數據庫中存儲設備狀態信息。
撥號模塊包括兩種:有線撥號模塊、無線撥號模塊。其中有線撥號模塊本文采用的是交叉編譯已有的有線撥號軟件,來完成有線撥號功能,在此就不做詳細的設計。而無線撥號模塊是通過編寫撥號腳本。來建立家庭網關、5G 網絡、Internet 之間的連接。
開發嵌入式Linux 系統一般經過以下過程:建立交叉編譯環境、配置編譯內核、系統引導程序BootLoader、建立根文件系統。通過在此平臺生成可執行代碼,本文采用C語言編程,在PC 端完成代碼編譯,經調試器下載至目標平臺中調試運行,那么在開發嵌入式系統前,就要安裝負責指定操作系統的PC 端為宿主機,設計相應C 編程語言完成操作系統安裝,其中一段C 編程語言示例如下:


在該系統C 編程語言調試階段,均基于SD 卡上完成,所以設計FAT、EXT32,在各區分別拷貝C 編程語言程序,分區支持系統功能即通過C 編程語言搭建智能家居控制系統軟件平臺。
總而言之,本次完成基于C 語言的智能家居監控系統設計,實現了用戶登錄、設備查詢、設備控制、設備添加、注銷模塊等功能模塊,采用C 語言編程,在PC 端完成代碼編譯,經調試器下載至目標平臺中調試運行,實現家庭網關能夠同步智能家居的監控信息,在系統數據庫內存入此類狀態監控信息。