色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Android平臺(tái)的電熱水器遠(yuǎn)程控制系統(tǒng)

          基于Android平臺(tái)的電熱水器遠(yuǎn)程控制系統(tǒng)

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

          0 引言

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

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

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

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

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

          基于Android平臺(tái)的電熱水器遠(yuǎn)程控制系統(tǒng)

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

          2 下的客戶(hù)端設(shè)計(jì)與實(shí)現(xiàn)

          2.1 功能設(shè)計(jì)與操作流程

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

          基于Android平臺(tái)的電熱水器遠(yuǎn)程控制系統(tǒng)

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

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

          本系統(tǒng)的客戶(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ā)和調(diào)試,安裝時(shí)不需手動(dòng)配置。該開(kāi)發(fā)環(huán)境對(duì)UI界面設(shè)計(jì)和編寫(xiě)代碼有更好地支持,具備功能強(qiáng)大的布局編輯器,支持拖拉UI控件并進(jìn)行效果預(yù)覽,并可以方便地調(diào)整設(shè)備上的多種分辨率。

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

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

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

          基于Android平臺(tái)的電熱水器遠(yuǎn)程控制系統(tǒng)

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

          mySwitch.setOnCheckedChangeListener(newOnCheckedChangeListener()。

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

          基于Android平臺(tái)的電熱水器遠(yuǎn)程控制系統(tǒng)

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


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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉