摘 要: 智能家居是融合了自動化控制技術、計算機網絡技術和網絡通信技術于一體的網絡化、智能化的家居控制系統。智能家居嵌入式無線網關的功能是將家庭本地的ZigBee網絡與Internet和GSM等外網連接,用戶可隨時隨地通過瀏覽器和手機監控與管理家居環境和設備。網關的設計以ARM Cortex-M3為核心,Linux為平臺操作系統,構建嵌入式Boa服務器,實現家庭內網與Internet的通信。GSM模塊發送報警信息到用戶手機。經測試,智能家居網關具有良好的穩定性和可靠性,具有普及推廣的參考價值和應用前景。
關鍵詞: 智能家居;網關;ZigBee;無線網絡;遠程監控
0 引言
智能家居是一個新興產業,隨著國家推動信息化、智能化城市發展的進程,智能家居近幾年得到了快速發展,市場消費潛力巨大。智能家居以住宅為載體,利用先進的計算機技術、網絡通信技術、綜合布線技術、自動控制技術、安全防范技術、音視頻技術,集成家庭日常生活的各類設施,實現高效的住宅管理,構建安全便利、藝術舒適、環保節能的居住環境。
智能家居網關的功能是將Internet或者GSM等外網與家庭本地網絡連接通信。家庭本地網絡通過建立網絡以實現對家居環境的數據采集與電器設備的控制,如通過對家庭亮度、溫度、濕度、可燃性氣體的監測,對燈光、窗簾、空調、加濕器、報警裝置等設備實現自動控制;通過網關,用戶可以通過遠程PC、手機、互聯網電視等終端來監控智能家居。
目前主流的無線通信技術包括紅外技術、家庭無線電射頻技術、WiFi技術、GSM技術、ZigBee技術,這些技術各有優缺點,無法獨自擔當智能家居無線網絡體系傳輸的重任[1]。ZigBee傳輸速率為250 kb/s,家居環境的數據采集與電器設備的控制需要傳輸的數據量不大且數據結構相對簡單,因此家庭內網采用ZigBee技術可以滿足智能家居架構內部的網絡需求[2];WiFi的速率為11 Mb/s,屬于高速網絡,可滿足用戶方便地通過Internet網絡監控,而全球應用最廣泛的移動電話GSM標準,可滿足用戶隨時隨地通過手機遠程監控。本文設計的智能家居嵌入式無線網關的功能是將家庭本地的ZigBee網絡與Internet和GSM網絡等外網連接,用戶可以通過外網對本地網絡進行遠程監控。
1 網關的硬件結構
1.1 總體架構
為實現多種無線網絡融合的智能家居系統,嵌入式智能網關的硬件設計由處理器、無線收發模塊、以太網模塊和GSM模塊等組成。無線收發模塊與智能家居的ZigBee網絡通信,ZigBee網絡包括協調器、各類傳感器終端節點,具體包括溫/濕度采集節點、可燃氣體報警信號采集節點以及各控制節點。以太網模塊將網關連接入Internet網。GSM模塊具有發送SMS短信、語音通話、GPRS數據傳輸等基于GSM網絡進行通信的所有基本功能。網關硬件結構如圖1所示。
處理器選用ST公司的基于ARM Cortex-M3內核的STM32F103型號單片機[3]。STM32F103工作頻率達到72 MHz,內置高速存儲器。調試模式有2種,串口調試和JTAG接口,本文中采用串口調試方式。STM32F103接口豐富,有2個T2C接口(SM-Bus/PMBus)、5個USART接口、3個SPI接口等。這些特性足以滿足本網關設計的要求。
1.2 無線收發模塊
無線收發模塊采用TI公司的CC2530芯片。它結合一個高性能2.4 GHz DSSS射頻收發器核心和一顆工業級小巧高效的8051控制器。系統內具有可編程閃存、 8 KB RAM和許多其他強大的功能。CC2530具有休眠模式,而且轉換到主動模式的時間超短,特別適合智能家居中要求長期使用避免頻繁換電池的需求[4]。CC2530模塊通過SPI接口與處理器相連接,采用3 V紐扣鋰電池供電。
1.3 以太網模塊
以太網控制芯片選用DM9000A,是臺灣DEVICOM公司研發的10 M/100 M自適應以太網控制器芯片,它能滿足數據傳輸需要并且性價比高、占用資源少,在工業上得到廣泛應用。圖2是以太網控制器與處理器的連接圖。處理器通過FSMC總線連接以太網控制芯片,即FSMC D0~D15腳按順序連接到DM9000A的SD0~SD15;FSMC A2連接CMD,當CMD值為1時,處理器訪問DM9000A的數據寄存器;當CMD值為0時,處理器訪問DM9000A的地址寄存器。IOR與IOW分別控制DM9000A的讀和寫。CS是芯片的片選信號線,INT為中斷,PWRST是外部復位管腳。
1.4 GSM模塊
GSM模塊采用SIMCom的無線模塊SIM300。SIM300是一款4頻GSM/GPRS模塊,工作頻率為GSM/GPRS 850/900/1800/1900 MHz,可以低功耗實現語音、SMS、數據和傳真信息的傳輸。SIM300的尺寸大小為40×33× 2.85(mm),能適用于M2M應用中的各類設計需求,尤其適用于緊湊型產品設計。該模塊使得用戶可以通過隨身攜帶的手機對家里環境進行監控,一旦有緊急情況發生,報警信息會發送到手機,方便用戶第一時間處理。
2 網關軟件設計
ARM Cortex-M3采用免費開源的Linux作為平臺操作系統,Linux占用資源小、內核可裁剪、移植方便,能滿足智能家居網關的設計要求[5]。
2.1 網關與Internet通信
嵌入式的Web服務器目前主要有Boa、Goahead、Thttpd、Shttpd、Appweb和Apache等。嵌入式設備的資源相對有限且并不需要并發處理多用戶需求,因此本設計采用開源的Boa服務器[6]。它占用資源小,支持CGI程序,性能優越。CGI(Common Gateway Interface,公共網關接口)運行在服務器上,提供同客戶端HTML頁面的接口[7]。
在嵌入式ARM服務器的Linux操作系統上安裝Boa網頁服務器,當服務器接受用戶通過瀏覽器發送的請求,Boa通過CGI方式調用C語言程序獲取家居本地網絡的狀態信息,再返回給瀏覽器頁面。處理步驟如下:
(1)用戶請求通過IE瀏覽器發送給Boa服務器;
(2)Boa服務器接受用戶請求并傳送給CGI程序處理;
(3)CGI程序讀取各傳感器節點的狀態數據并傳送給Boa服務器;
(4)服務器將處理結果返回給用戶。
服務器中網頁采用HTML語言來編寫,腳本采用Javascript,例如從家庭內網獲得室溫狀態數據,對應的Javascript腳本程序如下:
<head>……
<script language="javascript"type="text/javascript"src="/jquery.js" charset="utf-8">
</script>
</head>
<script language="javascript">
function start_fun(){
get_temperature();}//調用獲取溫度函數
function get_temperature(){//定義溫度獲取函數
var u=function(txt){
document.getElementById("temperature").value=txt; //接收服務器發送的溫度信息
disableButtons(flase);}
jQuery.post("/cgi-bin/get_temperature.cgi","",u);}
//向服務器發送獲取溫度命令
</script>
2.2 網關與GSM通信
GSM模塊與系統ARM處理器串口方式連接,通過AT指令集進行通信[8]。SMS_flag標志位表示處理器的短信緩沖區數組是否有內容,當有內容時,標志位設為1,當內容被讀取后,標志位設為0。處理器通過發送AT指令到GSM模塊后,等模塊返回“OK”,則模塊與控制器通信正常。接著檢測數據標志位,data_flag標志位等于1,則有數據發送,調用短消息發送函數SMS_sendout()發送數據,發送成功則結束,否則重新調用短消息發送函數。通信流程如圖3所示。
3 測試
網關與ZigBee節點上電后,協調器建立網絡,ZigBee節點加入該網絡并開始發送數據。測試中,ZigBee節點每隔1 s向網關發送溫度、濕度、電壓等信息,網關收到數據進行處理。SIM模塊的TXD、RXD使用杜邦線連接到ARM串口1的RXD、TXD,在RealView MDK開發環境中調試。SIM模塊的RS232接口連接到電腦,通過串口調試助手工具測試數據。
測試中設置夏季室內溫度閾值為28℃,即當室溫超過閾值,自動開啟空調。SIM模塊收到處理器傳遞的各節點狀態信息后,生成提示短信“High temperature warning”,模塊提示+CMTI:"SM",8,表明有新的短信,存放在SIM卡的位置8。然后,發送AT+CMGR=8,即可讀取該短信。調試軟件顯示短信發送方的電話號碼和發送時間,發送的內容與預設的一致,如圖4所示。
ZigBee網關設備上電,通過RJ45接口連接路由器。網關IP地址配置為192.168.139.254,客戶端PC的IP設為192.168.139.20,與ZigBee網關的IP處于同一網段。打開IE瀏覽器,輸入ZigBee網關的IP,則運行嵌入式Web服務器頁面,如圖5所示。在該界面實時顯示當前的室內溫度,能正確接收ZigBee網絡的節點狀態數據。在設備控制中,空調設備自動打開,從而實現對家居的遠程控制。
4 結論
本文設計了智能家居嵌入式無線網關,其功能是將家庭本地的ZigBee網絡與Internet和GSM網絡等外網連接,用戶可隨時隨地通過手機和瀏覽器監控與管理家居環境和設備。網關的設計以ARM Cortex-M3為核心,以Linux為平臺操作系統,構建嵌入式Boa服務器,實現家庭內網與Internet的通信。GSM模塊發送報警信息到用戶手機。經測試,智能家居嵌入式無線網關具有良好的穩定性和可靠性,具有普及推廣的參考價值和應用前景。
參考文獻
[1] 閔麗娟,盧捍華,陳玲,等.智能家居的系統結構及相關無線通信技術研究[J].計算機技術與發展,2011,21(8):169-172.
[2] 冉彥中,曹婧華,姜威,等.ZigBee協議星形組網實驗的設計與實現[J].實驗技術與管理,2013,30(2):101-102.
[3] 孫弋.ARM-Linux嵌入式系統開發基礎[M].西安:西安電子科技大學出版社,2008.
[4] 陳龍濤,羅桂娥.基于ZigBee技術智能家居系統的研究與設計[J].微型機與應用,2010,29(20):100-102.
[5] 李萌,楊彬,陳維琨,等.基于ARM的嵌入式工業無線網關的設計[J].自動化與儀表,2013,28(9):29-32,57.
[6] 宗鑫祺,張偉.基于ARM和ZigBee的智能家居系統設計[J].微型機與應用,2014,33(1):54-55,59.
[7] 俞文俊,凌志浩.一種物聯網智能家居系統的研究[J].自動化儀表,2011,32(8):56-59.
[8] 陳滟濤,楊俊起,康潤生,等.基于SIM300的短信傳輸系統的設計與實現[J].計算機工程與科學,2008,30(3):156-158.