1 引言
人們生活水平的提高以及科技的進步,特別是計算機技術、網絡技術和通信技術的發展,智能家居將慢慢成為未來家居生活的發展方向。1984年在美國誕生了世界上第一座智能家居建筑,從此以后,世界上的各大公司和科研單位不斷加速在智能家居方面的研究,他們分別提出了自己的智能家居解決方案,其中以新加坡提出的技術方案最具代表性,他的智能家居系統包括三表抄送、安防報警、家電控制、家庭智能控制面板、監控中心等功能,目標在于將家庭中與信息相關的通信設備、家用電器和家庭安防裝置通過總線技術連接到家庭智能化系統上,從而進行集中或遠程控制和管理。在未來,智能家居不僅要為用戶提供健康、舒適安全和安全的生活環境,而且用戶還能夠
遠程控制家庭電器設備和監控自己的家居狀態。因此,本系統家從遠程要滿足這樣的需求,一方面需要把家庭無線網絡接入互聯網,因為互聯網已經滲透到我們生活的各個角落,通過互聯網可以隨時隨地的遠程控制家庭電器設備和監控自己的家居狀態;另一方面在家庭內部采用無線網絡技術,這樣可以提供更大的靈活性、流動性,更符合家庭網絡簡潔性、靈活性、模塊化、擴展性及獨立性的通信特點。因此本系統將從網絡化和無線化兩方面著手來構建智能家居系統。
2 系統的總體設計
為了讓智能家居控制系統之間實現無線通信,以及為了方便以后擴展外圍模塊去實現更多的功能,本設計基于嵌入式智能家居監測控制系統在擬采用模塊化設計,擬由4個子系統組成:ARM控制中心、協調器、節點1、節點2,其系統總體如圖1所示。

ARM控制中心主要完成的工作有:處理協調器發過來的信息,并且將相關的控制信息發送給協調器;其內部安裝嵌入式 WEB服務器,主人可以通過網頁獲取各個節點的工作狀態和控制各個節點的工作。此外,它還要處理火災,盜賊闖入燈異常信息,然后通過GPRS模塊用短信把相應的報警信息發送給主人。
協調器主要負 責ARM控制中心和各個節點之間的無線通信。一方面接收節點1和節點2的數據,然后通過串口送入到ARM控制中心進行處理;另一方面可以把前端的控制指令轉發給相應的節點。
節點1的功能:把傳感器采集到的溫度數據實時的通過無線傳輸給協調器;當有火情和盜賊闖入的時候,蜂鳴器立即報警并把相應的信息通過無線發送給協調器;實現對點燈的控制。
節點2完成 “電器”的定時控制功能。定時器的定時時間可以通過客戶機來設定,并且可以通過網絡查詢定時器的剩余時間;在此,實現濕度的監測。
3 系統的硬件設計
3.1 控制中心的設計
本設計中采用的ARM芯片為 S3C2440,S3C2440是由三星公司生產的一種性價比很高的CPU芯片,由于該芯片價格低、功耗低和體積小等顯著的特點,主要用于手持設備和一般類型應用的設備。
控制中心硬件電路主要有主控模塊(S3C2440)、存儲單元(64M SDRAN 和64M Nand Flash)、以太網接口、串行通信接口等,其硬件結構如圖2所示。

3.2 手機短消息模塊
系統采用的是SIM300模塊,該模塊是SICOM公司研制和生產的 GSM/GPRS無線通信模塊,其可以實現的功能有 GPRS網絡數據收發、語音通話、短信收發、彩信收發等[5]。本系統主要用到的功能是短信的發送,當有火災或者盜賊 闖 入 的 時 候,系統會議短信的方式告訴主人。
SIM300和S3C2440之間是通過串口通信的。其短信數據傳輸硬件組成如圖3所示。

3.3 nRF24L01無線模塊
目前比較流行的無線通信技術有 Z-Wave和 Zigbee技術。Z-Wave是一種高可靠性、低 成 本、低 功的短距離無線傳輸技術,其信號室內傳輸距離為30m,室外可達100m,數據傳輸速率可達906k/s;單 一 家 庭 網 絡 可達 到232個節點,可滿足一般家庭的需要。目前市場上已經出現了關于Z-Wave的智能家居產品,但是Z-Wave聯盟沒有開放它的相關標準,阻礙了關于產品的開發和擴展。
ZigBee技術是一種基于IEEE802.15.4協議的短距離通信標準。一 個ZigBee網絡可以包 含65536個 節點,并且各個節點間的通信非??煽浚送?,ZigBee標準是一個開放的標準。但是ZigBee器件的成本是相當的昂貴。為了克服上面的問 題,本系統現選擇了nRF24L01無線通信模塊,該塊工作在2.4g頻段,價格低廉,配合 ATmea16單 片 機使用不經可以節省成本,而且可以減低開發難度。nRF24L01模 塊的系統原理如圖4所示。

4 系統的軟件設計
系統的軟件設計主要包括6部分,分別為遠程控制WEB前端設計 、手機短消息模塊 、控制中心程序的設 計 、協調器的程序設計 、節 點1和節點2的程序設 計 。
4.1 遠程控制WEB前端的程序設計
系統頁面主要由htm語言、javascript腳本語言設計而成,完成的主要功能有顯示家電的狀態,顯示室內環境的參數如:溫濕度,控制家電等。系統的控制頁面如圖5所示。

4.2 控制中心程序的設計
本系統上面用到的操作系統是linux,其上面移植有BOA服務器 ,BOA服務器非常適合單任務的HTTP服務,并且其支持CGI接口 。CGI程 序 可 以 采用she腳本語言、pre、php、c語言等語言來實現 ,但是由于c語言的兼用性表較好 ,以及用C語 言編寫的CGI程序可以直接在boa服務器面執行且比較小,因此 ,本系統用c語言作為CGI程序的開發語言。用C語言編寫CGI程序設計到字符串的處理 ,因此是一個非常復雜且容易出錯的過程 ,但幸運的是可以借助第三方庫CGI來 編 寫CGI程 序。 如圖6所示控制中心程序的流程。系統采用的是雙線程并行執行的 ,一條進程用來讀取串口發送過來的信息并重定向顯示到網頁上 ,另一條進程用來解析網頁中的控制信息,并將相關信息發送出去 。線程1和線程2的流程如圖6a和b所示 。

4.3 手機短消息模塊程序設計
SIM300和S3C2440之間是通過串口通信的。中 文短信的發送要進過如下步驟:1)變換號碼;2)短信內容編碼;3)PDU格式編碼;4)短信的發送。根據這4部分 在Linux環境下編寫了如下短信發送程序。


4.4 協調器的程序設計
協調器主要完成的功能有,將nRF24L01接受到的數據通過串口發送給ARM;將串口接受到的數據通過nRF24L01發送出去。協調器的主函數程序流程如圖7所示。
在此函數中中斷有2個,1個是串口接受中斷 ,1個是INT2中斷 。串口接受中斷函數的主要功能是將串口接受到的控制信息發送給相應的目標板 ;INT2中斷函數的功能是將無線模塊接受到的信息通過串口 傳給ARM。

4.5 節點1的程序流程
發送機1的功能:完成與協調器之間無線通信;定時采集溫度信息;當有火情出現時,蜂鳴器立即報警,并立即向接收機0發送無線數據;當有盜賊闖入的時候,蜂鳴器報警,并立即接收 機0發 送 無 線 數 據;同時接收接收機0發送過來的無線數據,通過解碼后去控制LED燈的亮滅。節點1的函數流程圖如圖8所示。

4.6 節點2的程序設計
節點2主要完成的功能是完成同協調器的無線通信通過按鍵來定時;通過WEB前端來定時,顯定時器的剩余信息。節點2的程序設計流程如圖9所示

5 系統測試
要對系統的性能和功能有個全面的了解,看起是否滿足現實什么的需要,就必須對系統進行。整個系統的測試采用分模塊的測試辦法進行。
5.1 射頻發射模塊的測試
對該模塊的測試,首先需要個節點部分的nRF24L01工作在發射狀態 ,連續不斷的發射數據,然后驗證協調器部分的nRF24L01射頻模塊能否接收到正確的數據 。協調器通過串口與上位機相 連 接 ,通 過 查 看securecrt的 打印信息來驗證接收到的數據。經過以上測試可以驗證智能家居 的無線部分是否正常工作 。
理論上nRF24L01無線模塊的傳輸距離是100m。經測量nRF24L01在無障礙的情況下的傳輸距離是45m;如果中間有一個障礙物的話,實際的傳輸距離迅速遞減到15m。表1是傳輸50個字節的數據。

? ? ? ?節點2主要完成的功能是完成同協調器的無線通信通過按鍵來定時;通過WEB前端來定時定時器的剩余信息。節點2的程序設計流 程如圖9所 示
以100m2的住宅為例,兩點之間最遠的地方為14m,因此nrf24l01無線射頻模塊可以滿足智能家居各個節點之間的無線傳輸需求。
5.2 溫度檢測模塊的測試
將節點1和市面上常用的溫度計放在裝有空調的房間中進行測試,通過調節空調的溫度來控制室內的溫度,然后將檢測的溫度同溫度計上面顯示的溫度進行比較。通過6次實驗,得到6組不同的實驗。實驗數據表2所示。
通過上面數據可以看出系統測量的溫度與溫度計所測的溫度非常接近,最大的溫差為0.4°,平局誤差約為0.3°例外,將該模塊放在冰箱的冷凍室和剛燒開的開水中,分別測 得溫度為 —105和98°。因 此 ,可以看出該模塊能很好的反映實際 的環境溫 度 。

5.3 紅外報警系統的測試
首先將紅外報警所在的節點1放在離地面1.5m左右的桌子上面,測試30次,未發生錯誤報警的情況。實驗表明,報警范圍在室內是30m左右,在 室外到50m。
5.4 火災報警系統的測試
本實驗參考,國家標準GB4515《點型感煙火災探測器技術要求及試驗方法》的要求,布置了一個火災實驗室,活在設在實驗室的中心地面上,由于 MQ2煙霧傳感器在節點2上面,所以將節點2安置在距離活在3m的上空。采用國標 GB4515中的標準試驗火SH2-90根棉繩點火進行實驗。將棉繩綁在節點1所在的支架上面,點燃后迅速熄滅火焰,使棉繩產生持續的煙霧。表3是6次實驗采集的數據。

從以上數據可以看出火災報警系統能夠對火災產生準確的響應。
5.5 對電器的控制
由于本系統沒有連接實際的電器,對點燈的控制本系統才有4個LED燈做替代。對空調的控制,無非就是設定的定時時間、控制溫度。因此,本系統有一個思維數碼管做一個替代空調。通過實驗,可以看到,可以達到通過網頁對它們的控制。
結論
設計了一種基于BOA和nRF24l01的智能家居系統。實現了通過web對家庭環境的監測,闖入的監測 ,對火災的監測和對家電的遠程控制等功能 。本系統能基本滿足一般家庭的需要, 具有智能、成本低廉等優點 。此外,本系統經過簡單的改進之后可以應用在智能交通監測體統 ,森林防火系統以及智能用電家居系統中。因此本系統具有非常廣闊的應用前景 。
電子發燒友App











評論