衡陽師范學院物理與電子工程學院 許岳兵
衡陽師范學院初等教育學院 何燁雯
衡陽師范學院物理與電子工程學院 譚岳衡
基于ARM和ZigBee的智能家居系統(tǒng)的設計
衡陽師范學院物理與電子工程學院 許岳兵
衡陽師范學院初等教育學院 何燁雯
衡陽師范學院物理與電子工程學院 譚岳衡
針對智能家居系統(tǒng)布線復雜、擴展性差、應用成本高等缺點,設計了一款基于ARM和ZigBee技術的智能家居系統(tǒng)。系統(tǒng)以三星Exynos4412為控制核心,移植了Linux 操作系統(tǒng)和Boa 服務器,采用ZigBee無線模塊組建了家庭內(nèi)部網(wǎng),通過4G無線模塊接入Internet,實現(xiàn)了智能家居系統(tǒng)的遠程監(jiān)控。
智能家居系統(tǒng);Exynos4412;CC2630;ME3760
智能家居又稱智能住宅,融合了計算機技術、網(wǎng)絡通訊技術和傳感器技術于一體的智能化家居控制系統(tǒng)。國外的智能家居系統(tǒng)發(fā)展較快,美國的X-10系統(tǒng),德國的EIB系統(tǒng)和新加坡的8x系統(tǒng)等,這些系統(tǒng)在國內(nèi)應用較少,系統(tǒng)架構、靈活性、價格等方面難以滿足要求。國內(nèi)的智能家居起步較晚,但一些企業(yè)也推出了不少好產(chǎn)品,如清華同方的e-Home數(shù)字家園,海爾U-Home家電和海信DNet-home數(shù)字家庭等。這些系統(tǒng)基于有線方案,布線麻煩,增減設備需要重新布線;同時依靠PC機進行管理,升級和維護不方便。因此,本文設計了一款低成本、高性能的智能家居系統(tǒng)。
圖1 系統(tǒng)原理框圖
系統(tǒng)原理框圖如圖1所示。系統(tǒng)由Exynos4412 ARM控制平臺、USB攝像頭、ZigBee通信電路、LCD觸摸屏、4G通信模塊和聲光報警電路等構成。圖中檢測電路由傳感器陣列組成,利用傳感器檢測室內(nèi)溫濕度、亮度、可燃氣體泄漏、煙霧和盜賊入侵等情況??刂齐娐穼崿F(xiàn)對家用電器的控制,包括對空調(diào)、電視、熱水器、LED燈、加濕器、門窗等的開啟和關閉。系統(tǒng)以ARM平臺為控制中心,利用USB攝像頭采集視頻,ZigBee無線網(wǎng)絡連接檢測電路和控制電路,通過4G通信模塊接入網(wǎng)絡,當家庭內(nèi)部發(fā)生煤氣泄漏或火災等危及生命財產(chǎn)的安全事故時,系統(tǒng)自動報警。用戶也可以使用遠程終端登錄ARM平臺上的web服務器,實時查看家庭內(nèi)部的監(jiān)控情況或發(fā)送控制命令,實現(xiàn)對家庭內(nèi)部各種家居設備的監(jiān)控及管理。
系統(tǒng)硬件電路包括ARM平臺、ZigBee模塊、4G通信模塊和傳感器檢測電路等。系統(tǒng)ARM平臺由三星Exynos4412主處理器、1G DDR3內(nèi)存、4GB eMMC高速閃存及其他外圍電路構成,具有mini PCI-E接口、2路RS232 UART串口、4路TTL UART接口、4路I2C接口和1路USB2.0接口等,支持4G通信模塊。Exynos4412四核處理器基于ARM Cortex-A9內(nèi)核,主頻高達1.4~1.6GHz,ARMv7指令集,采用128/64位內(nèi)部總線結構。一級緩存用于數(shù)據(jù)和指令的容量都是32 KB,二級緩存容量為1024 KB,運算性能十分突出。
ZigBee模塊采用TI公司的CC2630,集成符合2.4GHz IEEE 802.15.4的無線收發(fā)器,含有32位ARM Cortex-M3處理器,128KB閃存,8KB RAM,12位ADC,多達31個通用I/O接口,具有I2C、UART等外設接口,具有低MCU電流、有源RF和低功耗模式,可使用紐扣電池供電。ZigBee協(xié)調(diào)器模塊通過UART接口與ARM平臺連接,通過2.4G無線通信與ZigBee節(jié)點控制器模塊實現(xiàn)通信。
4G通信模塊采用中興公司的ME3760,是一款Mini PCI-E接口的LTE 模塊,支持4GTDD-LTE/FDD-LTE網(wǎng)絡、全頻段,理論上支持最大100 Mb/s下行,50 Mb/s上行的數(shù)據(jù)傳輸速率,完全滿足系統(tǒng)的設計要求。ME3760模塊通過Mini PCI-E接口與ARM平臺連接,通過串口AT指令實現(xiàn)數(shù)據(jù)通信。
溫濕度傳感器采用Sensirion公司SHT31,具有I2C接口,電壓輸出。SHT31通過I2C接口與ZigBee節(jié)點控制器模塊連接。亮度檢測采用光敏電阻,由于室內(nèi)亮度的改變會引起光敏電阻阻值的變化,從而引起其在電路中電壓值的變化,通過ZigBee節(jié)點控制器模塊的12位A/D采集光敏電阻兩端電壓值,實現(xiàn)室內(nèi)亮度的采集。煤氣檢測傳感器采用MQ4,對甲烷的靈敏度較高。煙霧傳感器采用MQ2,其電導率隨空氣中可燃氣體濃度的增加而增大,將電導率的變化轉換為與氣體濃度相對應的輸出信號。熱釋紅外傳感器采用基于紅外線技術的HR-SR501,可靠性強,靈敏度高,超低電壓工作模式。
系統(tǒng)軟件的設計主要包括Linux操作系統(tǒng)的移植,Web服務器的設計,ZigBee程序設計,視頻采集程序設計和4G通信程序設計等。
Linux操作系統(tǒng)的移植首先需要搭建交叉編譯環(huán)境。PC機安裝的是Ubuntu16.04操作系統(tǒng),ARM平臺的Bootloader引導程序和內(nèi)核在PC機上交叉編譯后,下載到目標板上運行。本文采用的交叉編譯器為arm-linux-gcc-4.5.1,下載、解壓,把arm-linux路徑添加到環(huán)境變量PATH中,保存退出即可。然后進行Bootloader移植,Bootloader類似于PC機的BIOS,引導加載程序。本文采用u-boot-2015.10.tar.bz2,下載、解壓,修改Makefile文件,指定交叉編譯工具鏈。修改相似的BOARD配置,使其支持Exynos4412 CPU,編譯運行。最后進行內(nèi)核移植,系統(tǒng)Linux內(nèi)核版本為3.5.0,在內(nèi)核配置時,完成對串口、USB攝像頭和4G通信模塊等驅動的配置,并對YAFF2S根文件系統(tǒng)進行配置,保存退出。執(zhí)行命令make uImage,編譯完成后,在arch/arm/boot目錄下生成了內(nèi)核鏡像文件uImage,把這個文件燒寫到目標板上運行,就可以看到Linux的啟動信息了。
Web 服務器采用Boa服務器,利用CGI 技術可以實現(xiàn)對家居設備的監(jiān)控。Boa服務器的移植步驟:修改Makefile文件,指定交叉編譯工具鏈;修改boa.conf文件,配置相關目錄,包括修改Group開放用戶組的限制,配置HTML文件存放目錄,修改ScriptAlias配置CGI腳本的存放目錄,修改mime.type文件的存放目錄;在制作好的根文件系統(tǒng)下創(chuàng)建相應的目錄,將上述文件拷貝到對應的目錄。當Boa服務器接收到用戶的請求時,CGI 程序就處理瀏覽器發(fā)過來的參數(shù),生成HTML頁面,為用戶提供瀏覽。
ZigBee程序設計包括協(xié)調(diào)器節(jié)點和節(jié)點控制程序。本文采用TI公司的Z-STACK 協(xié)議棧,調(diào)用系統(tǒng)提供的API接口來開發(fā)應用程序。ZigBee協(xié)調(diào)器節(jié)點負責建立和維護無線網(wǎng)絡的運行,向節(jié)點控制發(fā)送控制指令和接收傳感器采集的信息,通過串口發(fā)送給ARM平臺。ZigBee節(jié)點控制將傳感器采集到的數(shù)據(jù)發(fā)送給協(xié)調(diào)器節(jié)點,同時接收協(xié)調(diào)器節(jié)點發(fā)送過來的控制指令。當傳感器節(jié)點和ARM平臺沒有數(shù)據(jù)請求時,節(jié)點控制進入休眠模式;當有數(shù)據(jù)請求時,實時完成數(shù)據(jù)采集并發(fā)送至協(xié)調(diào)節(jié)點。
視頻采集程序的設計基于Video for Linux Two(簡稱V4L2)技術,V4L2是Linux操作系統(tǒng)中關于設備的內(nèi)核驅動,提供了用于采集視頻等數(shù)據(jù)的API接口,加載相應的設備驅動,可以實現(xiàn)視頻的采集。實現(xiàn)流程:首先打開視頻設備,獲取設備信息,使用ioctl()函數(shù)設置視頻格式;申請幀緩沖區(qū),映射到用戶空間;將申請到的幀緩沖區(qū)在視頻采集輸入隊列中排隊,保證視頻流的順序;啟動視頻采集,使用VIDIOC_DQBUF使視頻幀出隊列,取出的視頻幀,使用VIDIOC_QBUF使視頻幀入隊列,循環(huán)往復,可采集連續(xù)的視頻數(shù)據(jù);采集完成后釋放緩沖區(qū),并關閉攝像頭設備文件。
4G通信模塊程序設計采用基于TCP/IP 協(xié)議的流式Socket 通信,通過Linux下的Sockets套接字編程實現(xiàn)。服務器使用socket()函數(shù)創(chuàng)建套接字,用bind()函數(shù)綁定服務器IP地址和端口號,創(chuàng)建socket對象??蛻舳苏{(diào)用sendto()函數(shù)向服務器發(fā)送服務請求報文,調(diào)用recvfrom()函數(shù)等待并接收服務器的應答報文;雙方通過socket套接字進行數(shù)據(jù)的發(fā)送與接收,實現(xiàn)用戶遠程終端與ARM平臺之間的通信。
設計了一款基于ARM和ZigBee的智能家居系統(tǒng),以三星Exynos4412為控制核心,結合ZigBee模塊、4G通信模塊和傳感器等完成了系統(tǒng)硬件設計,通過移植Linux操作系統(tǒng),Web服務器以及編寫ZigBee程序、視頻采集程序和4G通信程序,實現(xiàn)了用戶遠程終端與系統(tǒng)監(jiān)控平臺之間的互通互聯(lián)。經(jīng)測試,系統(tǒng)運行穩(wěn)定,具有實時性好、可靠性高、擴展性好等特點,具有廣闊的市場前景。
[1]尹紀庭等.基于ARM和ZigBee的智能家居控制系統(tǒng)研究與開發(fā)[J].計算測量與控制,2011,21(9):2451-2454.
[2]楊新華,王彥龍,薛健.光伏儲能電動汽車充電站的監(jiān)控系統(tǒng)研究[J].單片機與嵌入式系統(tǒng)應用,2015(9):65-68.
[3]趙建華,張占華.基于ARM和ZigBee的便攜式智能家居終端系統(tǒng)[J].計算機與數(shù)字工程,2013,41(9):1529:1531.
[4]許岳兵等.基于S3C2440的家用視頻監(jiān)控系統(tǒng)的設計[J].衡陽師范學院學報,2011,32(3):52:55.
許岳兵(1980—),男,湖南岳陽人,講師,主要研究方向為機器學習,嵌入式及應用。
湖南省教育廳高??蒲杏媱濏椖浚?2C0532)。
何燁雯(通信作者)(1980—),女,湖南岳陽人,中教二級,主要研究方向為物理學教育,嵌入式及應用。