牛宇輝 麻 超 趙夢麗 李珺磊 李潤寧/上海工程技術大學電子電氣工程學院
基于紅外控制的智能家居網絡系統
牛宇輝 麻 超 趙夢麗 李珺磊 李潤寧/上海工程技術大學電子電氣工程學院
本設計以STM32為控制核心,手機APP為人機交互界面、互聯網作為信號傳輸媒介、STM32接收端進行紅外信號轉換、家中電器設備作為執行機構,通過該系統用戶可以通過手機APP遠程控制家中NEC紅外電器設備,突破紅外遙控的距離限制,該控制系統創造性的將網絡信號轉化成紅外信號,無需電器設備的升級換代,即可實現互聯網遠程控制紅外電器設備,通過手機APP控制具有控制方便,操作簡單等特點,互聯網傳輸控制指令具有傳輸距離遠,數據安全快速等優勢,將網絡信號轉化成紅外信號可以最大限度的降低家居智能化成本。
智能家居;紅外控制;網絡通訊
隨著網絡和嵌入式技術的發展,智能家居得到發展并成為物聯網的重要領域之一。但是目前的智能家居系統主要用在一些高檔社區并沒有進入普通家庭。制約智能家居系統推廣的主要因素有兩條,一是現有技術要對傳統設備不兼容,設備必須升級換代接入互聯網才能實現智能化控制,二是系統操作復雜,不易推廣。目前智能家居領域迫切需要建立一個成本低、穩定性高,而且方便操作的智能家居控制系統解決方案。本文提出了一種基于智能手機的智能家居控制系統,以手機APP作為智能家居控制終端,以互聯網為媒介,以STM32嵌入式系統為接收端,STM32接收端將APP的網絡信號轉換成紅外信號發出,可以兼容目前市面上的絕大多數的NEC紅外設備。最大限度地降低用戶構建智能家居使用成本。用戶通過手機就能夠隨時隨地查看家庭的實時狀態并進行操控管理,實現了對家居用電的隨時隨地在線管控,減少了家居能源的消耗本,該智能家居控制系統操作簡單,具有極強的兼容性軟件設計。
基于紅外控制的智能家居網絡系統包括手機APP客戶端,網絡服務器和STM32接收端。用戶通過手機發送控制指至令網絡服務器,服務器將接收到的控制指令轉發到家中的STM32接收設備,STM32接收端將來自服務器的網絡指令解析和處理之后以紅外信號發送到家中電氣設備。

圖1 控制系統框圖
接收端主要以STM32嵌入式控制芯片作為主控制器,外接各種傳感器模塊,通訊模塊組成。
1.控制器。
隨著近幾年微處理器的不斷發展, 各種微處理器已逐漸浮現,其中 ARM 系列芯片作為應用最廣泛的處理器之一。 ARM 內核具有兼容性好、功耗低、性能高等優點。 本文采用的是意法半導體(ST)公司生產的 STM32F407芯片,該芯片采用ARM Cortex-M4內核,主頻高達168MHz,具有14個定時器,144個接口,具有低功耗、集成度高、 處理速度快、低調試成本等眾多優點。 作為 ARM 系列的一員,由于其功能強、易開發、性價比高等特點,目前應用已十分廣泛.。十分符合本系統的設計要求和實際應用。
2.網絡模塊。
網絡模塊選擇ATK-ESP8266模塊,ESP8266是ALIENTEK推出的一款高性能的UART-WiFi(串口-無線)模塊,該模塊通過FCCCE認證,該模塊采用串口與MCU通信,內置TCP/IP協議棧,能夠實現串口與WIFI之間的轉換。通過ATK-ESP8266模塊,串口設備只是需要根據模塊通信協議,進行串口配置,即可通過網絡( WIFI)傳輸自己的數據。模塊支持串口轉WIFI STA、串口轉AP和WIFI STA+WIFI AP的模式。
3.NEC紅外模塊。
紅外模塊選擇NEC紅外發射模塊,該模塊內置硬件NEC協議可以節省單片機資源,提升控制系統的運行速度。單片機通過串口和紅外模塊相連,紅外 NEC模塊將單片機的指令以紅外信號發射給電器設備。
1.APP設計。
田青青大獲全勝,田家莊先進的旗幟繼續迎風飄揚。雪花飄也沒打蔫,她每天打扮得還是那么漂亮,昂著頭走在街上旁若無人。但她見了我卻很客氣,總是微微一笑,點點頭以示尊敬。
Android的APP客戶端控制系統設計主要包括用戶界面UI、Socket通信、SQLite數據庫的設計。Android應用程序由多個組件構成,其中包括activities、services、content providers、broadcast receivers等組件,每個組件在應用程序中執行不同的任務。
2.基于Socket通信。
在網絡編程方面,Android提供了非常好的支持。對于TCP傳輸,Android提供Socket和SetverSocket類。對于UDP傳輸,提供DatagramSocket和DatagramPackage類。Socket編程是底層的網絡編程方式,是建立與其他應用協議的基礎。通過建立Socket對象,就可以通過打開輸入輸出流進行通信。客戶端和服務器之間通信的實現一般需要下面九個基本步驟:
(1)建立Serversocket類對象,初始化服務器,等待客戶端發出連接請求;
(2)建立Socket類對象,初始化客戶端,同時向服務器發出連接請求;
(3)服務器響應客戶端請求并且實現服務器與客戶端的連接;
(5)服務器響應客戶端請求;
(6)服務器返回并處理客戶端的結果;
(7)客戶端接收服務器返回的結果;
(8)重復(4)至(7)步,直至客戶端結束對話;
(9)中斷連接,結束通信。
3.SQLite數據庫。
由于智能家居各種家居信息量較小.時期較短,無需較大的數據庫,所以本應用程序使用了Android的平臺內置的SQLite數據庫。SQLite可以減少應用程序管理數據的開銷,對于SQLite的操作,Android提供了SQLiteDam—base類和SQLiteOpenHelper類。SQLiteOpenHelper類提供兩個方法onCreat()和onUpgrade()對SQLite數據庫進行創建和更新,提供getWritableDatabase()方法來獲得數據庫對象。SQLiteDatabase類則提供一些方法,可以創建、刪除、執行SQL指令、完成常規的數據庫管理任務,如execSQL()可以執行SQL語句,insert()可以插入表項,update()可以更新表項等。數據庫主要存儲如下信息:,設備號,家用電器設備類型,各個設備的信息狀態。
4.STM32接收端軟件設計。
軟件設計的思想是,單片機通過esp8266網絡模塊配置好TCP/IP協議族的ARP、IP、ICMP、TCP、UDP、DHCP協議。在TCP—CLIENT模式下,STM32接收端主動向遠端服務器發出連接請求,遠端服務器相應的監聽程序在運行,則建立連接。連接建立后。接收端與遠程服務器可以進行雙向的數據傳輸,在與手機APP建立通訊鏈接之后,將APP的網絡信號以紅外信號的形式發出。軟件設計流程圖如圖2。

圖2 軟件設計流程圖
將開發完成的APP安裝在手機上,經多次測試,可以通過Internet上的服務器實現家居電器設備的遠程控制。通過本系統實現家居電器設備的集中控制,得到當前家居設備運行最新狀況。采用智能手機軟件控制+接收端信號轉化控制,和當前其他的幾種終端控制方式相比優勢明顯。采用的手機軟件具有通用性,易于移植。市場的應用價值高,易于推廣。本系統所需硬件簡單易用、穩定可靠,智能家居成本大大降低。
[1] 戴敏,王宜懷,潘啟勇.基于 ZigBee 技術的智能家居系統設計[J].計算機測量與控制,2013,21(3):0706-03.
[2] 董亮,張云.陳云化.基于限制廣播的 ZigBee 分布式動態能量均衡協議[J].傳感技術學報,2014,27(8):1120-1124.
[3]俞文俊,凌志浩.一種物聯網智能家居系統的研究[J].自動化儀表,2011,32(8):56—59.
[4]王云良,王敏其,程凌.智能家居網絡系統的優化及控制穩定性分析f J].自動化儀表,2014,35(8):78—82.