牛宇輝++麻超++趙夢麗++李珺磊++李潤寧
【摘 要】本設(shè)計(jì)以STM32為控制核心,手機(jī)APP為人機(jī)交互界面、互聯(lián)網(wǎng)作為信號(hào)傳輸媒介、STM32接收端進(jìn)行紅外信號(hào)轉(zhuǎn)換、家中電器設(shè)備作為執(zhí)行機(jī)構(gòu),通過該系統(tǒng)用戶可以通過手機(jī)APP遠(yuǎn)程控制家中NEC紅外電器設(shè)備,突破紅外遙控的距離限制,該控制系統(tǒng)創(chuàng)造性的將網(wǎng)絡(luò)信號(hào)轉(zhuǎn)化成紅外信號(hào),無需電器設(shè)備的升級(jí)換代,即可實(shí)現(xiàn)互聯(lián)網(wǎng)遠(yuǎn)程控制紅外電器設(shè)備,通過手機(jī)APP控制具有控制方便,操作簡單等特點(diǎn),互聯(lián)網(wǎng)傳輸控制指令具有傳輸距離遠(yuǎn),數(shù)據(jù)安全快速等優(yōu)勢,將網(wǎng)絡(luò)信號(hào)轉(zhuǎn)化成紅外信號(hào)可以最大限度的降低家居智能化成本。
【關(guān)鍵詞】智能家居;紅外控制;網(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ù)要對傳統(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)建智能家居使用成本。用戶通過手機(jī)就能夠隨時(shí)隨地查看家庭的實(shí)時(shí)狀態(tài)并進(jìn)行操控管理,實(shí)現(xiàn)了對家居用電的隨時(shí)隨地在線管控,減少了家居能源的消耗本,該智能家居控制系統(tǒng)操作簡單,具有極強(qiáng)的兼容性軟件設(shè)計(jì)。
一、控制系統(tǒng)設(shè)計(jì)概述
基于紅外控制的智能家居網(wǎng)絡(luò)系統(tǒng)包括手機(jī)APP客戶端,網(wǎng)絡(luò)服務(wù)器和STM32接收端。用戶通過手機(jī)發(fā)送控制指至令網(wǎng)絡(luò)服務(wù)器,服務(wù)器將接收到的控制指令轉(zhuǎn)發(fā)到家中的STM32接收設(shè)備,STM32接收端將來自服務(wù)器的網(wǎng)絡(luò)指令解析和處理之后以紅外信號(hào)發(fā)送到家中電氣設(shè)備。
二、硬件設(shè)計(jì)
接收端主要以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(串口-無線)模塊,該模塊通過FCCCE認(rèn)證,該模塊采用串口與MCU通信,內(nèi)置TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)串口與WIFI之間的轉(zhuǎn)換。通過ATK-ESP8266模塊,串口設(shè)備只是需要根據(jù)模塊通信協(xié)議,進(jìn)行串口配置,即可通過網(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ī)通過串口和紅外模塊相連,紅外 NEC模塊將單片機(jī)的指令以紅外信號(hào)發(fā)射給電器設(shè)備。
三、軟件設(shè)計(jì)
1.APP設(shè)計(jì)。
Android的APP客戶端控制系統(tǒng)設(shè)計(jì)主要包括用戶界面UI、Socket通信、SQLite數(shù)據(jù)庫的設(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提供了非常好的支持。對于TCP傳輸,Android提供Socket和SetverSocket類。對于UDP傳輸,提供DatagramSocket和DatagramPackage類。Socket編程是底層的網(wǎng)絡(luò)編程方式,是建立與其他應(yīng)用協(xié)議的基礎(chǔ)。通過建立Socket對象,就可以通過打開輸入輸出流進(jìn)行通信??蛻舳撕头?wù)器之間通信的實(shí)現(xiàn)一般需要下面九個(gè)基本步驟:
(1)建立Serversocket類對象,初始化服務(wù)器,等待客戶端發(fā)出連接請求;
(2)建立Socket類對象,初始化客戶端,同時(shí)向服務(wù)器發(fā)出連接請求;
(3)服務(wù)器響應(yīng)客戶端請求并且實(shí)現(xiàn)服務(wù)器與客戶端的連接;
(4)客戶端發(fā)出命令和數(shù)據(jù)給服務(wù)器;
(5)服務(wù)器響應(yīng)客戶端請求;
(6)服務(wù)器返回并處理客戶端的結(jié)果;
(7)客戶端接收服務(wù)器返回的結(jié)果;
(8)重復(fù)(4)至(7)步,直至客戶端結(jié)束對話;
(9)中斷連接,結(jié)束通信。
3.SQLite數(shù)據(jù)庫。
由于智能家居各種家居信息量較小.時(shí)期較短,無需較大的數(shù)據(jù)庫,所以本應(yīng)用程序使用了Android的平臺(tái)內(nèi)置的SQLite數(shù)據(jù)庫。SQLite可以減少應(yīng)用程序管理數(shù)據(jù)的開銷,對于SQLite的操作,Android提供了SQLiteDam—base類和SQLiteOpenHelper類。SQLiteOpenHelper類提供兩個(gè)方法onCreat()和onUpgrade()對SQLite數(shù)據(jù)庫進(jìn)行創(chuàng)建和更新,提供getWritableDatabase()方法來獲得數(shù)據(jù)庫對象。SQLiteDatabase類則提供一些方法,可以創(chuàng)建、刪除、執(zhí)行SQL指令、完成常規(guī)的數(shù)據(jù)庫管理任務(wù),如execSQL()可以執(zhí)行SQL語句,insert()可以插入表項(xiàng),update()可以更新表項(xiàng)等。數(shù)據(jù)庫主要存儲(chǔ)如下信息:,設(shè)備號(hào),家用電器設(shè)備類型,各個(gè)設(shè)備的信息狀態(tài)。
4.STM32接收端軟件設(shè)計(jì)。
軟件設(shè)計(jì)的思想是,單片機(jī)通過esp8266網(wǎng)絡(luò)模塊配置好TCP/IP協(xié)議族的ARP、IP、ICMP、TCP、UDP、DHCP協(xié)議。在TCP—CLIENT模式下,STM32接收端主動(dòng)向遠(yuǎn)端服務(wù)器發(fā)出連接請求,遠(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。
四、結(jié)束語
將開發(fā)完成的APP安裝在手機(jī)上,經(jīng)多次測試,可以通過Internet上的服務(wù)器實(shí)現(xiàn)家居電器設(shè)備的遠(yuǎn)程控制。通過本系統(tǒng)實(shí)現(xiàn)家居電器設(shè)備的集中控制,得到當(dāng)前家居設(shè)備運(yùn)行最新狀況。采用智能手機(jī)軟件控制+接收端信號(hào)轉(zhuǎn)化控制,和當(dāng)前其他的幾種終端控制方式相比優(yōu)勢明顯。采用的手機(jī)軟件具有通用性,易于移植。市場的應(yīng)用價(jià)值高,易于推廣。本系統(tǒng)所需硬件簡單易用、穩(wěn)定可靠,智能家居成本大大降低。
參考文獻(xiàn):
[1] 戴敏,王宜懷,潘啟勇.基于 ZigBee 技術(shù)的智能家居系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,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.