王文強 李利 陳宇 李磊
北華航天工業學院 河北 廊坊 065000
本系統主要使用ARM-A9架構的三星 exynos 4412處理器的itop 4412開發板作為手持終端,使用Zig Bee無線通信技術,并結合溫濕度采集模塊、煙霧濃度采集模塊等。軟件設計基于Ubuntu12.04的系統作為開發環境,從嵌入式底層到應用層的開發流程,設計了一個具有人機交互友好的界面,實現了對家庭環境的監控及家電的控制。
系統主要分為硬件部分和軟件部分,主要工作原理為Zig Bee終端驅動各個傳感器模塊采集數據,然后發送給Zig Bee協調器,協調器通過串口將接收到的數據發送至itop 4412開發板,開發板收到數據后進行相應的解析并顯示在界面上。其中開發板上運行的是使用QT編寫的程序,經過交叉編譯后移植到了開發板上[1]。
該模塊用于Zig Bee網絡之間的通信,主要有組網、收發數據等功能,Zig Bee終端設備主要用于控制溫濕度采集模塊、煙霧濃度采集模塊、LED燈等,同時完成傳感器數據的采集工作,Zig Bee通信模塊選用CC2530芯片。
溫濕度采集模塊主要負責采集室內溫濕度,通過Zig Bee通信傳輸到手持端并顯示在LCD屏幕上,用戶可根據室內溫濕度做出相對應操作。選用DS18B20模塊,該具有體積小,成本低,抗干擾能力強、精度高的特點,并且該模塊的通信方式簡單,為單總線結構,使用便捷[2]。
煙霧濃度采集模塊主要用于檢測傳感器所處環境中的煙霧濃度,當煙霧濃度超標時,報警信號通過Zig Bee通信傳輸至手持端,同時觸發蜂鳴器報警功能。本設計中選用MQ-2煙霧感應模塊,該模塊成本低廉、對氣體檢測有較好的靈敏度、可靠性高。
LED模塊主要用于模擬室內光照環境,主要通過CC2530芯片的GPIO口輸出高低電平來控制LED燈的開關。
本系統將QT編寫的程序移植到itop 4412開發板上并且成功運行,首先需要將嵌入式Linux系統移植到itop 4412開發板,系統移植過程主要包括以下三個步驟:
(1)Boot Loader移植。Boot Loader是引導系統啟動的一段代碼,具有不通用性,不同的處理器和架構所使用的Boot Loader也不相同,根據處理器架構選擇不同版本進行移植,本設計采用U-boot移植[3]。
(2)內核移植。Linux kernel主要由進程調度(SCHED)、內存管理(MM)、虛擬文件系統(Virtual File System ,VFS)、網絡接口(NET)、進程間通信(IPC)五大模塊構成,移植過程中選擇SoC 廠商移植過的Linux kernel版本會減少很多不必要的工作量,本設計中選擇移植2.6.35.7版本Linux kernel。
(3)根文件系統燒寫。根文件系統可以理解為最基礎的文件系統,不同的文件系統,主要在于它們對扇區管理的策略和方法不同,本設計主要通過Busy Box軟件配置ext2格式的根文件系統并燒寫到開發板上。
itop 4412開發板上位機軟件主要使用c++語言在QT平臺進行設計,程序界面的渲染采用qss 既Qt Style Sheets進行界面渲染[4]。上位機軟件主要實現了以下幾個功能。
(1)模擬室內三個場景:臥室、客廳、廚房。
(2)分別對這個三個場景下的溫度,濕度以及煙霧濃度進行一個測量并顯示。
(3)使用LED燈模擬室內照明燈。
(1)在虛擬機里安裝ARM版QT所在的目錄下尋找庫及相關鏈接文件。
(2)在/opt目錄下建立“qt-4.8.5-arm”目錄,根據開發過程中使用的QT版本命名。
(3)將U盤里從虛擬機上拷貝的文件全部復制到/opt/qt-4.8.5-arm中,包括lib以及lib下的fonts目錄,全部移到開發板上。
(4)設置環境變量。
(5)將編譯好的可執行文件移植到開發板上[5]。
本文通過硬件設計和軟件設計相結合的方式完成了基于ARM-A9和Zig Bee技術的智能家居系統設計,與傳統的智能家居系統相比,通過對嵌入式Linux操作系統的移植和剪切,以及Zig Bee通信技術的使用,克服了傳統的智能家居系統能耗大、穩定性差等問題,更好地滿足了家庭日常使用需求。