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