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