當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于Android的遠(yuǎn)程家電控制終端設(shè)計(jì)

摘要:家電控制是智能家居系統(tǒng)的重要組成部分,而隨著智能手機(jī)的普及和3G網(wǎng)絡(luò)技術(shù)的快速發(fā)展,以智能手機(jī)作為智能家居遠(yuǎn)程控制的終端設(shè)備是一個(gè)非常理想的選擇。目前在全球范圍內(nèi),Android是一個(gè)市場(chǎng)占有率高,免費(fèi),開放的智能設(shè)備操作系統(tǒng)。因此,本系統(tǒng)以Android智能終端作為客戶端,使用UDP網(wǎng)絡(luò)傳輸協(xié)議,以實(shí)現(xiàn)家電遠(yuǎn)程控制系。
關(guān)鍵詞:Android;家電控制;智能家居;UDP協(xié)議

    在科學(xué)技術(shù)飛速發(fā)展的今天,人們的物質(zhì)條件和生活水平都在不斷地提高,人們對(duì)家居環(huán)境的要求也在不斷地增長(zhǎng)。家居不僅要舒適更加需要安全和便捷。遠(yuǎn)程家電控制,使人們可以隨時(shí)隨地控制家中設(shè)備,給人們帶來(lái)便捷的生活方式。傳統(tǒng)的智能家居系統(tǒng)中,大多基于Int ernet的遠(yuǎn)程控制,并采用PC做監(jiān)控終端,受到Internet地域的限制,使用起來(lái)不是很方便。但隨著智能手機(jī)的普及,由于手機(jī)體積小便于攜帶,智能手機(jī)作為智能家居的控制終端是大勢(shì)所趨。

1 Android介紹
   
Android是Google公司在2007年11月正式推出的一款開源的操作系統(tǒng)。Android系統(tǒng)在它推出后僅僅兩年的時(shí)間,就打敗了稱霸智能手機(jī)市場(chǎng)10年的諾基亞Symbian成為全球最受歡迎的手機(jī)操作系統(tǒng)。
1.1 Android的安全機(jī)制
   
Google為Android引進(jìn)了以下特有的安全機(jī)制:應(yīng)用程序權(quán)限機(jī)制,組件包裝和數(shù)字簽名。
    (1)應(yīng)用程序權(quán)限機(jī)制
    Android把每個(gè)權(quán)限定義成一個(gè)字符串,開發(fā)過(guò)程中可以通過(guò)在XML Manifest文件中進(jìn)行權(quán)限的聲明和請(qǐng)求。權(quán)限定義分為兩個(gè)類別,一類是應(yīng)用程序在執(zhí)行時(shí)所需要請(qǐng)求的權(quán)限,另一類是被其他組件請(qǐng)求的權(quán)限。
    (2)組件包裝
    Android通過(guò)定義組件的“exported”屬性來(lái)實(shí)現(xiàn)把組件包裝在程序內(nèi)容內(nèi)。將“exported”屬性設(shè)置為“false”就是拒絕被其他外部程序調(diào)用。
    (3)數(shù)字簽名
    Android的所有應(yīng)用程序必須有數(shù)字證書,這個(gè)數(shù)字證書是可以自簽名的。
1.2 Android的系統(tǒng)框架
   
如圖1所示Android的系統(tǒng)框架由4個(gè)部分組成:Linux內(nèi)核層、系統(tǒng)運(yùn)行庫(kù)層、應(yīng)用程序框架層和應(yīng)用程序?qū)印?/p>


    (1)Linux內(nèi)核層
    Android的Linux內(nèi)核層是基于Linux2.6的,它是介于硬件層和其他軟件組的一個(gè)抽象層次。提供內(nèi)存管理、安全性、進(jìn)程管理、驅(qū)動(dòng)模型、網(wǎng)絡(luò)組等核心服務(wù)。
    (2)系統(tǒng)運(yùn)行庫(kù)層
    這一層分成兩個(gè)部分,系統(tǒng)庫(kù)和Android運(yùn)行時(shí)庫(kù)。
    系統(tǒng)庫(kù)是應(yīng)用層框架庫(kù)的支撐。它起到了紐帶的作用。它主要負(fù)責(zé)2D和3D繪圖、顯示合成和支持多種常用的音頻、視頻格式錄制和回放等功能。
    Android運(yùn)行時(shí)庫(kù)又包括核心庫(kù)和Dalvik虛擬機(jī)兩部分。核心庫(kù)提供了Java語(yǔ)言核心庫(kù)內(nèi)的大部分功能;Dalvik虛擬機(jī)是Android重新設(shè)計(jì)的一款虛擬機(jī)。Dalvik可以在消耗較少的資源情況下,使一臺(tái)設(shè)備同時(shí)運(yùn)行多個(gè)虛擬機(jī)程序。[!--empirenews.page--]
    (3)應(yīng)用程序框架層
    應(yīng)用程序框架層為開發(fā)者提供開發(fā)所需的各種API,常用的組件有:UI組件、Content Providers(提供一種使應(yīng)用程序之間可以實(shí)現(xiàn)數(shù)據(jù)互相訪問(wèn)和共享的服務(wù))、資源管理(管理字體、圖片、組件ID等)、活動(dòng)管理(它管理了整個(gè)程序的生命周期)等。
    (4)應(yīng)用程序?qū)?br />     應(yīng)用層是和用戶交互的一個(gè)層次,用戶可以看得見和操作的一些應(yīng)用。Android本身提供了桌面,聯(lián)系人,撥打電話,瀏覽器等很多基本的應(yīng)用程序。開發(fā)人員可以使用應(yīng)用框架提供的API編寫自己的應(yīng)用程序。

2 智能家居遠(yuǎn)程家電控制系統(tǒng)的組成
   
整個(gè)系統(tǒng)主要包括3個(gè)部分:遠(yuǎn)程控制終端(Android手機(jī)或者平板電腦),服務(wù)器和家電控制器。先由遠(yuǎn)程終端發(fā)送帶有控制命令的數(shù)據(jù)包到服務(wù)器,當(dāng)服務(wù)器收到控制指令之后,再由服務(wù)器發(fā)送控制命令到相應(yīng)的家電控制器上。圖2是遠(yuǎn)程家電控制系統(tǒng)的結(jié)構(gòu)圖。


    在本文中,主要介紹控制終端的設(shè)計(jì),下面簡(jiǎn)單地介紹一下服務(wù)器和家電控制終端。服務(wù)器收到命令數(shù)據(jù)時(shí),通過(guò)設(shè)備類型和子設(shè)備號(hào)來(lái)識(shí)別是哪個(gè)設(shè)備的控制命令,然后將相應(yīng)的控制命令發(fā)送到相應(yīng)的控制器上。具體的幀格式定義,會(huì)在下一章節(jié)中講解。對(duì)于家電控制器,分為兩種。一種是簡(jiǎn)單控制電路的通斷來(lái)控制電器的控制器,主要可控制燈光、冰箱、排風(fēng)扇等家電,一種是模擬紅外遙控器發(fā)出信號(hào)的控制器,主要可控制空調(diào)、電視機(jī)等使用紅外遙控器的家電。我們有了家電控制器之后,就可以在不對(duì)家電做任何的改動(dòng)的情況下,對(duì)家電進(jìn)行控制。

3 終端程序設(shè)計(jì)
3.1 傳輸協(xié)議的選擇
   
在智能家居中的應(yīng)用原則中,TCP和UDP作為目前最常用到的網(wǎng)絡(luò)通信協(xié)議,可以看出TCP是基于連接的協(xié)議,UDP是一個(gè)無(wú)連接的、不可靠的協(xié)議,相對(duì)于基于流傳輸?shù)腡CP而言,UDP是基于消息傳輸?shù)模w上具有傳輸速度快等優(yōu)點(diǎn)。通過(guò)研究可以看出家用電器的控制信息特點(diǎn)是數(shù)據(jù)量小,控制信息短,適合用于傳送少量數(shù)據(jù)、對(duì)可靠性要求不高的應(yīng)用環(huán)境,因此更適合采用簡(jiǎn)單的、面向數(shù)據(jù)報(bào)的UDP協(xié)議。
3.2 應(yīng)用層幀格式的定義
   
由于目前智能家居沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),各個(gè)不同的系統(tǒng)都是自己定義各個(gè)設(shè)備的通信協(xié)議。表1是本系統(tǒng)家電控制系統(tǒng)應(yīng)用層報(bào)文幀格式的定義。


    (1)報(bào)頭:固定為0x66、0xAD兩字節(jié),表示一個(gè)報(bào)文幀的開始。
    (2)數(shù)據(jù)長(zhǎng)度:從報(bào)頭段0x開始算到命令數(shù)據(jù)段的最后一個(gè)字節(jié)總和。表示整個(gè)幀的字節(jié)數(shù)。
    (3)路由地址:這個(gè)數(shù)據(jù)位是對(duì)路由進(jìn)行選擇。根據(jù)部署的網(wǎng)絡(luò)不同的位置,選擇鏈路質(zhì)量最好的路由節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸。
    (4)設(shè)備類型:表示家居設(shè)備的種類,我們將家電控制系統(tǒng)固定為0xF4。
    (5)子設(shè)備號(hào):此字段為家電控制系統(tǒng)里的設(shè)備分配唯一的地址,這樣我們可通過(guò)設(shè)備類型段和子設(shè)備號(hào)兩個(gè)字段唯一標(biāo)識(shí)某個(gè)家電設(shè)備,便于控制信息的準(zhǔn)確有效送達(dá)到控制器。
    (6)命令數(shù)據(jù):裝載具體的家電控制命令,告訴家電控制器收到數(shù)據(jù)之后需要對(duì)家用電器做哪些操作。
3.3 Socket套接宇
   
在網(wǎng)絡(luò)層通過(guò)傳輸層進(jìn)行數(shù)據(jù)通信時(shí),常常會(huì)遇到多個(gè)應(yīng)用程序提供并發(fā)服務(wù)的問(wèn)題,為了區(qū)別不同的應(yīng)用程序進(jìn)程間的網(wǎng)絡(luò)通信和連接,就需要使用socket套接字這個(gè)接口。對(duì)于使用不同的協(xié)議通信,TCP是使用socket對(duì)象來(lái)實(shí)現(xiàn),而UDP是使用DatagramSocket對(duì)象來(lái)實(shí)現(xiàn)。由于我們遠(yuǎn)程家電控制系統(tǒng)使用的是UDP協(xié)議,在這里我只介紹DatagramSocket。
    DatagramSocket是用于連接兩個(gè)端點(diǎn)的分組投遞服務(wù),是由Android系統(tǒng)提供的一個(gè)公共類。根據(jù)編程人員所給的參數(shù),它可以建立與任意可用端口或者與給定端口的連接。
    這里我們需要了解的方法有close()、receive(Datagram Packet pack)和send(DatagramPaeket pack)。它們分別是關(guān)閉套接字、接收數(shù)據(jù)報(bào)和發(fā)送數(shù)據(jù)報(bào)。
    從上文我們可以看到發(fā)送和接收數(shù)據(jù)報(bào)時(shí),我們接收到的是一個(gè)DatagramPaeket對(duì)象。所以在這里必須得提到的就是用來(lái)存儲(chǔ)數(shù)據(jù)報(bào)數(shù)據(jù)的final類DatagramPacket。DatagramPacket有多個(gè)構(gòu)造方法,但是它的每個(gè)構(gòu)造方法中一定包括byte[]buf和int lcnsth這兩個(gè)參數(shù)。buf是用來(lái)存儲(chǔ)所要傳輸?shù)臄?shù)據(jù),length是表示傳輸?shù)臄?shù)據(jù)的長(zhǎng)度。當(dāng)然你在創(chuàng)建DatagramPaeket對(duì)象時(shí),還可以指定接收端的IP地址和端口號(hào)。
    發(fā)送數(shù)據(jù)報(bào)的代碼為:

    其中portNumber是指服務(wù)器的端口號(hào),message是根據(jù)應(yīng)用層幀格式得到的控制命令,serverAddr是指服務(wù)器的IP地址。[!--empirenews.page--]
3.4 軟件設(shè)計(jì)流程
   
圖3是整個(gè)基于Android遠(yuǎn)程控制系統(tǒng)軟件設(shè)計(jì)流程圖。


    為了方便地適用于不同的家電控制系統(tǒng),我們將服務(wù)器的IP地址以一個(gè)由用戶輸入的方式來(lái)完成,這樣當(dāng)在一個(gè)新的地方安裝整套系統(tǒng)時(shí),在無(wú)需改變Android安裝包的情況下,自己輸入新的系統(tǒng)的服務(wù)器IP即可實(shí)現(xiàn)遠(yuǎn)程控制。

4 測(cè)試結(jié)果
   
本家電控制器在完成設(shè)計(jì)、調(diào)試后,在實(shí)際展廳進(jìn)行控制實(shí)驗(yàn)表明該設(shè)計(jì)可以完成預(yù)定功能。在長(zhǎng)期的實(shí)踐和全面測(cè)試的過(guò)程中,證實(shí)本套系統(tǒng)可完成以下功能并且性能穩(wěn)定。
    (1)空調(diào)控制:空調(diào)開關(guān),模式轉(zhuǎn)換,掃風(fēng)功能,調(diào)節(jié)風(fēng)速;
    (2)電視控制:電視遙控(開關(guān)、選臺(tái)、音量調(diào)節(jié)、電視菜單),電視導(dǎo)航(包括各地省級(jí)市級(jí)電視臺(tái)電視節(jié)目預(yù)告),電視游戲;
    (3)燈光控制:各個(gè)房間燈光的開關(guān);
    (4)風(fēng)扇控制:各個(gè)房間風(fēng)扇的開關(guān)。
    如圖4所示,是手機(jī)控制界面圖。從左到右依次是空調(diào)控制界面,電視控制界面,燈光和風(fēng)扇控制界面。



5 小結(jié)
   
本文簡(jiǎn)要的介紹了基于Android的智能家居遠(yuǎn)程家電控制的終端設(shè)計(jì)和關(guān)鍵技術(shù),包括Android的安全機(jī)制和內(nèi)核分析,遠(yuǎn)程家電控制系統(tǒng)的組成,每個(gè)組成部分的功能,應(yīng)用層幀格式的定義,傳輸協(xié)議的選用以及軟件設(shè)計(jì)流程。并在最后展示了測(cè)試結(jié)果,證明了基于Android遠(yuǎn)程家電控制的可行性。與傳統(tǒng)的基于Internet的遠(yuǎn)程家電控制系統(tǒng)相比,基于Android手機(jī)的控制系統(tǒng)有著巨大的優(yōu)勢(shì)和前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉