蔡滿軍,殷鵬輝
(燕山大學 河北省工業計算機控制工程重點實驗室,秦皇島 066004)
物聯網是以感知為目的,實現“物物相聯”的全新網絡,被認為是繼互聯網后最重大的科技創新。該技術的蓬勃發展,帶動了嵌入式微控制器、無線傳感網絡和移動通信技術的革新。將物聯網技術與傳統家居控制系統相結合,實現對傳統技術的升級改造,構建全面的智能控制系統,已成為全球科技界矚目的焦點[1]。
目前,國內智能家居產品種類繁多,但多數產品功能單一、誤報率高、安裝復雜;進口產品雖系統集成度高、功能全面,但價格昂貴,極大地限制了該領域產品的普及。因此,融合眾多成熟的技術,研發一套價格低廉、功能實用、智能化程度高的家居控制系統,定會獲得較高的市場認可度。
系統利用物聯網技術中傳感、互聯、智能控制等特點,搭配多傳感器融合技術,實現以嵌入式設備為控制中心,系統各部信號無線傳輸,完成家居控制及安防監測的功能;并針對市面上多數家居控制系統的弊端,提出穩定可靠的解決方案。
基于物聯網的家居控制與安防系統總體結構如圖1所示,系統由意法半導體公司的STM32F103RBT6作為主控芯片,它是具有ARM Contex-M3內核的32位微處理器,擁有豐富的外設接口和較高的集成度,多用來做各類嵌入式設備的主控制器[2];構建Web服務器是將精簡TCP/IP協議棧移植到主控芯片,調用內部Web Server功能,實現HTTP網頁的編寫及顯示;系統各信號的采集則是由熱釋電、攝像頭、紅外遙控及環境監測傳感器獲取信息后,經無線網絡匯總到主控單元分析所實現的。

圖1 系統總體結構Fig.1 Overall structure of the system
通過架設嵌入式Web服務器,用戶可遠程登錄網頁控制攝像頭拍照;也可輸入命令控制紅外遙控,實現對空調的開啟及溫度的調節;熱釋電紅外傳感器可在盜竊人員入室時,捕捉其動作,觸發攝像頭拍照,并將照片上傳網絡,同時以短信方式告知,用戶即可通過互聯網查看家中動態信息。同時,系統預留有各傳感器接口,可擴充更多傳感功能。
系統的硬件設備主要包括嵌入式主控板、熱釋電傳感器與攝像頭監控單元、紅外遙控單元、無線通信單元。各傳感器單元采集的信息經主控芯片處理后,實現各功能的響應。
熱釋電紅外傳感器由菲涅爾透鏡和熱釋電元件組成,用于探測人體所輻射紅外能量的變化。通過菲涅爾透鏡將能量聚集到感應探頭上,由熱釋電元件接收,能量的吸收使該元件失去電荷平衡,并向外釋放多余電荷,電荷變化將以電流的形式輸出,后續電路經檢測處理即可響應,以完成被動式人體移動檢測的目的[3]。
系統主控單元接收熱釋電信號響應后,觸發OV7725攝像頭拍照,并將圖片信息以JPEG數據流的形式通過STM32的FSMC(靜態存儲器控制器)存儲到相應記憶單元,等待信息的讀取。同時,系統將該異常消息通過短信的形式經GSM模塊發送給用戶,以通知用戶及時查看家中動態。
紅外遙控單元由紅外發射管、38 kHz載波調制電路及后續控制電路組成,如圖2所示。其功能是模擬家電遙控器,實現遠程遙控。系統以某品牌柜式空調為研究對象,將其遙控器的紅外編碼通過紅外接收管獲取,并在示波器上采集、記錄,最終得出以下數據。

圖2 紅外控制電路Fig.2 Infrared control circuit
遙控按鍵的紅外編碼格式包括引導碼、用戶碼、數據碼和數據反碼,編碼總共占32位。其中,用戶碼用來區分不同的產品;數據碼用來實現不同的控制命令;數據反碼為數據碼反相后的編碼,用于數據的糾錯[4]。
編碼中邏輯位的定義也是區分編碼格式的重要指標。該遙控采用高電平與低電平組合的形式表示一個邏輯位,如圖3所示。邏輯0與邏輯1的區別在于低電平的時長不同,而高電平的時長往往是一致的。

圖3 紅外編碼邏輯位定義Fig.3 Definition of infrared coding logic
通過對編碼的采集與分析,將各紅外編碼數據寫入主控芯片,當系統收到用戶的控制命令時,會把對應編碼數據通過紅外發射單元發給空調,實現遠程啟動和調節溫度的功能。
nRF24L01是一款在2.4GHz ISM頻段通信的射頻收發芯片,嵌有基帶傳輸協議,可提供高達2 Mb/s的傳輸速率。芯片內部的Enhanced ShockBrust模式支持自動應答和數據重發功能,既可減少數據丟包率,又無需增加外部控制器負擔。
芯片通過SPI接口與微處理器連接,此接口可完成初始化設置和收發數據的工作。系統中STM32片上集成SPI控制器接口,可方便地通過軟件設置,實現與nRF24L01的通信。無線通信模塊設計原理如圖4所示。

圖4 nRF24L01控制電路Fig.4 nRF24L01 control circuit
在其外圍電路的配置中,主要考慮高頻旁路電容的選取和功放天線的設計:根據高頻信號的諧振頻率,一般選用0.1 μF和0.01 μF的旁路電容;在天線的設計上則采用蛇形總線的形式保證通信質量。
系統的軟件程序設計主要包括兩大部分,一是本地監測傳感器控制部分,即由系統外部傳感器觸發中斷,執行中斷控制命令;二是利用μIP協議棧搭建Web服務器實現Internet網頁遠程控制,即通過控制STM32內嵌Web服務器中的HTTP網頁選項信息,實現對遠端系統的控制。
該部分程序流程以本地監測傳感器控制為主,實現盜竊人員圖像信息的自動采集、上傳,以及空調的紅外控制等功能。
當家中有盜竊人員進入時,熱釋電傳感器會檢測到人體移動,隨即觸發脈沖信號,系統產生相應的外部中斷,控制OV7725攝像頭拍照,照片信息以JPEG數據流形式存儲在相應區域,其數據結構經處理后,上傳至STM32內嵌的網頁中,并通過短信形式告知用戶,方便用戶及時查看家中動態,如圖5所示。

圖5 傳感器控制流程圖Fig.5 Flow chart of sensor control
同時,用戶還能設定多個固定的短信命令,發送空調控制口令。系統通過GSM模塊接收短信后,執行相應中斷函數,并分析短信內容,以確定控制指令,最終由紅外發射管將對應控制命令的紅外編碼發射給空調,實現空調的遠程開關以及溫度控制功能。
本系統采用的嵌入式Web服務器是通過μIP協議棧內部自帶的Web Server功能結合DM9000網口驅動搭建實現的,用戶可通過訪問系統HTTP網頁遠程控制家中設備。
μIP協議棧是針對微控制器設計的精簡型TCP/IP協議棧。為減少代碼占用量和對微控制器RAM容量的要求,μIP著重設計并實現了網絡通信必要的TCP、IP、ICMP協議機制;數據包收發過程共用同一全局緩沖區uip_buf實現,免去了內存的動態分配[5];同時,為響應基于事件驅動的應用程序,μIP采用輪詢機制處理各并發連接的網絡事件,并實現與底層硬件驅動和上層應用程序的通訊。
μIP協議棧在與底層硬件驅動的通信中,主要依靠3個函數實現。uip_init()用于初始化網絡通信的監聽端口,并在初始時刻關閉所有連接事件。此后,系統開啟輪詢機制,采用STM32的SysTick定時器為uip_periodic()函數提供基準,驅動μIP內部需要時鐘的事件。本設計每0.5 s調用一次TCP輪詢程序,以檢測是否有連接事件發生。當DM9000驅動程序接收到數據包時,將其放入緩沖區uip_buf中,數據長度由uip_len確定,同時會調用uip_input()函數,它會根據包頭協議處理數據,分析數據傳達的內容,并最終交給STM32執行指令。當uip_input()返回驅動程序時,輸出數據包也被放在uip_buf中,數據大小賦給uip_len,若uip_len不為0,說明有數據要發送,此時調用DM9000的發送函數將數據包發送到網絡中。DM9000數據驅動流程如圖6所示。

圖6 DM9000數據驅動流程Fig.6 Flow chart of DM9000 data drive
μIP協議棧在與上層應用程序的通信中,系統需要實現Web Server功能,并能通過HTTP網頁遠程訪問STM32主設備,即應用層要實現HTTP協議。該協議采用C/S模式,由客戶端發送請求,服務器端實現應答,然后以Web頁面形式返回給客戶端[6]。本設計在Web頁面將控制攝像頭和空調溫度調節命令的請求發送給服務器端,也就是遠端STM32主機,STM32執行相應程序后,可遠程控制空調,也可將照片數據回傳到頁面上,實現動態交互功能。具體實現過程如圖7所示。μIP協議棧首先將宏UIP_APPCALL關聯到http_call()函數,并調用uip_listen()函數開啟80端口監聽請求。當客戶端有連接請求時,向其分配連接項,并等待發送的數據請求。服務器端在接收數據請求后,經內容解析,將響應數據以網頁形式回傳到客戶端,完成信息交互。

圖7 Web服務器軟件實現流程Fig.7 Software realization procedure of Web server
系統設計完成后,首先將硬件電路及模塊焊接組裝,如圖8所示,并對各功能進行實際測試。通過DM9000網口驅動器將設備與PC機連接,設置網絡IP地址,訪問設備。其次,在CMD命令行程序中輸入“ping 192.168.1.10”以測試設備與網絡的端對端連接狀況,當顯示無數據包丟失時,證明STM32主機已成功連接到網絡。最后,打開瀏覽器,在地址欄輸入“192.168.1.10”,STM32主機中嵌入的 Web網頁則顯示在窗口中,如圖9所示。該網頁可實現拍照、開關燈、控制空調狀態和調節溫度的功能。隨后,又模擬了盜竊分子入室的情況。測試證明,系統短信報警及時可靠、圖片清晰、上傳速度快;系統各控制功能達到預期效果,無線傳輸數據快速、穩定。

圖8 系統硬件電路Fig.8 System hardware circuit

圖9 系統Web網頁Fig.9 System Web page
系統在家居智能控制和安防監控方面達到預期要求。其中,熱釋電傳感器觸發的攝像頭監控、遠程紅外遙控功能具有較高的創新實用性。除此之外,系統還可加設環境探測傳感器,以獲取更多傳感信息,完善智能控制系統的感知、互聯功能。
[1]申斌,張桂青,汪明.基于物聯網的智能家居設計與實現[J].自動化與儀表,2013,28(2):6-10.
[2]宋俊杰,宋濤,蔡漢錫.基于WAP推送技術的遠程倉庫安防系統[J].儀表技術與傳感器,2013(12):120-121,124.
[3]宋耀華,王梅霞.基于物聯網技術的宿舍安防系統設計[J].機械與電子,2013(5):75-78.
[4]李琳.基于ARM11的智能遙控終端設計[J].自動化與儀表,2014,29(4):57-60.
[5]衷衛聲,施忠華,劉祿仁.嵌入式Web Server在遠程數據采集系統中的應用[J].儀表技術與傳感器,2012(9):103-104,110.
[6]張勇,朱志紅,田茂勝.基于μIP協議棧的嵌入式Web服務器的實現[J].微型機與應用,2011,30(4):59-61.