国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android的空調遠程控制系統(tǒng)

2018-11-13 05:31王耀青解聰
現代電子技術 2018年22期
關鍵詞:遠程控制數據采集

王耀青 解聰

摘 要: 為了實現對于空調的遠程控制,設計一種基于Android的空調遠程控制系統(tǒng)。系統(tǒng)利用CC2530作為主控制器,結合紅外學習技術、WiFi無線通信技術,擴展了對空調的控制方式。采用ZigBee終端模塊實現對紅外數據的采集、存儲,同時通過Android客戶端發(fā)送控制命令驅動ZigBee終端實現對于空調的遠程實時控制?;贏ndroid平臺和異步socket技術設計出一款與云服務器進行通信的APP應用程序。測試結果表明,該系統(tǒng)通過APP應用程序實現了對空調的遠程實時控制和溫度的采集。該方案經濟合理,易于實現,可以應用在其他的家電領域。

關鍵詞: 遠程控制; Android; 紅外數據處理; 云服務器; 數據采集; socket技術

中圖分類號: TN929.5?34 文獻標識碼: A 文章編號: 1004?373X(2018)22?0030?04

Abstract: An air conditioning remote control system based on Android is designed to realize remote control of air conditioner. In the system, the control mode of air conditioner is extended by taking the CC2530 as the main controller, and combining with the infrared learning technology and WiFi wireless communication technology. The ZigBee terminal module is used in the system to realize acquisition and storage of infrared data. The control commands are sent by the Android client to drive the Zigbee terminal, so as to realize real?time remote control of air conditioner. An APP application program communicating with the cloud server is designed based on the Android platform and asynchronous socket technology. The test results show that the system can realize real?time remote control and temperature acquisition of air conditioner by using the APP application program. The scheme is economic, reasonable, easy to be implemented, and can be applied in other home appliances.

Keywords: remote control; Android; infrared data processing; cloud server; data acquisition; socket technology

近年來,隨著物聯(lián)網的發(fā)展,家用電器的網絡遠程智能化控制技術的不斷深入,以Internet為核心的控制方式正在逐步融入傳統(tǒng)的控制方式。相對于傳統(tǒng)的紅外控制方式,遠程控制方式可以遠距離對家用設備實施控制,而不受物理距離的限制。本文提出一種基于Android手機并通過云平臺連接家居網關的方式,實現了對于空調的遠程實時控制。本系統(tǒng)結合傳統(tǒng)的遙控器控制方式,可以方便地實現近距離與遠程對空調的實時控制。

1 系統(tǒng)總體方案

整個系統(tǒng)由4個部分組成:Android客戶端模塊、云服務器模塊、WiFi?ZigBee網關模塊和ZigBee模塊[1]??傮w框架圖如圖1所示。

Android客戶端模塊作為控制終端,負責發(fā)送指令至云服務器模塊以及接收系統(tǒng)反饋的網絡數據,并作為終端顯示在屏幕上。云服務器模塊作為Android客戶端與WiFi?ZigBee網關模塊之間的橋梁,負責對接收到的數據進行轉發(fā)。WiFi?ZigBee網關模塊接收云服務器模塊的數據,并對數據進行解析和處理后,將其發(fā)送給ZigBee模塊。ZigBee模塊作為執(zhí)行機構,負責采集溫度數據和紅外編碼數據,以及發(fā)送紅外信號,實現對控制的實時控制。

2 系統(tǒng)硬件設計

系統(tǒng)的硬件部分主要由兩個部分組成,分別是WiFi?ZigBee網關模塊和ZigBee終端模塊。兩個模塊共同作用完成數據的傳輸和對空調的控制。

2.1 WiFi?ZigBee網關模塊

WiFi?ZigBee模塊由WiFi模塊和ZigBee協(xié)調器模塊兩個部分組成,兩者之間通過串口進行連接,實現Internet網絡和ZigBee網絡兩種不同網絡之間的通信。

1) WiFi模塊采用RT5350作為主控芯片,通過在RT5350芯片內刷入openwrt固件并進行相應的配置,連接到家庭的無線局域網中,實現網關與外部網絡的互聯(lián)。WiFi模塊實現與云服務器和ZigBee協(xié)調器模塊的通信,實現數據的上傳和下載以及數據的實時傳輸。

2) ZigBee協(xié)調器模塊采用CC2530芯片作為主控芯片,ZigBee協(xié)調器模塊上電自動組建網絡,當有新的ZigBee終端設備加入進來時,完成與ZigBee終端設備的連接通信,同時通過串口完成與WiFi模塊數據的交互。

2.2 ZigBee終端模塊

ZigBee終端模塊采用CC2530芯片作為主控制器,結合溫濕度傳感器、紅外接收模塊、紅外發(fā)送模塊,實現溫濕度數據和紅外數據的采集和發(fā)送。

1) 溫濕度傳感器模塊采用DHT11模塊,內含1個電阻式感濕元件和1個NTC測溫元件,能夠精確地檢測環(huán)境實時溫濕度。

2) ZigBee模塊使用HX1838作為紅外接收模塊采集紅外數據。通過紅外學習的方式對空調遙控器信號進行學習,通過檢測HX1838模塊數據引腳的高低電平的時間,完成信號的采集和編碼,并將采集的數據保存在本地內存中[2]。

3) 紅外發(fā)送模塊通過內部定時器產生38 kHz的紅外載波信號,將接收到的紅外數據進行適當的處理后,加載到38 kHz的載波上,通過紅外發(fā)射管發(fā)射出去,從而實現對空調的控制。

3 系統(tǒng)軟件設計

3.1 軟件系統(tǒng)總體框架

本系統(tǒng)通過Android客戶端發(fā)出控制命令,云服務器接收到控制命令后轉發(fā)給與云服務器相連的網關,網關的WiFi模塊經過WAN口接收控制命令,然后對接收到的控制命令進行處理和解析,將處理的結果發(fā)送給網關的協(xié)調器模塊[3]。協(xié)調器模塊以中轉站的身份將接收到的命令發(fā)送給ZigBee控制終端,ZigBee終端響應控制命令執(zhí)行相應的控制操作,最終實現Android智能手機對空調的遠程控制。

系統(tǒng)軟件設計主要分為ZigBee協(xié)調器模塊、ZigBee終端節(jié)點模塊、WiFi模塊設計以及Android客戶端模塊四個部分。ZigBee終端節(jié)點模塊實現對于空調的直接控制,ZigBee協(xié)調器模塊和WiFi模塊共同作用實現Internet網和ZigBee網絡兩種不同網絡之間的通信,Android客戶端模塊完成命令的發(fā)送和網絡數據的接收及顯示。

3.2 ZigBee終端節(jié)點模塊設計

ZigBee終端節(jié)點是整個系統(tǒng)的控制設備終端,通過在節(jié)點上配備了相應的傳感器模塊或控制模塊,對環(huán)境進行實時監(jiān)視和對電器設備實時控制[4]。系統(tǒng)利用Android手機發(fā)送的命令控制空調??照{的控制分為兩個模式,分別是學習模式和發(fā)射模式。首先在ZigBee終端之中使用紅外學習模式將空調的狀態(tài)數據全部學習完成[5],并將學習到的數據存儲到ZigBee終端的內存中,之后自動進入紅外的發(fā)送模式,通過Android發(fā)送紅外發(fā)射指令控制空調。利用ZigBee自組網的特點,實現ZigBee終端與協(xié)調器的組網連接[6]。ZigBee終端不斷檢測WiFi?ZigBee網關與ZigBee終端之間的數據,當ZigBee終端檢測到從網關發(fā)送的命令時,就啟動ZigBee終端上相應的控制命令,通過判斷網關發(fā)送的控制命令,解析出命令是紅外控制命令還是溫度控制命令。當終端檢測到溫度控制命令時,就將DHT11檢測到的溫濕度數據通過網關發(fā)送給云服務器,并最終發(fā)送到Android客戶端之中。當終端檢測到紅外控制命令時,就啟動紅外發(fā)送模塊發(fā)送出紅外信號,實現對空調的實時控制。終端節(jié)點控制圖如圖2所示。

3.2.1 紅外數據的采集

不同生產廠家空調的協(xié)議差別很大,編碼方式多種多樣。為解決不同的協(xié)議差別,本文采用紅外學習的方法采集空調紅外數據,利用設定的周期對數字信號進行采集,進行數據壓縮后保存到本地的內存中。數字I/O采集一般有兩種方案:一是利用外部中斷直接捕獲數字信號變換,可以根據信號特性設置為上升沿或下降沿中斷;二是直接用GPIO端口定時讀入。經對比試驗,方案2代碼占用資源更少,且采樣時間可以預測,也完全滿足要求[7]。而中斷1中需要多個中斷服務程序,且在協(xié)議棧之中,由于系統(tǒng)執(zhí)行輪詢的操作系統(tǒng),對于高頻率的中斷反應不及時,導致采樣結果不精確。

3.2.2 溫度數據的采集

系統(tǒng)采用DHT11模塊采集室內的溫濕度數據,當接收到溫濕度命令時,開啟溫濕度采集過程,并將采集的結果通過終端節(jié)點上報給網關。

3.3 ZigBee協(xié)調器模塊設計

ZigBee主控制器負責網絡的建立、維護和數據的中轉,主要任務是為各個終端設備分配地址,建立和維護網絡,完成和各個傳感器節(jié)點間的信息交換和通信[8],通過串口通信完成與openwrt系統(tǒng)的數據交換。ZigBee協(xié)調器不停地檢測串口,當接收到來自WiFi模塊的數據時,及時采集串口中的數據,并通過ZigBee事件機制,設置這個任務產生了哪類事件,當系統(tǒng)再次輪詢時,查詢事件標志位,調用相應的事件處理函數,將數據發(fā)送到ZigBee終端節(jié)點。同時ZigBee終端模塊通過響應控制命令,將采集到的數據通過網關最終將結果上報到云服務器。

3.4 WiFi模塊設計

網關實現WiFi模塊與ZigBee終端和外部云服務器的通信,是ZigBee網絡和Internet網絡之間通信的橋梁[9]。在網關內部使用串口協(xié)議進行兩種不同網絡之間的通信。WiFi模塊通過建立socket套接字與云服務器進行通信,并不斷地監(jiān)聽是否有云服務器遠程調用,并將監(jiān)聽的結果寫入到串口中,供協(xié)調器模塊讀取。同時不斷地檢測是否有ZigBee數據幀寫入到串口中,并將從串口中讀取到的數據通過tcp協(xié)議發(fā)送至云服務器。WiFi模塊軟件流程圖如圖3所示。

RT5350模塊與ZigBee協(xié)調器的協(xié)議轉換是利用串口實現的,在WiFi模塊中將串口初始化為與協(xié)調器模塊相同的串口數據格式,依次設置串口控制器波特率,數據位、停止位、奇偶檢驗位,同時設置讀取串口的最大時間,防止串口堵塞。當串口存在數據時,協(xié)調器和RT5350模塊根據需要分別讀取串口數據。

3.5 Android客戶端模塊設計

Android客戶端是整個遠程控制的移動終端,通過對Android應用程序的操作完成整個控制過程。Android應用程序APP與云服務器通過云服務器分配的唯一accesskey進行登錄連接,保證整個過程的安全性。APP應用程序與云服務器連接成功后,將命令發(fā)送給云服務器,云服務器響應命令完成命令的轉發(fā),完成整個系統(tǒng)的遠程控制。

本系統(tǒng)的網絡通信模塊基于TCP/IP協(xié)議的socket通信機制,實現Android客戶端與云服務器的連接。當連接到云服務器之后,開啟新線程,在子線程內創(chuàng)建socket輸入輸出流,發(fā)送網絡數據和接收網絡數據。當接收到網絡數據時,通過handle[10]機制將接收到的數據發(fā)送給主線程并在主頁面上顯示出來。在主線程之中設置事件監(jiān)聽器,當按鈕被按下時,觸發(fā)子線程的命令發(fā)送函數,將按鈕對應的控制命令發(fā)送給云服務器,通過監(jiān)聽云服務器返回值,確定命令是否發(fā)送成功。

4 云服務器模塊

本文使用Herk云作為整個系統(tǒng)的云服務器模塊對數據進行控制,根據命令將獲取到的數據發(fā)送給Android客戶端和網關。并且由于此云服務器特點的單一性,每一個連接到此云服務器的設備都會分配一個唯一的標志符(csrftoken),只有用戶終端的標識符與設備終端的標識符匹配,才能連接到被控設備,并且與之進行通信,極大地保證了整個系統(tǒng)的安全性。云服務器與設備終端和用戶終端采用HTTP協(xié)議進行通信,用戶終端和設備終端分別使用注冊到云服務器獲取的用戶密鑰userAccessKey和設備密鑰deviceAccessKey進行登錄,取得云端的訪問權限。Android客戶端和設備終端可以將數據及時地傳送給云服務器,同時也可以將云平臺下發(fā)的數據發(fā)送給設備終端和用戶終端,實現對數據的轉發(fā),最終實現Android客戶端、云端以及網關之間的通信。

5 系統(tǒng)的測試

系統(tǒng)功能的測試是檢驗整個系統(tǒng)是否能夠達到正確控制的必要步驟,在實驗中,分別測試溫度數據的采集和空調的實時控制。先使用APP發(fā)送控制命令,檢測當前環(huán)境下的實際溫度值,將檢測到的溫度值進行上傳,最終上報到Android客戶端,并通過客戶端程序將溫度值顯示出來。檢測到的溫度值以及空調調節(jié)的溫度值如圖4所示。

其次,在手機中通過按鈕發(fā)送控制命令,控制空調的開關狀態(tài)和溫度調節(jié)。通過紅外接收模塊,ZigBee終端通過串口收到的控制空調開機的一組紅外編碼為:{ 175 170 23 62 23 19 23 61 23 61 23 19 22 19 23 62 22 20 22 19 22…}。對這組紅外編碼經過處理并存儲后,通過Android手機發(fā)送的控制命令驅動紅外發(fā)送模塊控制空調。經過測試,該系統(tǒng)能夠精確地實現對空調的控制。

6 結 語

本文系統(tǒng)充分利用ZigBee終端的I/O資源與自組網功能,實現了空調紅外數據的學習和存儲,同時將ZigBee終端與WiFi?ZigBee網關結合起來,實現了ZigBee模塊的入網功能,增強了與外部的聯(lián)系。同時在系統(tǒng)之中引入云平臺,將云平臺與Android手機以及空調相結合,實現了對傳統(tǒng)空調控制方式的改造。在增加用戶體驗舒適度的同時,擴展了智能家居的智能化程度,更有利于今后智能家居的進一步擴展。

參考文獻

[1] 張紫謙,衷衛(wèi)聲,梁凱.基于Android終端的物聯(lián)網家居環(huán)境監(jiān)測系統(tǒng)設計[J].測控技術,2016,35(2):108?111.

ZHANG Ziqian, ZHONG Weisheng, LIANG Kai. Design of the Internet of Things home environment monitoring system based on Android terminal [J]. Measurement & control technology, 2016, 35(2): 108?111.

[2] 陳雙葉,咸耀山,丁迎來,等.基于WiFi控制的具有自學習能力的紅外遙控裝置[J].信息通信技術,2016,10(3):70?75.

CHEN Shuangye, XIAN Yaoshan, DING Yinglai, et al. Infrared remote control device with self?learning ability based on WiFi control [J]. Information and communications technologies, 2016, 10(3):70?75.

[3] 周平,呂勇,易愷迪,等.基于PC的智能家電無線紅外遙控系統(tǒng)[J].現代計算機,2015(1):36?41.

ZHOU Ping, L? Yong, YI Kaidi, et al. Wireless infrared control system of intelligent appliances based on PC [J]. Modern computer, 2015(1): 36?41.

[4] 李宇,王衛(wèi)星,陳潤澤.基于ZigBee的物聯(lián)網智能家居系統(tǒng)[J].電子測試,2016(5):71?75.

LI Yu, WANG Weixing, CHEN Runze. The design of Internet of Things smart home system based on ZigBee [J]. Electronic test, 2016(5): 71?75.

[5] 任峰,屈璟,崔志誠.一種帶紅外遙控功能的智能插座的設計與實現[J].電腦知識與技術,2016,12(32):180.

猜你喜歡
遠程控制數據采集
水冷發(fā)射機冷卻系統(tǒng)故障分析及解決方案
基于GSM的遠程控制系統(tǒng)
基于廣播模式的數據實時采集與處理系統(tǒng)
通用Web表單數據采集系統(tǒng)的設計與實現
基于開源系統(tǒng)的綜合業(yè)務數據采集系統(tǒng)的開發(fā)研究