李 勇,傅成華,張乃川
(1.四川理工學院自動化與電子信息學院,四川自貢,643000;2.青島科技大學自動化與電子工程學院,山東青島,266042)
隨著電子技術的不斷向前發展,計算機硬件上的提升以及軟件編程語言的多樣化,借助電子、電器輔助設備,設計基于嵌入式操作系統的家居智能化控制系統是很有必要同時也是可實現得。所謂“智能家居”就是使用智能化的管理手段對家庭部分電器設備進行的控制、管理,實現家庭住宅環境的高效、便利、舒適和安全。例如,你可以利用手機、平板電腦等移動電子設備或個人電腦對你所居住家庭中的電子、電器設備進行遠程式的交換管理。交換管理包括遠程監控家里的情況,遠程控制家庭電器的使用以及與家人遠距離互動,家里的電器還可以與你進行反向互動。當家里出現安全隱患的時候,智能家居總控制系統會通過自動報警或者短信的形式與你聯系,如通過短信方式告知家庭成員“家居環境出現安全隱患,請注意”。你在家中可以通過情景模式的設定,可以一鍵式的獲得情景預設效果。比如開啟“視頻影音”模式后,系統會自動關閉照明燈光,開啟電視,關閉窗簾后進入影院情景,點擊睡眠模式后,安防系統開啟,燈光環境進入夜間照明模式,夜里起床時,紅外感應輔助的自動照明系統為你帶來最大的便利和安全,起床模式會隨著你手機預設鬧鐘的鬧鈴自動開啟燈光、窗簾等,送給你一個充滿清新活力的早晨,外出的時候,選擇離家情景,系統自動切斷提前配置的設備電源,關閉窗簾,啟動監控系統。
智能家居解決的核心是對已有家用電器設備進行智能化的控制和管理,包括照明系統,室溫系統、廚房系統、衛浴系統、空調系統、安防系統等。為滿足智能家居總控制平臺能夠響應多客戶端(Android 客戶端、LCD 客戶端、WEB 客戶端)連接請求與數據交換,同時需對家居傳感器采集的數據進行管理、攝像頭采集的視頻流信息進行存儲要求。本論文中控制平臺硬件選用S5PC100平臺,該平臺是基于S5PC100 處理器并集成多個外圍模塊(RS232串口、DM9000 以太網控制器、URAT、WIFI、ZigBee、LCD 模塊、USB 攝像頭、存儲器、LED、晶振)組成,S5PC100 處理器的內核是Cortex-A8。Cortex-A8 采用獨有的 L2 緩存,10 級 NEON 媒體流水線(10- stage NEON media pipeline),Cortex-A8 內核具有高性能、低功耗的處理核心并支持Cache、可配置64 位或者128 位AMBA 高速總線接口AXI。Cortex-A8 還擁有獨立的數據/指令MMU 支持ETM 的非侵入式調試。ARM 存儲器系統使用平板式地址映射機制,也可以用Cache 技術、寫緩存技術、虛擬內存和I/O 地址映射技術。
Cortex-A8 平臺是智能家居中心服務器,WIFI 模塊采用的是一對多的形式,即一臺服務器對應多個終端,多個終端可以與服務器進行數據交互。對于 PC 上位機,增加了以太網的通信方式,對于手機,則增加了短信通知的方式。通訊的主要任務包括兩點:第一總控制中心所獲取的全部信息都能被任意客戶端、應用模塊實時獲取。第二客戶端模塊可實現相關反控操作,實時更改總控制中心配置。如LCD 客戶端可以通過WIFI 連接到服務器并獲取家居環境實時數據(如溫度、濕度、光照強度),Android 應用客戶端可以依靠移動3G網絡與Cortex-A8平臺進行遠程通信。
智能家居系統服務器需要通過各種外設接口來獲取家居環境數據信息,也需要通過各外接設備來進行相關響應操作。這些外設包括:NRF905 模塊、溫度、濕度、煤氣、燃氣、雨滴檢測裝置,PWM 驅動的蜂鳴器(用來實現家居自動險情報警)、Camera 攝像頭(采集家居圖像)、LED 顯示燈(服務器工作指示燈)、BTN 按鍵 、LCD 觸摸顯示屏(Qt 圖像界面)、智能遙控模塊(智能WIFI轉紅外射頻),智能遙控模塊用于遠程對家居空調、TV 的操控。
Cortex-A8 服務器為整個智能家居系統的中樞部分也是最為關鍵的部分,負責對系統的總體調度、管理。Cortex-A8 服務器軟件設計如圖3-1
Cortex-A8 服務器主要分為對網絡數據的處理、對網絡控制命令的中轉、對中斷事件的處理、數據的存儲、數據的發送、數據庫更新等。Cortex-A8 服務器同時對環境信息采集數據的接收、響應終端的信息請求(讀取采集到的信息、修改配置信息、進行控制操作)、故障報警信息處理與發送,整個智能家居服務器采取C/S 架構(即客戶端連接服務器)采用Linux 嵌入式多線程、多進程編程并結合同步、互斥機制,同步、互斥機制來對臨界資源(內存中的變量)的保護。
本設計操作系統基于Linux2.6 內核裁剪而成,采用3.4.5交叉編譯器,通過對Cortex-A8 服務器需求分析、軟件設計流程、網絡配置、文件系統制作并掛載成功后,利用Linux 多線程、多進程以及進程間通信中同步、互斥機制進行編程、調試,并針對硬件平臺進行量身定制,主要工作包括內核定制與文件系統集成。調試完成將測試程序移植到S5PC100 開發板中,Cortex-A8 服務器成功運行,Cortex-A8 服務器建立socket 并綁定成功,等待客戶端發起連接請求,連接成功后可進行數據交換與與控制命令的送發,Cortex-A8 服務器能夠在S5PC100 開發平臺穩定運行,若開發平臺突發性斷電,重新上電后,Cortex-A8 服務器可快速恢復。該系統具有高度集成性與可擴展性,在不需要更換硬件條件下就可滿足用戶的不同功能需求,系統兼容性強,能整合其他功能模塊,可實現對住宅環境部分電器設備的遠程操制和設備管理。

圖3-1 Cortex-A8 服務器軟件設計
本設計通過系統移植并安裝、掛載、調試、測試后系統可以通過網絡(socket)連接到Cortex-A8 服務器,客戶端可遠程監控家居實時情況,用戶也可以遠程觸發軟件控制命令來操控家庭電器設備的開關任務,改變傳統手動操縱開關的格局,也可以登錄網絡web 端進行家居情景的查詢。使得我們的家居能使用普通PC、IPAD 等多種終端登錄設備平臺。智能家居系統逐步應用于各城市小區以及工業監控中,伴隨電子產業、軟件設計的漸進改進,未來家居智能化將邁向新的深層次領域。
[1] 馮美利.從實踐中學嵌入式Linux 應用程序開發[M].北京:電子工業出版社,2012.3
[2] 周立功.USB 編程與驅動程序開發[M].第一版.北京:北京航空航天大學出版社,2004.
[3] 明日科技.Android 從入門到精通[M].北京:清華大學出版社.2012,9.
[4] 李睿.基于ZigBee 的移動智能終端在物聯網智能家居中的應用[學術論文].北京.北京郵電大學.2011.P8-15.
[5] 楊小東,陸以勤.家庭網絡技術及相關協議[J].信息技術.2008.P26-29.
[6] 陳美成.KD-DRT 中目標實時Linux 的開發與集成[D].國防科技大學碩士學位論文.2010.
[7] 徐士強.基于ARM9 的嵌入式Linux 系統的研究與應用[D].南京郵電碩士學位論文. 2012.
[8] 韋東山.嵌入式Linux 應用開發完全手冊[M].北京:人民郵電出版社,2008.
[9] 周祖華.基于嵌入式系統家居控制系統研究探討[J].計算機光盤軟件與應用.2011 年5 期.