<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)ndroid平臺的電熱水器遠程控制系統

基于A(yíng)ndroid平臺的電熱水器遠程控制系統

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

0 引言

本文引用地址:http://dyxdggzs.com/article/201609/304012.htm

近幾年來(lái),人們的生活品質(zhì)不斷提高,傳統家電都在向安全、節能、多功能、智能化方向發(fā)展,的功能也在隨之完善。傳統儲水式儲水量大,加熱時(shí)間一般都比較長(cháng),長(cháng)期供熱必然造成電能的浪費。為了節約用電,很多人對進(jìn)行了改進(jìn),文獻采用數字技術(shù),在電熱水器中加入單片機定時(shí)裝置,配以外圍驅動(dòng)電路和繼電器,控制電熱水器電源通斷的時(shí)間。這種裝置雖然達到了節能的目的,但使用起來(lái)仍不方便,用戶(hù)外出時(shí)長(cháng)未知或臨時(shí)改變時(shí)無(wú)法更改加熱時(shí)間。為此,文獻在電熱水器中加入短信收發(fā)模塊,利用手機短信向電熱水器的MCU控制器發(fā)送指令,實(shí)現遠程遙控,此方法雖解決了靈活性問(wèn)題,但帶來(lái)額外的短信費用,不便于長(cháng)期使用,且無(wú)法隨時(shí)遠距離獲取水溫信息,因而未得到廣泛應用。

本文為滿(mǎn)足電熱水器控制的靈活性和水溫信息獲取方便性的要求,著(zhù)眼于已經(jīng)相當普及的Android手機,把智能手機作為移動(dòng)網(wǎng)絡(luò )終端,將其應用于傳統電熱水器,利用嵌入式開(kāi)發(fā)技術(shù)和GPRS遠程通信技術(shù),設計了一套電熱水器系統,本系統具有安裝方便、價(jià)格低廉、使用靈活、界面友好、實(shí)時(shí)監控等優(yōu)點(diǎn),且由于使用了開(kāi)放的,使得此系統的功能擴展和產(chǎn)品升級十分方便。

1 系統總體方案

電熱水器系統采用已經(jīng)十分成熟的客戶(hù)/服務(wù)器模式,總體方案如圖1所示,系統從結構上分為三個(gè)部分:客戶(hù)端、服務(wù)器和控制器。

基于A(yíng)ndroid平臺的電熱水器遠程控制系統

客戶(hù)端部署在A(yíng)ndroid手機上,接收來(lái)自用戶(hù)的各種控制命令,對獲取的指令加工處理后通過(guò)手機自帶的3G網(wǎng)絡(luò )將數據發(fā)送給服務(wù)器,并實(shí)時(shí)反饋命令執行情況,獲取并顯示水溫信息和電熱水器開(kāi)關(guān)狀態(tài);服務(wù)器由GPRS模塊及其控制器構成,利用大覆蓋、高可靠性、低成本的移動(dòng)互聯(lián)網(wǎng)絡(luò ),實(shí)現與客戶(hù)端握手和數據互傳;控制器與服務(wù)器端共用一個(gè)MCU,將接收到的用戶(hù)指令解碼后轉變?yōu)殚_(kāi)關(guān)控制命令,并利用高精度溫度傳感器提取實(shí)時(shí)水溫數值,再通過(guò)服務(wù)器下載到用戶(hù)手機,通過(guò)直觀(guān)、友好的人機界面顯示給用戶(hù),并等待用戶(hù)的下一步指令,從而實(shí)現整個(gè)系統的實(shí)時(shí)監控。

2 下的客戶(hù)端設計與實(shí)現

2.1 功能設計與操作流程

客戶(hù)端在A(yíng)ndroid手機上實(shí)現,利用Java語(yǔ)言開(kāi)發(fā)。這樣做的優(yōu)點(diǎn)是:界面友好、使用方便;開(kāi)發(fā)成本低、不需增加硬件;支持覆蓋廣、不受地域限制;保證數據傳輸的實(shí)時(shí)性和可靠性。為實(shí)現對電熱水器的,客戶(hù)端應具有以下功能:1)登錄服務(wù)器。獲取服務(wù)器IP地址,采用Socket方式,建立與服務(wù)器的連接。2)獲取用戶(hù)開(kāi)關(guān)指令并上傳。通過(guò)手機觸摸屏,獲取用戶(hù)開(kāi)關(guān)指令,編碼成字符串后上傳給服務(wù)器。3)實(shí)時(shí)提取并顯示水溫。向服務(wù)器發(fā)送請求,等待服務(wù)器向手機發(fā)送當前水溫數值字符串,獲取后解碼并在手機屏幕上顯示??蛻?hù)端操作流程如圖2所示。

基于A(yíng)ndroid平臺的電熱水器遠程控制系統

客戶(hù)端首先按照保存的IP地址連接服務(wù)器,如連接不成功,說(shuō)明服務(wù)器動(dòng)態(tài)IP己更改,則向服務(wù)器發(fā)送請求連接短信,等待服務(wù)器收到后將新IP地址通過(guò)字符串形式回發(fā)給客戶(hù)端,后者再次連接,實(shí)現Socket連接的建立;用戶(hù)的開(kāi)關(guān)指令編碼后由客戶(hù)端手機通過(guò)GPRS發(fā)送字符到服務(wù)器接收,“0”表示關(guān)閉熱水器,“1”表示加熱;指令發(fā)送后等待服務(wù)器回發(fā)的水溫值字符串,解碼后在手機屏幕上顯示;用戶(hù)可以通過(guò)手機設定水溫,服務(wù)器回發(fā)的水溫若達到設定值則停止加熱并發(fā)出聲音通知用戶(hù)。

2.2 Android Studio開(kāi)發(fā)平臺搭建

本系統的客戶(hù)端的編程采用Android Studio IDE開(kāi)發(fā)環(huán)境,它是Google于2013年發(fā)布的,與以往的Eclipse+ADT開(kāi)發(fā)環(huán)境相比,Android Studio提供了集成的Android開(kāi)發(fā)工具用于開(kāi)發(fā)和調試,安裝時(shí)不需手動(dòng)配置。該開(kāi)發(fā)環(huán)境對UI界面設計和編寫(xiě)代碼有更好地支持,具備功能強大的布局編輯器,支持拖拉UI控件并進(jìn)行效果預覽,并可以方便地調整設備上的多種分辨率。

該開(kāi)發(fā)平臺的搭建步驟十分簡(jiǎn)單:1)下載并安裝JDK,建立Java開(kāi)發(fā)環(huán)境;2)設置環(huán)境變量:JAVA HOME、CLASSPATH和PATH,指定到JDK安裝路徑;3)從Google官方網(wǎng)站或第三方網(wǎng)站下載并安裝android-studio-bundle-.exe文件,選擇默認選項,安裝程序會(huì )自動(dòng)配置Android開(kāi)發(fā)平臺。安裝完畢后,Android程序開(kāi)發(fā)平臺即搭建成功。

2.3 軟件主要模塊及關(guān)鍵代碼

(1)界面布局。根據客戶(hù)端功能設計,客戶(hù)端UI包括TextView、Button、Switch等控件,布局代碼存放在Layout.XML文件中,采用相對布局方式RelativeLayout,該方式是Android中最常用的布局方式之一,在A(yíng)ndroid Studio中利用鼠標拖動(dòng)即可實(shí)現,不需編寫(xiě)代碼。本程序所用控件及其功能如表1所示。

基于A(yíng)ndroid平臺的電熱水器遠程控制系統

(2)Switch監聽(tīng)器。利用可視化控件Switch來(lái)表示接受用戶(hù)指令并顯示電熱水器的開(kāi)關(guān)狀態(tài),設置Switch監聽(tīng)器代碼如下:

mySwitch.setOnCheckedChangeListener(newOnCheckedChangeListener()。

其中mySwitch為新建的Switch類(lèi)對象。其監聽(tīng)器實(shí)例化方法為:

基于A(yíng)ndroid平臺的電熱水器遠程控制系統

(3)Socket方式連接服務(wù)器。Socket通信則是在雙方建立起連接后就可以直接進(jìn)行數據的傳輸,在連接時(shí)可實(shí)現信息的主動(dòng)推送,而不需要每次由客戶(hù)端想服務(wù)器發(fā)送請求。本程序連接服務(wù)器通過(guò)響應Button監聽(tīng)器實(shí)現。調用OnclickListener()中的onClick()為登陸B(tài)utton控件設置按鍵監聽(tīng)器,在監聽(tīng)器中建立Intent對象,通過(guò)調用startActivity(intent)打開(kāi)與相應功能菜單相對應的Activity實(shí)現界面的跳轉。若鏈接超時(shí),則回出現網(wǎng)絡(luò )鏈接超時(shí)的提示,后臺發(fā)送請求短信,獲取服務(wù)器最新動(dòng)態(tài)IP地址,并重新鏈接網(wǎng)絡(luò )。建立Socket連接核心代碼如下:


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>