牛宇輝 麻 超 趙夢(mèng)麗 李珺磊 李潤(rùn)寧/上海工程技術(shù)大學(xué)電子電氣工程學(xué)院
基于紅外控制的智能家居網(wǎng)絡(luò)系統(tǒng)
牛宇輝 麻 超 趙夢(mèng)麗 李珺磊 李潤(rùn)寧/上海工程技術(shù)大學(xué)電子電氣工程學(xué)院
本設(shè)計(jì)以STM32為控制核心,手機(jī)APP為人機(jī)交互界面、互聯(lián)網(wǎng)作為信號(hào)傳輸媒介、STM32接收端進(jìn)行紅外信號(hào)轉(zhuǎn)換、家中電器設(shè)備作為執(zhí)行機(jī)構(gòu),通過(guò)該系統(tǒng)用戶可以通過(guò)手機(jī)APP遠(yuǎn)程控制家中NEC紅外電器設(shè)備,突破紅外遙控的距離限制,該控制系統(tǒng)創(chuàng)造性的將網(wǎng)絡(luò)信號(hào)轉(zhuǎn)化成紅外信號(hào),無(wú)需電器設(shè)備的升級(jí)換代,即可實(shí)現(xiàn)互聯(lián)網(wǎng)遠(yuǎn)程控制紅外電器設(shè)備,通過(guò)手機(jī)APP控制具有控制方便,操作簡(jiǎn)單等特點(diǎn),互聯(lián)網(wǎng)傳輸控制指令具有傳輸距離遠(yuǎn),數(shù)據(jù)安全快速等優(yōu)勢(shì),將網(wǎng)絡(luò)信號(hào)轉(zhuǎn)化成紅外信號(hào)可以最大限度的降低家居智能化成本。
智能家居;紅外控制;網(wǎng)絡(luò)通訊
隨著網(wǎng)絡(luò)和嵌入式技術(shù)的發(fā)展,智能家居得到發(fā)展并成為物聯(lián)網(wǎng)的重要領(lǐng)域之一。但是目前的智能家居系統(tǒng)主要用在一些高檔社區(qū)并沒有進(jìn)入普通家庭。制約智能家居系統(tǒng)推廣的主要因素有兩條,一是現(xiàn)有技術(shù)要對(duì)傳統(tǒng)設(shè)備不兼容,設(shè)備必須升級(jí)換代接入互聯(lián)網(wǎng)才能實(shí)現(xiàn)智能化控制,二是系統(tǒng)操作復(fù)雜,不易推廣。目前智能家居領(lǐng)域迫切需要建立一個(gè)成本低、穩(wěn)定性高,而且方便操作的智能家居控制系統(tǒng)解決方案。本文提出了一種基于智能手機(jī)的智能家居控制系統(tǒng),以手機(jī)APP作為智能家居控制終端,以互聯(lián)網(wǎng)為媒介,以STM32嵌入式系統(tǒng)為接收端,STM32接收端將APP的網(wǎng)絡(luò)信號(hào)轉(zhuǎn)換成紅外信號(hào)發(fā)出,可以兼容目前市面上的絕大多數(shù)的NEC紅外設(shè)備。最大限度地降低用戶構(gòu)建智能家居使用成本。用戶通過(guò)手機(jī)就能夠隨時(shí)隨地查看家庭的實(shí)時(shí)狀態(tài)并進(jìn)行操控管理,實(shí)現(xiàn)了對(duì)家居用電的隨時(shí)隨地在線管控,減少了家居能源的消耗本,該智能家居控制系統(tǒng)操作簡(jiǎn)單,具有極強(qiáng)的兼容性軟件設(shè)計(jì)。
基于紅外控制的智能家居網(wǎng)絡(luò)系統(tǒng)包括手機(jī)APP客戶端,網(wǎng)絡(luò)服務(wù)器和STM32接收端。用戶通過(guò)手機(jī)發(fā)送控制指至令網(wǎng)絡(luò)服務(wù)器,服務(wù)器將接收到的控制指令轉(zhuǎn)發(fā)到家中的STM32接收設(shè)備,STM32接收端將來(lái)自服務(wù)器的網(wǎng)絡(luò)指令解析和處理之后以紅外信號(hào)發(fā)送到家中電氣設(shè)備。
圖1 控制系統(tǒng)框圖
接收端主要以STM32嵌入式控制芯片作為主控制器,外接各種傳感器模塊,通訊模塊組成。
1.控制器。
隨著近幾年微處理器的不斷發(fā)展, 各種微處理器已逐漸浮現(xiàn),其中 ARM 系列芯片作為應(yīng)用最廣泛的處理器之一。 ARM 內(nèi)核具有兼容性好、功耗低、性能高等優(yōu)點(diǎn)。 本文采用的是意法半導(dǎo)體(ST)公司生產(chǎn)的 STM32F407芯片,該芯片采用ARM Cortex-M4內(nèi)核,主頻高達(dá)168MHz,具有14個(gè)定時(shí)器,144個(gè)接口,具有低功耗、集成度高、 處理速度快、低調(diào)試成本等眾多優(yōu)點(diǎn)。 作為 ARM 系列的一員,由于其功能強(qiáng)、易開發(fā)、性價(jià)比高等特點(diǎn),目前應(yīng)用已十分廣泛.。十分符合本系統(tǒng)的設(shè)計(jì)要求和實(shí)際應(yīng)用。
2.網(wǎng)絡(luò)模塊。
網(wǎng)絡(luò)模塊選擇ATK-ESP8266模塊,ESP8266是ALIENTEK推出的一款高性能的UART-WiFi(串口-無(wú)線)模塊,該模塊通過(guò)FCCCE認(rèn)證,該模塊采用串口與MCU通信,內(nèi)置TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)串口與WIFI之間的轉(zhuǎn)換。通過(guò)ATK-ESP8266模塊,串口設(shè)備只是需要根據(jù)模塊通信協(xié)議,進(jìn)行串口配置,即可通過(guò)網(wǎng)絡(luò)( WIFI)傳輸自己的數(shù)據(jù)。模塊支持串口轉(zhuǎn)WIFI STA、串口轉(zhuǎn)AP和WIFI STA+WIFI AP的模式。
3.NEC紅外模塊。
紅外模塊選擇NEC紅外發(fā)射模塊,該模塊內(nèi)置硬件NEC協(xié)議可以節(jié)省單片機(jī)資源,提升控制系統(tǒng)的運(yùn)行速度。單片機(jī)通過(guò)串口和紅外模塊相連,紅外 NEC模塊將單片機(jī)的指令以紅外信號(hào)發(fā)射給電器設(shè)備。
1.APP設(shè)計(jì)。
田青青大獲全勝,田家莊先進(jìn)的旗幟繼續(xù)迎風(fēng)飄揚(yáng)。雪花飄也沒打蔫,她每天打扮得還是那么漂亮,昂著頭走在街上旁若無(wú)人。但她見了我卻很客氣,總是微微一笑,點(diǎn)點(diǎn)頭以示尊敬。
Android的APP客戶端控制系統(tǒng)設(shè)計(jì)主要包括用戶界面UI、Socket通信、SQLite數(shù)據(jù)庫(kù)的設(shè)計(jì)。Android應(yīng)用程序由多個(gè)組件構(gòu)成,其中包括activities、services、content providers、broadcast receivers等組件,每個(gè)組件在應(yīng)用程序中執(zhí)行不同的任務(wù)。
2.基于Socket通信。
在網(wǎng)絡(luò)編程方面,Android提供了非常好的支持。對(duì)于TCP傳輸,Android提供Socket和SetverSocket類。對(duì)于UDP傳輸,提供DatagramSocket和DatagramPackage類。Socket編程是底層的網(wǎng)絡(luò)編程方式,是建立與其他應(yīng)用協(xié)議的基礎(chǔ)。通過(guò)建立Socket對(duì)象,就可以通過(guò)打開輸入輸出流進(jìn)行通信??蛻舳撕头?wù)器之間通信的實(shí)現(xiàn)一般需要下面九個(gè)基本步驟:
(1)建立Serversocket類對(duì)象,初始化服務(wù)器,等待客戶端發(fā)出連接請(qǐng)求;
(2)建立Socket類對(duì)象,初始化客戶端,同時(shí)向服務(wù)器發(fā)出連接請(qǐng)求;
(3)服務(wù)器響應(yīng)客戶端請(qǐng)求并且實(shí)現(xiàn)服務(wù)器與客戶端的連接;
(5)服務(wù)器響應(yīng)客戶端請(qǐng)求;
(6)服務(wù)器返回并處理客戶端的結(jié)果;
(7)客戶端接收服務(wù)器返回的結(jié)果;
(8)重復(fù)(4)至(7)步,直至客戶端結(jié)束對(duì)話;
(9)中斷連接,結(jié)束通信。
3.SQLite數(shù)據(jù)庫(kù)。
由于智能家居各種家居信息量較?。畷r(shí)期較短,無(wú)需較大的數(shù)據(jù)庫(kù),所以本應(yīng)用程序使用了Android的平臺(tái)內(nèi)置的SQLite數(shù)據(jù)庫(kù)。SQLite可以減少應(yīng)用程序管理數(shù)據(jù)的開銷,對(duì)于SQLite的操作,Android提供了SQLiteDam—base類和SQLiteOpenHelper類。SQLiteOpenHelper類提供兩個(gè)方法onCreat()和onUpgrade()對(duì)SQLite數(shù)據(jù)庫(kù)進(jìn)行創(chuàng)建和更新,提供getWritableDatabase()方法來(lái)獲得數(shù)據(jù)庫(kù)對(duì)象。SQLiteDatabase類則提供一些方法,可以創(chuàng)建、刪除、執(zhí)行SQL指令、完成常規(guī)的數(shù)據(jù)庫(kù)管理任務(wù),如execSQL()可以執(zhí)行SQL語(yǔ)句,insert()可以插入表項(xiàng),update()可以更新表項(xiàng)等。數(shù)據(jù)庫(kù)主要存儲(chǔ)如下信息:,設(shè)備號(hào),家用電器設(shè)備類型,各個(gè)設(shè)備的信息狀態(tài)。
4.STM32接收端軟件設(shè)計(jì)。
軟件設(shè)計(jì)的思想是,單片機(jī)通過(guò)esp8266網(wǎng)絡(luò)模塊配置好TCP/IP協(xié)議族的ARP、IP、ICMP、TCP、UDP、DHCP協(xié)議。在TCP—CLIENT模式下,STM32接收端主動(dòng)向遠(yuǎn)端服務(wù)器發(fā)出連接請(qǐng)求,遠(yuǎn)端服務(wù)器相應(yīng)的監(jiān)聽程序在運(yùn)行,則建立連接。連接建立后。接收端與遠(yuǎn)程服務(wù)器可以進(jìn)行雙向的數(shù)據(jù)傳輸,在與手機(jī)APP建立通訊鏈接之后,將APP的網(wǎng)絡(luò)信號(hào)以紅外信號(hào)的形式發(fā)出。軟件設(shè)計(jì)流程圖如圖2。
圖2 軟件設(shè)計(jì)流程圖
將開發(fā)完成的APP安裝在手機(jī)上,經(jīng)多次測(cè)試,可以通過(guò)Internet上的服務(wù)器實(shí)現(xiàn)家居電器設(shè)備的遠(yuǎn)程控制。通過(guò)本系統(tǒng)實(shí)現(xiàn)家居電器設(shè)備的集中控制,得到當(dāng)前家居設(shè)備運(yùn)行最新狀況。采用智能手機(jī)軟件控制+接收端信號(hào)轉(zhuǎn)化控制,和當(dāng)前其他的幾種終端控制方式相比優(yōu)勢(shì)明顯。采用的手機(jī)軟件具有通用性,易于移植。市場(chǎng)的應(yīng)用價(jià)值高,易于推廣。本系統(tǒng)所需硬件簡(jiǎn)單易用、穩(wěn)定可靠,智能家居成本大大降低。
[1] 戴敏,王宜懷,潘啟勇.基于 ZigBee 技術(shù)的智能家居系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2013,21(3):0706-03.
[2] 董亮,張?jiān)?陳云化.基于限制廣播的 ZigBee 分布式動(dòng)態(tài)能量均衡協(xié)議[J].傳感技術(shù)學(xué)報(bào),2014,27(8):1120-1124.
[3]俞文俊,凌志浩.一種物聯(lián)網(wǎng)智能家居系統(tǒng)的研究[J].自動(dòng)化儀表,2011,32(8):56—59.
[4]王云良,王敏其,程凌.智能家居網(wǎng)絡(luò)系統(tǒng)的優(yōu)化及控制穩(wěn)定性分析f J].自動(dòng)化儀表,2014,35(8):78—82.