基于嵌入式WiFi物聯(lián)網(wǎng)的無線家居監(jiān)控系統(tǒng)
引 言
隨著嵌入式技術(shù)、信息技術(shù)的迅猛發(fā)展和后PC機時代的到來,利用嵌入式系統(tǒng)實現(xiàn)智能家居監(jiān)控 [1] 已成為可能智能家居是一種基于信息采集和處理的現(xiàn)代家居監(jiān)控系統(tǒng)近年來,國內(nèi)外越來越多的研究人員開始對智能控制家居環(huán)境進行相關(guān)科研和實踐工作。家居空間中各項環(huán)境信息的采集是實現(xiàn)家居監(jiān)控的首要任務,這些環(huán)境數(shù)據(jù)是中央控制器系統(tǒng)分析、決策并實施環(huán)境控制的主要數(shù)據(jù)源和參數(shù)。隨著智能家居的應用需求不斷增加,開發(fā)準確、方便的家居環(huán)境采集控制系統(tǒng)十分必要。目前這一領域已成為世界性熱點問題之[2-4],但迄今為止依然沒有成熟的國際標準,各國都在努力研發(fā)適合本國國情的智能家居系統(tǒng)
嵌入式系統(tǒng)是指集成了應用程序、操作系統(tǒng)與計算機硬件的系統(tǒng)。目前嵌入式系統(tǒng)已廣泛應用于各行各業(yè),尤其是網(wǎng)絡及通信設備、計算機外圍設備、消費類電子產(chǎn)品及工業(yè)自動控制等領域,其數(shù)量已遠遠超過了各種通用計算機系統(tǒng)。嵌入式系統(tǒng)的編程語言也由匯編語言轉(zhuǎn)變?yōu)?C,C++ 和 Java 等通用編程語言
本文設計了一種基于嵌入式 WiFi 物聯(lián)網(wǎng)的智能家居監(jiān)控系統(tǒng)。文中先對系統(tǒng)的設計方案進行總體概述,再詳細介紹其硬件架構(gòu),分析其可行性,之后具體給出了系統(tǒng)的軟件實現(xiàn)最后簡單描述了系統(tǒng)的功能性及創(chuàng)新性
1 設計方案
1.1 總體設計
本系統(tǒng)由智能家居中央控制系統(tǒng)、家居數(shù)據(jù)傳感系統(tǒng)家居數(shù)據(jù)傳輸WiFi 網(wǎng)絡 [5] 及家庭終端設備 [6] 組成,系統(tǒng)拓撲結(jié)構(gòu)如圖 1 所示
智能家居中央控制系統(tǒng)主要由中央控制器(嵌入式ARM11 開發(fā)板)、數(shù)據(jù)接口以及家庭布線系統(tǒng)組成。中央控制器是數(shù)據(jù)處理的核心,采用嵌入式技術(shù),通過 CAN 總線無線介質(zhì)以及各種接口控制家庭終端。我們將家庭終端分為信息終端和非信息終端兩類,其中信息終端包括計算機、手機信息家電等,非信息終端包括傳統(tǒng)家電、電話、電燈、門窗語音警報器、探測器等
數(shù)據(jù)采集部分是整個系統(tǒng)的驅(qū)動器,由溫濕度數(shù)據(jù)傳感器、漏水傳感器、氣體傳感器等組成。系統(tǒng)對它們采集的數(shù)據(jù)進行分析處理,決策如何控制家庭終端。如果這部分無法工作,系統(tǒng)將面臨崩潰。因此,提高數(shù)據(jù)采集的穩(wěn)定性將會使整個系統(tǒng)更加完美
數(shù)據(jù)傳輸部分是連接數(shù)據(jù)采集和中央控制系統(tǒng)的橋梁本系統(tǒng)選用嵌入式 [7] WiFi 模塊構(gòu)成“隱形橋梁”。WiFi 網(wǎng)絡通過協(xié)議之間的轉(zhuǎn)換實現(xiàn)數(shù)據(jù)通信。系統(tǒng)中主要的數(shù)據(jù)傳輸路徑包括WiFi 網(wǎng)絡、RS 232 串口通信、CAN 總線網(wǎng)絡等
1.2 性能要求
針對智能家居的特點,我們在設計智能家居監(jiān)控系統(tǒng)的過程中應充分考慮性能要求
(1) 穩(wěn)定性 :作為智能家居監(jiān)控系統(tǒng),保證其正常工作尤為重要,系統(tǒng)運行是否穩(wěn)定,是判斷系統(tǒng)好壞的一個重要指標
(2) 實時性 :智能家居系統(tǒng)對系統(tǒng)的實時性要求較高一般情況下,響應時間應控制在 10 s以內(nèi)
(3) 易操作性 :智能家居系統(tǒng)應該能夠被所有人群輕易操作,包括小孩、老人、殘疾人士,因此系統(tǒng)必須為用戶提供簡單易用的操作方式
(4) 適宜性 :考慮到家庭終端的多樣性和復雜性,性能優(yōu)良的智能家居系統(tǒng)應該具有強大的適應性、伸縮性和可擴展性
(5) 準確性 :智能家居系統(tǒng)應自動為居住者提供一個良好的生活環(huán)境,因此能否準確對家庭終端進行調(diào)控是衡量一個系統(tǒng)是否有效的重要標準
2 硬件架構(gòu)
系統(tǒng)可分為數(shù)據(jù)采集、數(shù)據(jù)傳輸、數(shù)據(jù)處理三部分,下面從這三部分對系統(tǒng)的硬件架構(gòu)進行描述 [8]
2.1 數(shù)據(jù)采集
數(shù)據(jù)采集部分由溫濕度傳感器 SM1810A、氣體傳感器漏水傳感器組成,分別檢測室內(nèi)溫濕度、有無可燃性氣體漏出有無水管爆裂導致漏水,將采集的數(shù)據(jù)傳輸至控制系統(tǒng),其結(jié)構(gòu)如圖 2 所示
圖 2 數(shù)據(jù)采集結(jié)構(gòu)圖
2.2 數(shù)據(jù)傳輸
數(shù)據(jù)傳輸部分將RS 232 串口通信、WiFi 網(wǎng)絡數(shù)據(jù)通信相結(jié)合,實現(xiàn)系統(tǒng)數(shù)據(jù)傳輸。WiFi 網(wǎng)絡由 HLK-RM04 模塊構(gòu)成,HLK-RM04 是海凌科電子新推出的低成本嵌入式 UART- ETH-WiFi(串口 - 以太網(wǎng) - 無線網(wǎng))模塊。它是基于通用串行接口的符合網(wǎng)絡標準的嵌入式模塊,內(nèi)置 TCP/IP 協(xié)議棧,能夠?qū)崿F(xiàn)用戶串口、以太網(wǎng)、無線網(wǎng) 3 個接口之間的轉(zhuǎn)換。數(shù)據(jù)通信結(jié)構(gòu)如圖 3 所示
圖 3 數(shù)據(jù)傳輸路徑圖
2.3 數(shù)據(jù)處理
數(shù)據(jù)處理部分主要由中央控制系統(tǒng)、家庭終端設備、上位機界面、TTS 語音報警系統(tǒng)組成。主要對數(shù)據(jù)采集系統(tǒng)采集的數(shù)據(jù)進行分析,并據(jù)此數(shù)據(jù)來決策響應方式,將數(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)絡,掛載多個由一體化步進電機構(gòu)成的控制系統(tǒng)。家庭終端設備由一體化步進電機和多種家電設備組成,由一體化步進電機控制家電設備 [9] 門窗、排氣扇、空調(diào)、暖氣等)。上位機界面、PC 端界面實時顯示溫濕度,幫助居住者直觀監(jiān)控溫濕度。TTS 語音報警系統(tǒng)由TTS 語音模塊、喇叭等組成,當室內(nèi)環(huán)境異常時,系統(tǒng)會自動發(fā)出語音報警聲。數(shù)據(jù)處理部分具體結(jié)構(gòu)如圖 4 所示
圖 4 數(shù)據(jù)處理結(jié)構(gòu)示意圖
3 軟件系統(tǒng)
3.1 Linux開發(fā)環(huán)境的建立
Linux 具有內(nèi)核小,效率高,源代碼開放,內(nèi)核直接提供網(wǎng)絡支持等優(yōu)點。絕大多數(shù) Linux 的軟件開發(fā)都以 native 方式進行,即本機開發(fā)、調(diào)試、運行。這種方式通常不適用于嵌入式系統(tǒng)的軟件開發(fā),對于嵌入式系統(tǒng)而言,它沒有足夠的資源在本機(即嵌入式系統(tǒng)平臺)運行開發(fā)工具和調(diào)試工具
通常嵌入式系統(tǒng)軟件開發(fā)采用交叉編譯調(diào)試方式。交叉編譯調(diào)試環(huán)境建立在宿主機(即通過串口連接的宿主機 PC)上對應的開發(fā)板為目標板(即嵌入式 ARM 系統(tǒng))。通常宿主機和目標板上的處理器不同,宿主機通常為 Intel 處理器,而目標板多采用飛凌 OK6410 等,所以程序需要使用針對處理器特點的編譯器才能生成在相應平臺上可運行的代碼。GNU 編譯器在編譯時,可以選擇開發(fā)所需的宿主機和目標機,從而建立開發(fā)環(huán)境。在嵌入式開發(fā)前,先將一臺 PC 機作為宿主機開發(fā),并在其上安裝指定的操作系統(tǒng)。宿主機上安裝 Linux 系統(tǒng)[10] 之后,在宿主機上建立交叉編譯調(diào)試開發(fā)環(huán)境。本文采用C 語言在宿主機上編寫視頻采集程序,再利用交叉編譯調(diào)試工具編譯鏈接生成可執(zhí)行代碼,最后向目標平臺掛載。系統(tǒng)軟件流程如圖 5 所示
3.2 軟件實現(xiàn)
目標板上具體的串口在系統(tǒng)對應的設備文件中都有相應的編號 /dev/ttySAC0 至 /dev/ttySAC3,串口打開的命令為open(“/dev/ttySAC0”,O_RDWR)。 程序通過 COM0 掛 載到目標板上后,會先將 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)進行 ;系統(tǒng)可以從COM1上讀取溫濕度碼并進行分析處理,當判斷溫度大于閾值 40℃時,系統(tǒng)會打開 COM0和 COM2, 分別給 COM0 和 COM2 寫入電機 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ù)處理下一溫濕度碼字;當判斷濕度大于閾值 60% 時,系統(tǒng)會打開 COM0 和 COM2,分別給 COM0 和 COM2 寫入電機 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ù)處理下一溫濕度碼字 ;在進行上述步驟的同時,系統(tǒng)會打開 COM3,將溫濕度碼字發(fā)送至 PC 端,PC 端界面解碼并實時顯示溫濕度數(shù)據(jù)。
4 實現(xiàn)功能
系統(tǒng)設計實現(xiàn)了對室內(nèi)環(huán)境溫濕度的采集,采用網(wǎng)絡分布式方式采集,當溫度或濕度過高或室內(nèi)其他環(huán)境異常時,自動打開房屋設備(窗簾、排氣扇等),調(diào)節(jié)室內(nèi)環(huán)境至適宜,同時提示溫度或濕度過高。數(shù)據(jù)傳輸采用嵌入式 WiFi 模塊實現(xiàn)數(shù)據(jù)的無線傳輸 [11],節(jié)省資源、減小損耗。在 PC 端設計一個直觀界面,可直觀實時地顯示溫濕度等環(huán)境數(shù)據(jù)。
5 系統(tǒng)創(chuàng)新
本系統(tǒng)設計的創(chuàng)新與特色有以下幾點 :
(1)采用嵌入式 WiFi 模塊進行數(shù)據(jù)通信,實現(xiàn)無線WiFi 網(wǎng)絡的數(shù)據(jù)采集。
(2)應用一體化步進電機控制房屋終端,精確控制位置。
(3)PC 端上位機界面可直觀、實時顯示溫濕度。
(4)核心監(jiān)控設備——ARM11 嵌入式系統(tǒng)的應用使本設計速度更快、效率更高。
(5)基于 CAN 總線的步進電機控制網(wǎng)絡可同時控制多個房屋終端設備。
6 結(jié) 語
本系統(tǒng)基于嵌入式 ARM11 開發(fā)板飛凌 OK6410、嵌入式無線 WiFi 模塊 HLK-RM04、串口溫濕度傳感器 SM1810A 以 及 Linux 操作系統(tǒng)構(gòu)成了無線家居網(wǎng)絡式監(jiān)控系統(tǒng),不僅可以自動控制房屋終端設備調(diào)節(jié)室內(nèi)環(huán)境,還可通過 TTS 語音報警提示溫濕度等異常,另外 PC 端上位機界面可直觀、實時顯示溫濕度數(shù)據(jù)。采集節(jié)點可任意增加,實現(xiàn)網(wǎng)絡分布式數(shù)據(jù)采集,數(shù)據(jù)傳輸采用嵌入式 WiFi 模塊實現(xiàn)無線數(shù)據(jù)通信。本系統(tǒng)功耗較小,實時性好,控制精度高且穩(wěn)定性較好。