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