摘 要: 通過物聯網技術結合ZigBee相關模塊構建無線傳感網絡,利用4個ZigBee節點實時采集特定環境的信息并進行控制,結合網關技術以及嵌入式ARM技術對環境進行監測并通過GPRS技術以及V4L2技術、Android技術來實現智能家居系統。通過軟硬件的相關測試,驗證了該系統的可靠性以及穩定性。
關鍵詞: ZigBee;ARM;Android;GPRS;網關;智能家居
隨著物聯網技術以及嵌入式相關技術的快速發展,智能家居、智能傳輸、智能社區已經真實存在于我們的生活中。物聯網實際上是物物相互連接構成的“互聯網”,但是物聯網在未來智能處理上,需要借助云計算、模式識別、人工智能等相關技術。本文通過ZigBee來構建無線傳感網絡。ZigBee[1]符合IEEE802.15.4標準的網絡協議,可以利用CC2530處理芯片來構建ZigBee硬件模塊,通過搭建無線傳感網絡[2]允許成百上千的設備加入,其中包括ZigBee協調器、ZigBee路由器、ZigBee節點設備等。近年來,ZigBee技術已經幫助企業解決了很多工業問題,同時在智能領域也有很好的應用前景。
1 系統總體設計
基于CC2530芯片的ZigBee節點首先通過一系列的傳感器來獲得實時的煙霧值、有無人活動、溫度值、光敏值等,通過相應的ZigBee節點,利用Zstack協議棧以及2.4 GHz的無線,實時將獲取到的數據發送給ZigBee的網關設備,網關設備獲取到節點設備的值,通過串口傳送給裝載Android系統的ARM 11主控設備。主控設備通過對節點數據的收集與分析,將數據實時寫入到Sqlite數據中并等待Boa服務器的讀取。主控設備在Android設備上運行Boa服務器,這樣用戶可以遠程通過Android手機的智能家居客戶端登陸到系統Boa服務器來獲取發來的數據控制相應的家電設備。用戶也可以通過PC經過Internet網絡以WEB的方式登陸到智能家居系統中,通過攝像頭查看實時的畫面。當傳感器獲取到的值與當前環境不匹配,例如溫度過高(可能造成火災)、煙霧值過大(可能煤氣泄漏)、人體感應值發生跳變(可能有小偷進入)等情況,ARM主控模塊則會通過GPRS模塊發送消息給用戶的手機并等待響應的處理方式,用戶可以通過手機客戶端控制,也可以通過PC登陸到系統中,進程處理(報警、滅火等)。若ARM主控模塊在2 min內沒有收到用戶的ACK信息,則采用默認的處理方式。智能家居總體設計如圖1所示。
2 系統硬件設計
2.1 ZigBee模塊的設計[3]
ZigBee模塊采用CC2530芯片,它是德州儀器生產的、基于2.4 GHz無線發射與接收器,內部包括數據的篩選以及地址的識別功能,同時內部集成了8051的CPU核。在ZigBee的節點模塊中,配置了MQ-2系列的可燃氣體及煙霧傳感器模塊(檢測可燃氣體的濃度)、人體紅外感應模塊[4](感應到人體活動)、電磁繼電器(通過接入電器的零線和火線至繼電器的常閉端以及公共端來控制電器設備)、DS18B20溫度傳感器(檢測溫度值)以及光敏傳感器(檢測光照值)。而ZigBee的網關模塊主要接收節點的傳感信息,并通過串口將收到的數據實時傳輸給主控設備。
2.2 ARM主控模塊的設計
考慮到主控模塊可以運行當前比較穩定的Android 2.3系統,所以在設計中使用了ARM 11系列的RISC處理器,采用了76JZ型號。同時配置了256 MB的內存、DM9000的百兆網卡用于進行網絡連接、RS232串口用于和GPRS模塊相連接,同時通過USB轉串口與ZigBee模塊的網關相連接。
2.3 GPRS模塊的設計
GPRS模塊采用的是BENQ公司的GPRS模塊(又稱GSM模塊),內部由GSM基帶控制器、射頻模塊、VBAT供電模塊等硬件組成。工作電壓在3.2 V~4.2 V,通常情況下,選取的電壓為3.3 V,工作的電流為250 mA。通過串口和主控設備相互通信。同時攝像頭模塊采用中興微ZC301系列的攝像頭進行實時畫面的捕捉。
3 系統軟件設計
軟件設計中,主要通過ZigBee模塊(節點、網關)、ARM主控模塊以及Android客戶端的設計實現。本文通過流程圖的方式來詳細解析智能家居模塊是如何工作的。
3.1 ZigBee模塊設計
節點模塊流程圖如圖2所示,網關模塊流程圖如圖3所示。
3.2 主控模塊的IO設計
主控模塊的IO設計如圖4所示。
3.3 Android客戶端設計[5]
Android是基于Linux的開源操作系統,目前此系統主要用于定制開發,特別是當今的移動開發中,通常在Android系統上進行二次開發。圖5所示為系統運行時客戶端與服務器的交互過程。Android開發過程中,采用的開發工具是Eclipse,嵌入了ADT 16.0的管理插件,同時Android SDK采用的是2.3的穩定版本,運用JAVA語言進行編程開發。通過此開發方式,最后可以產生apk文件,將文件安裝在手機中,即可使用。
4 總體實現
以下是實現用戶遠程登錄到系統進程的操作。圖6中,用戶通過Android系統[6]運行智能家居客戶端,客戶端可以通過連接方式登錄到ARM主控服務器中,繼而查看溫度、光強、煙霧等信息,并可以通過對節點繼電器的控制,進而控制家用電器。圖6中,一號節點控制的燈被打開了。圖7所示為通過運行連接后,輸入服務器的IP地址,準備遠程登錄到服務器中。圖8所示為通過客戶端查看節點的溫度值,從數據上看,當前的溫度值是穩定的,而且很正常。按照同樣的方式,可以查看光強值、煙霧值等。圖9顯示的則是由WEB遠程登錄到服務器中,通過主控板上的攝像頭實時查看遠端的情況。
本文設計并實現了基于Android和物理網技術的智能家居系統,通過物聯網以及ZigBee技術可以方便靈活的構建低功耗、低成本、安全的無線傳感網絡。主控設計基于Android系統可以很好地處理各種級別的IO問題,在Boa嵌入式服務器的運轉下,用戶可以很方便地通過Android手機的智能家居客戶端或者PC以WEB的形式登錄到服務器中,實現遠程的監控與控制??傊ㄟ^設計并實現此智能家居系統,可以發現它具有很好的應用價值。
參考文獻
[1] 李巖巖,李敬兆.ZigBee技術在路燈監控系統中的應用[J]. 微型機與應用,2013,32(5):51-53.
[2] 司海飛,楊忠,王珺,等.無線傳感器網絡研究現狀與應用[J].機電工程,2011,28(1):16-20.
[3] 張永梅,楊沖,馬禮,等.一種低功耗的無線傳感網絡節點設計方法[J].計算機工程,2012,38(3):71-73.
[4] 陳繼海,劉軍民.無線網絡的氣體檢測報警系統設計[J].電子科技,2012,25(10):29-31.
[5] 李凱.Android操作系統分析與移植[D].廣州:華南理工大學,2011.
[6] 朱乃昌.基于Android的物聯網無線報警系統[D].北京:北京郵電大學,2012.