版權申明:本文爲博主窗戶(Colin Cai)原創,歡迎轉帖。如要轉貼,必須註明原文網址 http://www.cnblogs.com/Colin-Cai/p/8490423.html 做者:窗戶 QQ:6679072 E-mail:6679072@qq.com
智能家居是指利用先進的計算機技術、網絡通訊技術、綜合佈線技術,將與家居生活有關的各類子系統有機地結合在一塊兒,經過統籌管理,讓家居生活更加溫馨、安全、有效。隨着社會全面的信息化、智能化和網絡化,智能家居的日益普及將是一種必然。html
智能家居做爲一個新生事物,目前處於只有初步概念,還沒有有任何標準的階段。web
本文爲智能家居系統提供一個可能的設計模式以及將來發展的行業方向。算法
智能家居的家庭內部結構,須要包含一個嵌入式的智能網關,做爲家庭智能家居的核心存在。圍繞着智能網關,智能家居能夠擴展性的加入各類方式的節點,用於各類對於家用電器/家庭通訊設備/安防設備/計費儀表/節能設備/傢俱等進行控制與數據交互。另外,智能網關須要提供一我的機交互的手段。其內部的關係拓撲結構以下:sql
圖1 智能家居內部結構shell
Fig.1 The internal structure of the smart home數據庫
考慮到小區可能須要必定的管理,好比包括物業信息傳達,交納費用等,智能家居能夠再往上擴展,並以Internet爲載體,以便於遠程訪問。如下爲可能的小區拓撲結構:設計模式
圖2 小區網絡結構瀏覽器
Fig.2 The structure of the community network安全
小區網關對內和小區內全部家庭的智能家居網關在同一個局域網內,能夠隨時和智能網關進行通訊。小區網關對外接Internet。這樣就能夠從外部經過Internet訪問該小區內任何一個家庭的智能家居。服務器
由上,咱們能夠看出,對於單個家庭的智能家居來講,其智能網關是做爲系統正常工做的核心設備存在的,而對於一個小區全部的智能家居來講,小區網關是做爲關聯全部智能家居系統,提供Internet服務的核心存在。這樣,整個小區的智能家居網絡結構成一個樹形。最頂層是小區網關,第二層是智能網關,第三層是各類類型的節點。樹狀拓撲結構清晰,控制路徑單一,小區網關也能夠分爲多層,對低層的智能家居節點也同樣能夠分爲多層,根據實際狀況而定,但在普通的狀況下,三層是比較廣泛的。
智能家居系統中,節點用來控制家庭的各個部分以及反饋各個部分的相關信息,用於家用電器/家庭通訊設備/安防設備/計費儀表/節能設備/傢俱等。
安防設備中,好比攝像頭,通常採用以太網或者WIFI來作爲通訊手段,而其餘安防設備,好比門禁,通訊數據量並不大,不必定須要較高速率的傳輸手段。
智能計費儀表有些可能帶有各自的無線通訊模塊,電錶採用電力載波(PLC)傳輸比較常見。雖然智能網關通常來講不太會爲了和電錶通訊而加一個電力載波模塊,但能夠設計一個電力載波轉別的通訊的硬件來做爲電錶節點使用。
家用電器通常採用紅外控制,考慮到紅外通訊的傳輸距離問題,傳輸距離最大隻有十米,而且沒法穿越牆壁等障礙,因此智能網關直接使用紅外控制並非可選方案,咱們能夠用一個家電控制模塊去充當節點,而家電控制模塊再經過別的方式與智能網關通訊。
而對於其餘設備,若是在設計中要被應用到智能家居系統之中,也能夠附着其餘節點所已經使用的通訊手段來實現。
對於智能家居系統,考慮到家庭裝修的美觀以及使用的方便,通常不宜採用有線的方式來做爲通訊介質,而採用無線的方式來通訊。WIFI能夠用於大數據量通訊,適合用於攝像頭。儘管WIFI在通訊速率上本能夠作爲全部節點間的通訊手段,但考慮到WIFI用於TCP/IP的通訊,而使用這樣複雜的協議棧對於處理器要求比較高,另外加上功耗比較高,因此在慢速無線通訊的時候,能夠採用其餘相對簡單的無線通訊。除了ISM頻段,其餘頻段須要許可證,用於專用的通訊,因此只能夠在ISM頻段下選擇非WIFI的另一種通訊方式。
目前最經常使用的無線通訊方式除了WIFI外主要有Zigbee/藍牙等。Zigbee和藍牙儘管都適合低速率傳輸,但Zigbee有更增強大的網絡拓撲功能,而藍牙目前最主要用來一對一的通訊。
Zigbee(IEEE802.15.4)技術是2000年以來創建起的一種採用跳頻技術和擴頻技術來實現的無線通訊技術,採用2.4G頻段,該頻段屬於ISM。
IEEE802.15.4標準只是規定了物理層(PHY)和媒體接入控制層(MAC),但設計PHY和MAC的時候考慮到了以後協議擴展的須要,而zigbee在此基礎上再加入了上層協議,包括網絡層和應用層。
除了最簡單的一對一通訊以外,zigbee實現了各類網絡結構,全部的zigbee網絡中,都有惟一的一個核心,稱之爲協調器。除了協調器以外,還有一些其餘的成員,根據網絡中其餘成員與協調器之間關係,能夠分爲星型網絡,以及樹型網絡,還有最複雜的網格網絡。
星型網絡:全部的非協調器網絡成員只與協調器之間直接通訊,成員之間的通訊經過協調器轉發。
樹型網絡:整個網絡拓撲是一個樹型,網絡中兩個網絡成員之間通訊可能須要別的成員進行數據轉發。由於爲樹型,任何兩個非協調器成員之間的通訊路徑單一。
網格網絡:網絡拓撲是一個連通圖,但可能不是樹型,因而可能存在兩個點的通訊路徑不惟一。
對於樹型網絡和網格網絡,稱參與通訊數據轉發的非協調器成員叫路由器,而不參與通訊數據轉發的成員叫節點。
Zigbee的優勢主要有以下幾點:
低功耗:引入休眠和喚醒機制。
低成本:Zigbee協議棧實現簡單,無專利費的門檻。
網絡容量大:當採用網格網絡組網的時候,整個網絡最大的規模能夠到60000以上。一個區域內能夠同時存在最多可達100個不一樣的Zigbee網絡
安全性:採用AES 128位對稱加密算法保障用戶通訊安全,非對稱加密計算複雜度底,使用單片機徹底能夠完成。
通訊可靠:動態組網,網絡拓撲結構可能隨時自動調整。
固然Zigbee也有缺點,缺點主要有以下幾點:
傳輸距離小:Zigbee網絡有效傳輸距離通常10米~75米,這個距離使得覆蓋面積較小。用功率放大器能夠擴大覆蓋範圍。
數據傳輸速率低:鏈路層上的速率只有200Kb/s,在此基礎上,還有幀頭、應答、重傳以及信道競爭等等,因此實際的速率是很低的。
Zigbee的通訊實現簡單,協議棧能夠在一個主頻只有50MHz,RAM只有8k的處理器上運行,對硬件的要求很低。Zigbee動態組網,隨時能夠加入新的節點到網絡,組網方便。Zigbee對於普通不帶路由功能的節點通訊採用休眠/喚醒機制,大多數狀況下硬件能夠處於休眠狀態,功耗能夠很低,兩節5號電池可使用半年之久。
考慮到智能家居系統之中,一些節點可能須要電池去供電,功耗是一個很重要的參考因素。大多數的通訊在於節點狀態彙報,網關發出控制指令等,而這些通訊數據量都很低。從而,設計智能家居系統的時候,能夠考慮使用zigbee做爲智能網關與各個節點之間通訊的手段,採用網格網絡比星型網絡更有優點。在Zigbee網格網絡中,路由器由於隨時須要通訊轉發,因此沒法休眠,耗電量相對較大,設計時能夠考慮使用在一些外部供電的節點上,例如電錶抄表、智能插座;而不帶路由功能的普通節點可使用在一些電池供電的手持設備,例如家電控制模塊。整個Zigbee網格網絡的協調器由智能網關擔當。
如此設計低速無線通訊方案,比較實用、經濟。
做爲家庭智能家居的核心,智能網關的硬件軟件設計上要知足其跟功能性、擴展性的須要。
在處理器的選擇上,能夠選擇基於ARM的處理器芯片,集成視頻/音頻等處理模塊,性價比較高。考慮到網關這裏功能複雜,數據處理量比較大,選擇支持主頻512M以上。
存儲上選擇512M DDR,256M nandflash,知足處理以及存放系統程序的須要,另外,須要SD卡插槽,能夠用來存儲圖象等大數據量文件。
對於攝像頭這樣的高速設備,以太網口是最佳的傳輸方式,由於傳輸穩定,傳輸速率高,但考慮到家庭裝修的美觀以及攝像頭所放位置的隨意,考慮WIFI來做爲傳輸接口。Internet能夠經過家用的WIFI路由器連小區網絡。
對於慢速無線,能夠選擇zigbee做爲傳輸接口。
智能網關能夠做爲手持設備,須要一個手觸屏做爲手持人機交互界面。
同時須要音頻,包括揚聲器和話筒,能夠知足遠程視頻通話、提示音、多媒體以及聲控等方面的須要。
電源可使用外接5V適配器供電。
隨着信息技術的發展,Linux使用的場合也愈來愈多。
Linux的源代碼公開,任何人均可以去下載不一樣版本的Linux源碼,並能夠對源碼作任意的修改,又由於Linux是目前對於目前對POSIX支持最完備的操做系統,不少代碼能夠直接在UNIX和Linux之間移植,因此Linux成爲了目前世界上除了PC機領域以外使用最普遍的操做系統之一。作爲一種重要的操做系統,Linux已經被移植到約20個不一樣的體系結構,至少支持幾百種不一樣的處理器芯片。服務器領域和嵌入式領域裏Linux佔據着不可替代的位置。
在嵌入式領域裏,不管是高端市場,仍是低端市場,Linux都是做爲主流甚至首選通用操做系統而存在。Linux的背後是強大的開源支持,大多數的需求均可以在這些開源支持裏找到支持方案。選擇Linux還在於其操做系統的強擴展性,新的功能/新的任務能夠經過進程的方式臨時運行,其鏡象只是文件系統上的一組文件,軟件升級可能只須要複製幾個文件便可。再加上Linux自帶的一些強大工具,包括shell/awk/sed等腳本解釋工具,以及其餘對於網絡/文件系統/操做系統設置等方面支持的不少系統的工具,使得項目的設計能夠很是靈活。
做爲上層的應用來講,Linux愈來愈成爲大型服務器的首選,而世界各大公司的支持使得Linux很是穩定。
對於智能網關,由於其功能多樣性,須要一個靈活的操做系統做其核心,再者智能家居所提的服務可擴展性的,任什麼時候候均可以加入一個新的設備/新的服務到智能家居系統之中,智能網關在家庭智能家居中充當服務器以及在小區網絡中承上啓下的角色,使用Linux是適合的。
而其餘普遍應用的通用嵌入式操做系統,Andorid主要用於手機這樣的終端手持設備,而winCE則要有版權費用,而且開放的資源不如Linux這麼多。
智能網關須要提供人機交互界面,讓使用者能夠控制整個系統。對於一個成熟的家用產品,面向通常客戶羣體,美觀、易用是設計人機界面的時候須要慎重考慮的。
人機界面主要包含LCD屏幕顯示控制和網絡遠程訪問。
LCD屏幕顯示控制屬於圖形界面。Linux下對於圖形界面的支持比較經常使用的是X架構,但X架構比較龐大,結構比較複雜,資源開銷大,不適合嵌入式的開發。通常對於嵌入式的圖形界面開發,能夠採用挪威TrollTech 公司出品的QT庫來進行開發,這是一個跨平臺的圖形界面庫,支持不少種不一樣的平臺。同時須要考慮多媒體的支持,以知足用戶娛樂方面的須要。
遠程訪問能夠採用web方式,而如今,不管PC機/手機/PAD/掌上電腦等,都帶有訪問web服務用的瀏覽器。這樣遠程控制的時候無需自定義應用層協議,更無需爲不一樣的設備編寫不一樣的客戶端軟件,只要設備中有瀏覽器並能夠接入網絡,就能夠遠程訪問智能網關提供的服務,使用很方便。Linux下有各類不一樣的web服務器能夠選擇,包括Apache、Boa、Lighttpd等,Apache功能強大,但通常用來作大型網站,Boa是單線程服務器,很輕型,相對Apache來講更適合做爲智能網關的web服務器。內部配置等能夠用小型數據庫sqlite3,更加適合嵌入式環境。
軟件設計的時候能夠採用人機交互與具體功能實現邏輯分開。具體功能實現與人機交互程序之間採用進程間通訊(IPC)來交互。這樣結構比較清晰,架構容易擴展。
智能網關的軟件關係以下:
圖3 智能網關軟件結構
Fig.3 the structure of intelligent gateway software
人類天然語言是自然的人機交互手段,使用語言做爲交互接口可使得人機交互更加方便/人性化。
語音識別從屬模式識別,採用信號處理手段實現,通常採用提取高頻信號做爲語音的特徵,而後再進行模糊匹配,獲得各個音節等,而後再進行語法分析/文字匹配來取得最終的意思。
目前語音識別技術發展很迅速,技術已經十分紅熟,世面上早已存在多款應用於手機的語音識別程序。能夠考慮把語音識別系統加入到智能網關中,方便使用。
小區網絡的做用是爲了用戶能夠真正意義上經過Interner實現遠程訪問。
小區架構開篇的時候已經提到,在這裏,小區內全部家庭的智能家居都做爲一個節點接入到小區網絡,這個小區網絡構成一個局域網,每一個智能家居都在這個局域網中有一個惟一的IP地址,而小區網關則做爲一個鏈接外部Internet和內部。
考慮到Internet訪問,對於以前提到的智能網關的設計裏提到智能網關採用web界面,當經過小區網關連上Internet網絡,同樣能夠採用web界面。智能網關在這裏爲每一個家庭智能家居的IP地址配備一個帳號和密碼,當用戶輸入相應的賬號和密碼以後,智能網關可使用http代理服務器把web服務轉接到相應的智能家居上。
小區網關同時也能夠與物業綁定在一塊兒,對內支持小區的各類服務,包括電影、電視劇的播放,小區的建設規劃提醒,各類費用的電子帳單,以及提供購物、送貨等服務。
另外,對於通訊服務,小區網關也能夠爲小區以內的用戶乃至Internet上互相之間視頻電話創建橋樑。
智能家居目前在國際上還沒有達成一致共識,不存在任何標準性的規定,不一樣的公司有本身設計智能家居的思路與實現。換句話說,目前還尚處於智能家居概念造成的時間。
概念造成的過程有其好處,能夠逐漸淘汰掉一些對於用戶實際需求關係不密切的功能,越到之後,越會貼近用戶的實際使用須要。時機成熟的時候,能夠制定這一行業的系統標準化。
標準化能夠包含以下的幾點:
智能家居的概念意義:定義智能家居所涵蓋的範圍,對於家居生活的實際意義所在。
智能家居實現的系統拓撲架構:制定智能家居用於Internet所使用的系統拓撲,制定拓撲結構中每一層的意義。
智能家居所使用的通訊方式:制定包括各個拓撲層次之間的通訊方式,包括物理層/鏈路層/網絡層。
智能家居通訊中所使用的應用層通訊協議:制定包括智能家居內部節點與網關之間的應用通訊協議。
智能家居所提供的系統配置擴展性要求:制定能夠靈活的添加智能家居配置的文件以及添加方式等擴展接口定義。
而包括硬件參數、設備外形、所使用操做系統等則無需作規定,但能夠在標準中建議。這樣有助於系統實現的靈活性,由於集成電路技術的不斷進步,嵌入式操做系統的多樣化,若是標準中規定的太死對於智能家居發展不利。
定義標準的好處在於對於全部的智能家居廠商有個行爲標準,從而可使得不一樣的智能家居產品之間接口兼容,能夠靈活替換,在這樣的基礎之上,智能家居這個大市場能夠有更多的選擇餘地。理想下,小區在智能家居市場中選擇智能家居產品能夠如同像在電子市場選擇不一樣的器件那樣自由靈活,選構系統中的不一樣廠商的不一樣配件就能夠配套成一個完整的智能家居解決方案。
其中系統配置擴展性的標準化也能夠應用於家電廠商,若是家電廠商須要把某個新產品加入到智能家居中應用,也能夠按照標準擴展接口定義爲該新產品定製一個。天然,對於實現擴展,智能網關須要自帶一個擴展接口的解釋器,支持動態加載新的家居配置到系統服務中。
智能家居是爲了提供給使用者溫馨方便的家居服務,易用性、智能化是其核心意義所在。智能家居在系統的實現以後,能夠再考慮整合不一樣的服務,引入人工智能,根據使用者的習慣而自動選擇家居服務,更加方便的知足使用者的須要。神經元網絡是目前比較成熟的人工智能模型,能夠以此爲基礎發展出合適的人工智能實現手段。
智能家居系統採用小區網關、智能網關、應用節點三層架構是合理的。小區網關提供Internet接入,可使用PC機、手機、PAD的各類設備從Internet上接入到智能網關提供的web服務。智能網關和節點之間採用WIFI、Zigbee通訊,從而能夠控制到各個節電,知足家居的要求。在智能家居發展了一段歷程以後,爲智能網關制定行業標準可使得此行業更加規範化,並能夠靈活的加入任意廠家的家電、通訊設備、家居設備到智能家居系統中來。