劉歡 聶志剛
摘 要:系統(tǒng)設(shè)計基于嵌入式ARM11系統(tǒng)以及無線WiFi智能控制房屋終端設(shè)備,先對室內(nèi)的環(huán)境數(shù)據(jù)進(jìn)行無線網(wǎng)路分布式采集,采用嵌入式WiFi模塊實現(xiàn)數(shù)據(jù)傳輸,當(dāng)環(huán)境異常時,系統(tǒng)做出響應(yīng)以改善室內(nèi)環(huán)境,具有TTS語音報警、打開窗簾和排氣扇等功能,同時PC端的上位機(jī)界面可直觀實時顯示環(huán)境數(shù)據(jù)。
關(guān)鍵字:嵌入式;ARM11;WiFi;TTS語音報警;一體化步進(jìn)電機(jī);上位機(jī)
中圖分類號:TP273+.5 文獻(xiàn)標(biāo)識碼:A 文章編號:2095-1302(2018)07-00-03
0 引 言
隨著嵌入式技術(shù)、信息技術(shù)的迅猛發(fā)展和后PC機(jī)時代的到來,利用嵌入式系統(tǒng)實現(xiàn)智能家居監(jiān)控[1]已成為可能。智能家居是一種基于信息采集和處理的現(xiàn)代家居監(jiān)控系統(tǒng)。近年來,國內(nèi)外越來越多的研究人員開始對智能控制家居環(huán)境進(jìn)行相關(guān)科研和實踐工作。家居空間中各項環(huán)境信息的采集是實現(xiàn)家居監(jiān)控的首要任務(wù),這些環(huán)境數(shù)據(jù)是中央控制器系統(tǒng)分析、決策并實施環(huán)境控制的主要數(shù)據(jù)源和參數(shù)。隨著智能家居的應(yīng)用需求不斷增加,開發(fā)準(zhǔn)確、方便的家居環(huán)境采集控制系統(tǒng)十分必要。目前這一領(lǐng)域已成為世界性熱點問題之一[2-4],但迄今為止依然沒有成熟的國際標(biāo)準(zhǔn),各國都在努力研發(fā)適合本國國情的智能家居系統(tǒng)。
嵌入式系統(tǒng)是指集成了應(yīng)用程序、操作系統(tǒng)與計算機(jī)硬件的系統(tǒng)。目前嵌入式系統(tǒng)已廣泛應(yīng)用于各行各業(yè),尤其是網(wǎng)絡(luò)及通信設(shè)備、計算機(jī)外圍設(shè)備、消費類電子產(chǎn)品及工業(yè)自動控制等領(lǐng)域,其數(shù)量已遠(yuǎn)遠(yuǎn)超過了各種通用計算機(jī)系統(tǒng)。嵌入式系統(tǒng)的編程語言也由匯編語言轉(zhuǎn)變?yōu)镃,C++和Java 等通用編程語言。
本文設(shè)計了一種基于嵌入式WiFi物聯(lián)網(wǎng)的智能家居監(jiān)控系統(tǒng)。文中先對系統(tǒng)的設(shè)計方案進(jìn)行總體概述,再詳細(xì)介紹其硬件架構(gòu),分析其可行性,之后具體給出了系統(tǒng)的軟件實現(xiàn),最后簡單描述了系統(tǒng)的功能性及創(chuàng)新性。
1 設(shè)計方案
1.1 總體設(shè)計
本系統(tǒng)由智能家居中央控制系統(tǒng)、家居數(shù)據(jù)傳感系統(tǒng)、家居數(shù)據(jù)傳輸WiFi網(wǎng)絡(luò)[5]及家庭終端設(shè)備[6]組成,系統(tǒng)拓?fù)浣Y(jié)構(gòu)如圖1所示。
智能家居中央控制系統(tǒng)主要由中央控制器(嵌入式ARM11開發(fā)板)、數(shù)據(jù)接口以及家庭布線系統(tǒng)組成。中央控制器是數(shù)據(jù)處理的核心,采用嵌入式技術(shù),通過CAN總線、無線介質(zhì)以及各種接口控制家庭終端。我們將家庭終端分為信息終端和非信息終端兩類,其中信息終端包括計算機(jī)、手機(jī)、信息家電等,非信息終端包括傳統(tǒng)家電、電話、電燈、門窗、語音警報器、探測器等。
數(shù)據(jù)采集部分是整個系統(tǒng)的驅(qū)動器,由溫濕度數(shù)據(jù)傳感器、漏水傳感器、氣體傳感器等組成。系統(tǒng)對它們采集的數(shù)據(jù)進(jìn)行分析處理,決策如何控制家庭終端。如果這部分無法工作,系統(tǒng)將面臨崩潰。因此,提高數(shù)據(jù)采集的穩(wěn)定性將會使整個系統(tǒng)更加完美。
數(shù)據(jù)傳輸部分是連接數(shù)據(jù)采集和中央控制系統(tǒng)的橋梁,本系統(tǒng)選用嵌入式[7] WiFi模塊構(gòu)成“隱形橋梁”。WiFi網(wǎng)絡(luò)通過協(xié)議之間的轉(zhuǎn)換實現(xiàn)數(shù)據(jù)通信。系統(tǒng)中主要的數(shù)據(jù)傳輸路徑包括WiFi網(wǎng)絡(luò)、RS 232串口通信、CAN總線網(wǎng)絡(luò)等。
1.2 性能要求
針對智能家居的特點,我們在設(shè)計智能家居監(jiān)控系統(tǒng)的過程中應(yīng)充分考慮性能要求。
(1)穩(wěn)定性:作為智能家居監(jiān)控系統(tǒng),保證其正常工作尤為重要,系統(tǒng)運行是否穩(wěn)定,是判斷系統(tǒng)好壞的一個重要指標(biāo)。
(2)實時性:智能家居系統(tǒng)對系統(tǒng)的實時性要求較高,一般情況下,響應(yīng)時間應(yīng)控制在10 s以內(nèi)。
(3)易操作性:智能家居系統(tǒng)應(yīng)該能夠被所有人群輕易操作,包括小孩、老人、殘疾人士,因此系統(tǒng)必須為用戶提供簡單易用的操作方式。
(4)適宜性:考慮到家庭終端的多樣性和復(fù)雜性,性能優(yōu)良的智能家居系統(tǒng)應(yīng)該具有強(qiáng)大的適應(yīng)性、伸縮性和可擴(kuò)展性。
(5)準(zhǔn)確性:智能家居系統(tǒng)應(yīng)自動為居住者提供一個良好的生活環(huán)境,因此能否準(zhǔn)確對家庭終端進(jìn)行調(diào)控是衡量一個系統(tǒng)是否有效的重要標(biāo)準(zhǔn)。
2 硬件架構(gòu)
系統(tǒng)可分為數(shù)據(jù)采集、數(shù)據(jù)傳輸、數(shù)據(jù)處理三部分,下面從這三部分對系統(tǒng)的硬件架構(gòu)進(jìn)行描述[8]。
2.1 數(shù)據(jù)采集
數(shù)據(jù)采集部分由溫濕度傳感器SM1810A、氣體傳感器、漏水傳感器組成,分別檢測室內(nèi)溫濕度、有無可燃性氣體漏出、有無水管爆裂導(dǎo)致漏水,將采集的數(shù)據(jù)傳輸至控制系統(tǒng),其結(jié)構(gòu)如圖2所示。
2.2 數(shù)據(jù)傳輸
數(shù)據(jù)傳輸部分將RS 232串口通信、WiFi網(wǎng)絡(luò)數(shù)據(jù)通信相結(jié)合,實現(xiàn)系統(tǒng)數(shù)據(jù)傳輸。WiFi網(wǎng)絡(luò)由HLK-RM04模塊構(gòu)成,HLK-RM04是海凌科電子新推出的低成本嵌入式 UART-ETH-WiFi(串口-以太網(wǎng)-無線網(wǎng))模塊。它是基于通用串行接口的符合網(wǎng)絡(luò)標(biāo)準(zhǔn)的嵌入式模塊,內(nèi)置 TCP/IP 協(xié)議棧,能夠?qū)崿F(xiàn)用戶串口、以太網(wǎng)、無線網(wǎng)3個接口之間的轉(zhuǎn)換。數(shù)據(jù)通信結(jié)構(gòu)如圖3所示。
2.3 數(shù)據(jù)處理
數(shù)據(jù)處理部分主要由中央控制系統(tǒng)、家庭終端設(shè)備、上位機(jī)界面、TTS語音報警系統(tǒng)組成。主要對數(shù)據(jù)采集系統(tǒng)采集的數(shù)據(jù)進(jìn)行分析,并據(jù)此數(shù)據(jù)來決策響應(yīng)方式,將數(shù)據(jù)實時發(fā)送至PC端。
中央控制系統(tǒng)為數(shù)據(jù)處理部分的核心,由ARM11操作平臺、串口接口模塊以及CAN總線控制器組成。ARM11操作平臺選用飛凌OK6410開發(fā)板;串口接口模塊選用與開發(fā)板配套的串口模塊,實現(xiàn)家庭終端、數(shù)據(jù)采集系統(tǒng)與飛凌開發(fā)板間的數(shù)據(jù)通信;CAN總線控制器選用上海優(yōu)愛寶公司生產(chǎn)的UIM2501控制器,可形成CAN總線網(wǎng)絡(luò),掛載多個由一體化步進(jìn)電機(jī)構(gòu)成的控制系統(tǒng)。家庭終端設(shè)備由一體化步進(jìn)電機(jī)和多種家電設(shè)備組成,由一體化步進(jìn)電機(jī)控制家電設(shè)備[9](門窗、排氣扇、空調(diào)、暖氣等)。上位機(jī)界面、PC端界面實時顯示溫濕度,幫助居住者直觀監(jiān)控溫濕度。TTS語音報警系統(tǒng)由TTS語音模塊、喇叭等組成,當(dāng)室內(nèi)環(huán)境異常時,系統(tǒng)會自動發(fā)出語音報警聲。數(shù)據(jù)處理部分具體結(jié)構(gòu)如圖4所示。
3 軟件系統(tǒng)
3.1 Linux開發(fā)環(huán)境的建立
Linux具有內(nèi)核小,效率高,源代碼開放,內(nèi)核直接提供網(wǎng)絡(luò)支持等優(yōu)點。絕大多數(shù)Linux的軟件開發(fā)都以native方式進(jìn)行,即本機(jī)開發(fā)、調(diào)試、運行。這種方式通常不適用于嵌入式系統(tǒng)的軟件開發(fā),對于嵌入式系統(tǒng)而言,它沒有足夠的資源在本機(jī)(即嵌入式系統(tǒng)平臺)運行開發(fā)工具和調(diào)試工具。
通常嵌入式系統(tǒng)軟件開發(fā)采用交叉編譯調(diào)試方式。交叉編譯調(diào)試環(huán)境建立在宿主機(jī)(即通過串口連接的宿主機(jī)PC)上,對應(yīng)的開發(fā)板為目標(biāo)板(即嵌入式ARM系統(tǒng))。通常宿主機(jī)和目標(biāo)板上的處理器不同,宿主機(jī)通常為Intel處理器,而目標(biāo)板多采用飛凌OK6410等,所以程序需要使用針對處理器特點的編譯器才能生成在相應(yīng)平臺上可運行的代碼。GNU編譯器在編譯時,可以選擇開發(fā)所需的宿主機(jī)和目標(biāo)機(jī),從而建立開發(fā)環(huán)境。在嵌入式開發(fā)前,先將一臺PC機(jī)作為宿主機(jī)開發(fā),并在其上安裝指定的操作系統(tǒng)。宿主機(jī)上安裝Linux系統(tǒng)[10]之后,在宿主機(jī)上建立交叉編譯調(diào)試開發(fā)環(huán)境。本文采用C語言在宿主機(jī)上編寫視頻采集程序,再利用交叉編譯調(diào)試工具編譯鏈接生成可執(zhí)行代碼,最后向目標(biāo)平臺掛載。系統(tǒng)軟件流程如圖5所示。
3.2 軟件實現(xiàn)
目標(biāo)板上具體的串口在系統(tǒng)對應(yīng)的設(shè)備文件中都有相應(yīng)的編號/dev/ttySAC0至/dev/ttySAC3,串口打開的命令為open(“/dev/ttySAC0”,O_RDWR)。程序通過COM0掛載到目標(biāo)板上后,會先將COM1打開,將溫濕度查詢指令(01,04,00,00,00,02,71,CB)寫入COM1,傳送至溫濕度傳感器,溫濕度傳感器通過COM1返回溫濕度碼字(例如:01,04,04,09,F(xiàn)D,11,6D,A4,55),這一過程按照特定周期循環(huán)進(jìn)行;系統(tǒng)可以從COM1上讀取溫濕度碼并進(jìn)行分析處理,當(dāng)判斷溫度大于閾值40℃時,系統(tǒng)會打開COM0和COM2,分別給COM0和COM2寫入電機(jī)1轉(zhuǎn)動碼字
(ADR=6;SPD=20 000;STP=200 000;ENA;)和TTS語音報警碼字(FD,00,18,01,01,CE,C2,B6,C8,B9,F(xiàn)D,B8,DF,A3,AC,B4,F(xiàn)2,BF,AA,C5,C5,C6,F(xiàn)8,C9,C8,A1,A3),處理完后繼續(xù)處理下一溫濕度碼字;當(dāng)判斷濕度大于閾值60%時,系統(tǒng)會打開COM0和COM2,分別給COM0和COM2寫入電機(jī)2轉(zhuǎn)動碼字(ADR=5;SPD=1 000;STP=500;ENA;)和TTS語音報警碼字(FD,00,16,01,01,CA,AA,B6,C8,B9,F(xiàn)D,B8,DF,A3,AC,B4,F(xiàn)2,BF,AA,B4,B0,C1,B1,A1,A3),處理完后繼續(xù)處理下一溫濕度碼字;在進(jìn)行上述步驟的同時,系統(tǒng)會打開COM3,將溫濕度碼字發(fā)送至PC端,PC端界面解碼并實時顯示溫濕度數(shù)據(jù)。
4 實現(xiàn)功能
系統(tǒng)設(shè)計實現(xiàn)了對室內(nèi)環(huán)境溫濕度的采集,采用網(wǎng)絡(luò)分布式方式采集,當(dāng)溫度或濕度過高或室內(nèi)其他環(huán)境異常時,自動打開房屋設(shè)備(窗簾、排氣扇等),調(diào)節(jié)室內(nèi)環(huán)境至適宜,同時提示溫度或濕度過高。數(shù)據(jù)傳輸采用嵌入式WiFi模塊實現(xiàn)數(shù)據(jù)的無線傳輸[11],節(jié)省資源、減小損耗。在PC端設(shè)計一個直觀界面,可直觀實時地顯示溫濕度等環(huán)境數(shù)據(jù)。
5 系統(tǒng)創(chuàng)新
本系統(tǒng)設(shè)計的創(chuàng)新與特色有以下幾點:
(1)采用嵌入式WiFi模塊進(jìn)行數(shù)據(jù)通信,實現(xiàn)無線WiFi網(wǎng)絡(luò)的數(shù)據(jù)采集。
(2)應(yīng)用一體化步進(jìn)電機(jī)控制房屋終端,精確控制位置。
(3)PC端上位機(jī)界面可直觀、實時顯示溫濕度。
(4)核心監(jiān)控設(shè)備——ARM11嵌入式系統(tǒng)的應(yīng)用使本設(shè)計速度更快、效率更高。
(5)基于CAN總線的步進(jìn)電機(jī)控制網(wǎng)絡(luò)可同時控制多個房屋終端設(shè)備。
6 結(jié) 語
本系統(tǒng)基于嵌入式ARM11開發(fā)板飛凌OK6410、嵌入式無線WiFi模塊HLK-RM04、串口溫濕度傳感器SM1810A以及Linux操作系統(tǒng)構(gòu)成了無線家居網(wǎng)絡(luò)式監(jiān)控系統(tǒng),不僅可以自動控制房屋終端設(shè)備調(diào)節(jié)室內(nèi)環(huán)境,還可通過TTS語音報警提示溫濕度等異常,另外PC端上位機(jī)界面可直觀、實時顯示溫濕度數(shù)據(jù)。采集節(jié)點可任意增加,實現(xiàn)網(wǎng)絡(luò)分布式數(shù)據(jù)采集,數(shù)據(jù)傳輸采用嵌入式WiFi模塊實現(xiàn)無線數(shù)據(jù)通信。本系統(tǒng)功耗較小,實時性好,控制精度高且穩(wěn)定性較好。
參考文獻(xiàn)
[1]南瑞亭.基于物聯(lián)網(wǎng)的家居監(jiān)控系統(tǒng)研發(fā)[D].廣州:華南理工大學(xué),2012.
[2] ZHAO Z J,SHEN Q,TANG H,et al. Theory and key technologies of architecture and intelligent information processing for Internet of things[J].Computer Science,2011,38(8):1-8.
[3]張紅琴,夏婷.基于物聯(lián)網(wǎng)的智能家居系統(tǒng)設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2013,3(7):62-64.
[4] CARIES G,JOSEP P. Wireless home automation networks:a survey of architectures and technologies[Z].Consumer communications and networking,2010.
[5]曾磊,張海峰,侯維巖.基于WiFi的無線測控系統(tǒng)設(shè)計與實現(xiàn)[J].電測與儀表,2011,48(7):81-83.
[6]賀翔,孟小華.嵌入式智能家居終端人機(jī)界面設(shè)計與實現(xiàn)[J].計算機(jī)工程與設(shè)計,2010,31(10):166-2168.
[7]董玉華,孫炎輝,馬彪.基于嵌入式的智能家居監(jiān)控系統(tǒng)設(shè)計[J].數(shù)字通信,2013,40(3):91-94.
[8]王志軍,吳觀茂.基于物聯(lián)網(wǎng)技術(shù)的智能家居系統(tǒng)的實現(xiàn)研究[D].淮南:安徽理工大學(xué),2012.
[9] Maric Chan,Daniel Esteve,Christophe Escriba,et al. A review of smart homes present state and future challenges[J].Computer methods and programs in biomedicine,2008,91(1):55-81.
[10]王麗麗,齊賽,朱琳琳.基于嵌入式Linux智能家居監(jiān)控系統(tǒng)的設(shè)計[J].電子設(shè)計工程,2012,20(3):92-93.
[11]楊海川,唐飛龍,鄭健.基于物聯(lián)網(wǎng)的智能家居安防系統(tǒng)設(shè)計與實現(xiàn)[D].上海:上海交通大學(xué),2013.