作者 / 張文、鄭文、田遠(yuǎn)波,成都理工大學(xué)信息科學(xué)與技術(shù)學(xué)院
?
基于ARM和WIFI的家電智能控制系統(tǒng)設(shè)計(jì)
作者 / 張文、鄭文、田遠(yuǎn)波,成都理工大學(xué)信息科學(xué)與技術(shù)學(xué)院
隨著智能家居逐漸走入人們的日常生活,我們提出了一套家電的智能控制系統(tǒng)方案。該方案采用Cortex-M4為控制核心,通過WIFI接收并處理用戶指令,控制轉(zhuǎn)向設(shè)備,進(jìn)而發(fā)送控制特定家電的命令。同時(shí),系統(tǒng)可以將室內(nèi)的環(huán)境檢測(cè)數(shù)據(jù)發(fā)送到手機(jī)并顯示到APP上,用戶也可以通過手機(jī)APP實(shí)現(xiàn)對(duì)各種類型家電的實(shí)現(xiàn)智能控制。該系統(tǒng)設(shè)計(jì)工作穩(wěn)定可靠,操作簡(jiǎn)單方便,對(duì)市面上的各類遙控器協(xié)議進(jìn)行了整合,并實(shí)現(xiàn)智能學(xué)習(xí)鍵碼功能,故能很好的支持各類家電設(shè)備。
Cortex-M4;WIFI;手機(jī)APP;紅外;轉(zhuǎn)向設(shè)備;通信協(xié)議
隨著人們的物質(zhì)生活的水平提高,像電視、冰箱、空調(diào)等各類家電已經(jīng)走進(jìn)了千家萬戶,但是隨之也帶來了一些問題。家里有太多的家電設(shè)備,而它們的生產(chǎn)廠家不同,功能不一,往往紅外遙控器遙控界面是不一致的,而且使用的紅外通信協(xié)議也是各異的,無疑這會(huì)給用戶帶來找尋遙控器困難,分辨各類家電設(shè)備遙控器的煩惱。本設(shè)計(jì)即是基于此,設(shè)計(jì)一種整合各類家電遙控器協(xié)議的設(shè)備,用戶可以通過手機(jī)APP對(duì)家里的各種家電實(shí)行智能控制。這很好的解決了各類家電設(shè)備遙控器不兼容問題。
本系統(tǒng)通過設(shè)計(jì)一個(gè)ARM處理器為控制中樞,以WIFI、無線作為媒介,以轉(zhuǎn)向裝置和紅外發(fā)射裝置為遙控設(shè)備的智能控制系統(tǒng)來解決上述問題。如圖1所示。
圖1 家電智能控制系統(tǒng)
本系統(tǒng)設(shè)計(jì)以手機(jī)APP為系統(tǒng)輸入,用戶可以通過WIFI實(shí)現(xiàn)與該系統(tǒng)連接,通過手機(jī)APP界面上的指示,發(fā)送命令去控制家電。Cortex-M4控制器通過WIFI讀取用戶的命令并解析,調(diào)用內(nèi)部整合的紅外通信協(xié)議,然后通過無線模塊發(fā)送給轉(zhuǎn)向裝置,并通過紅外發(fā)射管發(fā)射指令給各類待控制的家電(如空調(diào)、電視、機(jī)頂盒、DVD等)。
本系統(tǒng)設(shè)計(jì)使用一個(gè)中央控制器去控制多個(gè)轉(zhuǎn)向裝置,從而實(shí)現(xiàn)用戶所有房間的全覆蓋。一個(gè)房間僅需要一個(gè)轉(zhuǎn)向裝置,通過轉(zhuǎn)向裝置轉(zhuǎn)動(dòng),實(shí)現(xiàn)房間中360°無死角精確控制。其中轉(zhuǎn)向裝置內(nèi)部是由控制板、兩個(gè)舵機(jī)和一個(gè)固定架組成。Cortex-M4可以向轉(zhuǎn)向裝置發(fā)送兩個(gè)舵機(jī)的轉(zhuǎn)動(dòng)角度,讓紅外發(fā)射管始終處于正朝待控制設(shè)備的狀態(tài)。其中舵機(jī)的轉(zhuǎn)向角預(yù)先設(shè)定好,并通過儲(chǔ)存設(shè)備保存,防止設(shè)備意外掉電而丟失數(shù)據(jù)。
該系統(tǒng)除了實(shí)現(xiàn)了智能控制不同房間的家電遙控設(shè)備,還裝配了一些傳感器,來對(duì)用戶的室內(nèi)情況實(shí)時(shí)監(jiān)控。如對(duì)室內(nèi)的溫濕度等環(huán)境信息的采集,然后自動(dòng)控制空調(diào)的工作狀態(tài),并將各個(gè)房間的采集信息顯示在中樞的OLED屏上和用戶APP上等。
該系統(tǒng)主要包括Cortex-M4微處理器,WIFI模塊,無線模塊,轉(zhuǎn)向裝置,液晶顯示模塊,溫濕度傳感器,儲(chǔ)存芯片,APP。
家電智能控制系統(tǒng)設(shè)計(jì)主要由WIFI交互數(shù)據(jù)、紅外發(fā)射、環(huán)境監(jiān)測(cè)三個(gè)部分組成。其處理器采用STM-32F407ZGT6;其WIFI模塊使用HLK-RM04;無線模塊使用低廉的NRF24L01;使用紅外收發(fā)模塊來發(fā)射數(shù)據(jù)或者學(xué)習(xí)鍵碼;DHT11為環(huán)境的信息采集模塊。
■2.1 WIFI交互數(shù)據(jù)硬件設(shè)計(jì)
WIFI數(shù)據(jù)交互是本系統(tǒng)設(shè)計(jì)最核心部分之一。主控芯片STM32F407ZGT6通過UART與HLK-RM04通信。WIFI在正常通信前,需要通過WEB配置或者通過串口使用AT指令集進(jìn)行配置。在配置好通信的各種參數(shù)(IP,gateway,mask,波特率等)之后,設(shè)為透?jìng)髂J?,此時(shí),主控芯片就可以與用戶APP進(jìn)行數(shù)據(jù)交互(用戶需控制設(shè)備的命令信息,傳感器采集的室內(nèi)環(huán)境信息等)。
■2.2 紅外發(fā)射的硬件設(shè)計(jì)
紅外發(fā)射是本系統(tǒng)的主要輸出部分,它通過無線模塊NRF24L01與主控芯片實(shí)現(xiàn)通信。閑置狀態(tài)下一直處于休眠模式(好處:低功耗,防止誤操作),當(dāng)主控芯片發(fā)出信號(hào)需要遙控設(shè)備工作時(shí),遙控設(shè)備才會(huì)被無線模塊的中斷腳喚醒,并控制舵機(jī)轉(zhuǎn)動(dòng)和發(fā)送指令。隨后,再次進(jìn)入休眠狀態(tài)。
圖2 傳統(tǒng)NEC編碼格式
■2.3 環(huán)境監(jiān)測(cè)硬件設(shè)計(jì)
環(huán)境狀態(tài)監(jiān)測(cè)采用DHT11模塊,它內(nèi)部集成了溫濕度傳感器,通過它實(shí)現(xiàn)對(duì)室內(nèi)的溫濕度的信息采集,并通過無線模塊NRF24L01的ACK將采集數(shù)據(jù)回傳至中央處理器,并通過WIFI模塊,將數(shù)據(jù)發(fā)送至用戶APP上顯示。
■3.1 紅外通信協(xié)議
市面上的紅外協(xié)議多樣,但主要是NEC通信協(xié)議。但是由于家電的廠商不同,它們并不是原封不動(dòng)的直接使用NEC通信協(xié)議,而是自己稍作修改。所以各種遙控器雖然不兼容,但是使用的最基本協(xié)議仍是NEC通信協(xié)議。故下面介紹NEC通信協(xié)議和幾種常用的修改方式。
3.1.1 NEC紅外通信協(xié)議
NEC協(xié)議的一幀數(shù)據(jù)包括5個(gè)部分,共32bits的數(shù)據(jù),分別是引導(dǎo)碼、用戶碼、用戶碼反碼、數(shù)據(jù)碼、數(shù)據(jù)碼反碼。所有碼值均是通過發(fā)送0或者1實(shí)現(xiàn)的,而邏輯1與邏輯0的有序組合被稱之為編碼。通常情況下,邏輯1是560μs有載波和1690μs的無載波;邏輯0是560μs的有載波與560μs的無載波。
其中引導(dǎo)碼的作用是提示將有數(shù)據(jù)要發(fā)送。其次是用戶碼,它是用來分辨發(fā)出信號(hào)者身份的碼值,隨后的用戶碼反碼是用來檢驗(yàn)用戶碼是否正確。數(shù)據(jù)碼是發(fā)送者發(fā)送的數(shù)據(jù),最后的數(shù)據(jù)碼反碼同理是用來校驗(yàn)數(shù)據(jù)碼。其編碼格式如圖2所示。
3.1.2 NEC的修改方式
不同的商家基于NEC協(xié)議變種出多種協(xié)議。例如空調(diào),它的功能比較多,而傳統(tǒng)的NEC一次就僅僅能發(fā)送一位有效數(shù)據(jù),故傳統(tǒng)的NEC就不再適用。所以廠家一般會(huì)改變一次發(fā)送的數(shù)據(jù)量,一幀的數(shù)據(jù)由若干位有效數(shù)據(jù)組成,把每一位賦予一定的含義,或者把某些固定位設(shè)為固定數(shù)據(jù),從而來校驗(yàn)數(shù)據(jù)。此外,還有些商家為了一次傳輸更多的數(shù)據(jù),把一次需要發(fā)送的數(shù)據(jù),分成兩段或者更多,一段一段的發(fā)送,段與段之間由連接碼連接??傊鼈兌蓟緷M足傳統(tǒng)的NEC的編碼格式。
■3.2 紅外碼值的存儲(chǔ)
正是由于商家的紅外協(xié)議不一致這一問題,我們整合了各種紅外協(xié)議,但是它仍然不能全部適用,故該系統(tǒng)設(shè)計(jì)還增加了一個(gè)裝置來學(xué)習(xí)不同遙控器鍵值的功能,實(shí)現(xiàn)雖然通信協(xié)議未知,仍然可以達(dá)到智能控制的目的。因此我們必須開辟一個(gè)空間專門來儲(chǔ)存我們的整合的紅外通信協(xié)議和學(xué)習(xí)的鍵值數(shù)據(jù)。該部分使用一個(gè)EEPROM來存儲(chǔ)數(shù)據(jù)。即是在掉電情況下,數(shù)據(jù)仍然不會(huì)丟失。
本設(shè)計(jì)實(shí)現(xiàn)了家電的智能控制并通過室內(nèi)環(huán)境數(shù)據(jù)的采集,反饋,自動(dòng)控制。僅僅通過一個(gè)APP即可控制室內(nèi)所有的家電紅外遙控設(shè)備,很好的解決了遙控器不兼容的問題。同樣,這一套系統(tǒng)可以很好的應(yīng)用于智能家居上,對(duì)室內(nèi)的家電的集中控制,遠(yuǎn)程智能控制等。
* [1]張召.基于STM32的智能家居控制系統(tǒng)設(shè)計(jì)[D].南昌航空大學(xué).2014
* [2]李靈.基于STM32的家居環(huán)境檢測(cè)和家電控制系統(tǒng)[D].杭州電子科技大學(xué).2014
* [3]王佳.基于STM32的智能家居控制系統(tǒng)的設(shè)計(jì)與開發(fā)[D].長(zhǎng)安大學(xué).2013
* [4]杜德飛.智能家居無線系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)[D].華南理工大學(xué).2012
* [5]侯海濤.國內(nèi)外智能家居發(fā)展現(xiàn)狀[J].建材發(fā)展導(dǎo)向.2004.05
* [6]吳建軍.智能家居系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué).2014