亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android平臺的無線WiFi控制方法

        2012-07-25 07:16:48陳雪娟
        微型電腦應用 2012年7期
        關鍵詞:嵌入式界面系統(tǒng)

        王 雷,藍 箭,陳雪娟,陳 峰

        0 引言

        隨著網(wǎng)絡時代的到來以及第三代通信技術的發(fā)展,各種智能移動終端相繼問世,以Android平臺為代表的智能手機正伴隨著3G技術開始獲得人們的廣泛接受。在這場移動設備的革命中,移動終端設備己經(jīng)跨越了僅僅將通信作為唯一目標的模式,而變成具有廣泛應用價值的計算、控制與管理的服務平臺。將智能手機與控制系統(tǒng)相結合,使傳統(tǒng)的PC機工作平臺具備便攜能力,為實現(xiàn)真正的移動的通信方式提供了可能。本文實現(xiàn)了一種基于Android手機的無線控制系統(tǒng),系統(tǒng)中Android手機可利用周圍無線網(wǎng)絡資源與其他設備進行交互并實施控制,不僅為現(xiàn)有智能控制系統(tǒng)提供了新的控制方法,也為實現(xiàn)機器與人的信息交換提供了新的交互手段[1]。特別是在我國醞釀的物聯(lián)網(wǎng)開發(fā)與應用的大潮中,這樣一種新型的控制方法,將對我們的工作方式及生活方式,甚至對周圍世界都產(chǎn)生著巨大的影響。

        1 系統(tǒng)的總體設計

        系統(tǒng)的總體設計思路,是以一個嵌入式微處理器為核心的控制模塊負責提供服務并與用戶的Android手機通信。手機作為控制其他設備的管理器,提供交互界面,例如遙控停車入庫、入位,手機遠程檢查并控制家居燈光和電器等[1]。這實際上是一個C/S結構的系統(tǒng),以嵌入式微處理器為核心的控制器作為服務器,Android手機作為客戶端。系統(tǒng)的總體結構,如圖1所示:

        圖1 系統(tǒng)結構圖

        用戶攜帶Android智能手機進入控制區(qū),手機客戶端接入無線網(wǎng)絡,搜索網(wǎng)絡中的可用設備服務,發(fā)現(xiàn)目標設備后與之進行信息交互。Android手機與控制模塊通過Socket進行通信,通過手機客戶端軟件對設備進行控制和管理[1]。

        2 嵌入式控制模塊的設計

        系統(tǒng)硬件平臺是基于 ARM920T架構的處理器三星S3C2440,并采用802.11標準的D-LINK DWL-G122無線網(wǎng)卡實現(xiàn)WiFi網(wǎng)絡通信。根據(jù)硬件資源和接口特性以及軟件開發(fā)復雜度的需要,系統(tǒng)搭建了嵌入式Linux開發(fā)平臺,基于2.6.31內(nèi)核開發(fā)ARM9平臺上的硬件設備驅(qū)動以及應用程序,從而可以利用開源項目來實現(xiàn)PWM電機驅(qū)動等控制功能模塊。系統(tǒng)硬件結構,如圖2所示:

        圖2 無線控制系統(tǒng)硬件結構圖

        2.1 嵌入式Linux及無線網(wǎng)卡驅(qū)動的移植

        為了滿足系統(tǒng)實時性的要求,針對ARM9開發(fā)平臺,需對Linux做必要的裁剪和配置后再安裝到目標機中。具體過程:在安裝好Linux操作系統(tǒng)和針對目標板的交叉編譯器的PC機上,對Linux源碼進行必要的配置,包括添加PWM驅(qū)動文件、修改makefile和kconfig文件、選擇處理器類型及板級支持;選擇對設備驅(qū)動和文件系統(tǒng)的支持[2]。完成配置之后進行內(nèi)核編譯,生成定制的內(nèi)核鏡像。

        為了支持系統(tǒng)所使用的D-Link DWL-G122無線網(wǎng)卡,需將RT73 wifi通信芯片組的驅(qū)動程序編譯進內(nèi)核。加載驅(qū)動模塊后,下載 wireless-tools源碼并移植 iwconfig,iwlist等無線擴充命令以配置無線網(wǎng)卡[2]。為使無線網(wǎng)卡自行啟動,在ARM板上電運行時,操作系統(tǒng)將初始化配置無線網(wǎng)絡的屬性,包括模式 MODE、ESSID、IP地址等,需編寫無線網(wǎng)卡配置腳本文件init_wireless如下:

        #!/bin/sh,ifconfig wlan0 down,iwconfig wlan0 ap auto iwconfig wlan0 essid "raybotest",ifconfig wlan0 192.168.0.12 ifconfig wlan0 up。然后將其拷貝到根文件系統(tǒng)的/bin目錄中,在根文件系統(tǒng)中的/etc/init.d/rcs最后一行添加/bin/init_wireless&,最后增加其可執(zhí)行屬性:chmod+x init_wireless[3]。這樣,就完成了RT73芯片組的驅(qū)動移植。

        2.2 PWM控制模塊軟硬件實現(xiàn)

        PWM控制模塊是采用三星公司的S3C2440ARM芯片作為核心處理器,其內(nèi)部有5個16位的定時器。 其中定時器0、1、2、3有脈寬調(diào)制功能。每個定時器模塊從時鐘分頻器接收其自己的時鐘信號,其分頻器從相應的8位預分頻器接收時鐘。8位的預分頻器是可編程的且根據(jù)裝載的值來分頻PCLK,其值存儲在TCFG0和TCFG1寄存器中[2]。

        S3C2440芯片的PWM模塊,具有遞減計數(shù)器TCNTBn和比較計數(shù)器TCMPBn雙緩存觸發(fā)的特點,當遞減計數(shù)寄存器的值遞減到與比較計數(shù)寄存器的值相同時,定時器控制邏輯就改變輸出電平,即遞減計數(shù)器的預存值與PWM輸出地頻率有關,比較寄存器的預存值與PWM輸出地占空比有關,兩者相協(xié)調(diào)即可得到所需的PWM波形。

        在系統(tǒng)中,由定時器1直接作為舵機的控制信號,控制多級的方向。電機控制則采用兩片大功率BTS7960構成的全橋電機驅(qū)動電路,需使兩路PWM控制信號存在占空比差,差越大電機轉速越高。兩路PWM輸出頻率均為25kHz,以PWM1為基準,通過控制PWM2輸出不同占空比,實現(xiàn)電機的正反轉控制??刂破鲬脤覲WM控制程序部分代碼如下:

        服務器端通信軟件是通過套接字編程的方法實現(xiàn)的,服務器要先于客戶機啟動,首先使用Socket()方法建立一個Socket連接對象并設置一個訪問的端口號,以便服務器能偵聽客戶的連接請求,本系統(tǒng)設置為7070。然后調(diào)用bind方法將Socket與本地網(wǎng)絡地址綁定。之后就可以通過listen函數(shù)來偵聽是否有客戶端進行連接。如果偵聽到客戶的請求,就調(diào)用accept()方法建立連接[1]。與客戶端連接建立成功后,按照控制流程的要求,使用收發(fā)函數(shù),進行數(shù)據(jù)傳輸。服務器應用程序流程圖,如圖3所示:

        圖3 服務器通訊程序流程圖

        3 Android手機平臺控制終端的設計

        3.1 Android操作系統(tǒng)的軟件架構

        Android是2007年11月由以Google公司牽頭組建的開放手機聯(lián)盟(Open Handset Alliance)發(fā)布的智能移動設備軟件平臺。其前所未有的標準化和開放性使Android操作系統(tǒng)成為一套真正意義上的開放性移動設備綜合平臺[1]。

        Android采用了層疊式的軟件架構,它包括Linux內(nèi)核層、函數(shù)庫和組件庫以及虛擬機組成的中間層、應用程序框架和應用程序組成的上層,如圖4所示:

        圖4 Android平臺結構

        3.2 Android應用程序開發(fā)平臺的搭建

        Android以Java作為開發(fā)語言,以開源IDE Eclipse作為開發(fā)環(huán)境,使用Android SDK、Java開發(fā)包JDK、開發(fā)插件ADT進行軟件開發(fā)與調(diào)試。如此強大的開發(fā)平臺完全能夠滿足手機終端的Java應用開發(fā)。下面介紹在Windows XP下開發(fā)應用程序的環(huán)境搭建方法[1]。

        [1]JDK的安裝和Java開發(fā)環(huán)境的配置

        安裝 Eclipse的開發(fā)環(huán)境需要 JRE的支持,下載Windows XP下的最新JDK并設置JDK的環(huán)境變量[1]。

        [2]Eclipse和Android SDK的安裝和配置

        完整安裝好JDK和Eclipse后,下載所要使用的Andriod SDK,這里使用了2.3版本并把tools目錄添加到Windows XP的PATH環(huán)境變量中。

        [3]安裝和配置ADT

        啟動Eclipse,依次點擊"Help->Software Update...-> Ava ilable Software->Add Site...",輸入dl-ssl.Google.com/android/eclipse/,點擊OK完成。依次選擇"Preferences-> Android",點擊"Browse..."選擇Android SDK的安裝路徑,設置Android SDK主目錄從而把Eclipse與SDK綁定在一起[1]。

        至此,經(jīng)過上述安裝配置過程 Android應用程序的開發(fā)環(huán)境已經(jīng)搭建完成??梢栽贓clipse中創(chuàng)建Android項目了。從 Android1.5開始就引入了 AVD(Android Virtual Device)的概念[1]。AVD是一個經(jīng)過配置的模擬器,在運行程序時,Eclipse可以自動運行虛擬機,因此運行和調(diào)試Android應用程序可以脫離實體手機,極大地方便了應用程序的開發(fā)。PC機上運行Android虛擬機的界面,如圖5所示:

        圖5 模擬器運行界面

        3.3 手機控制終端應用程序的設計

        Android應用程序是以許多Android API組件為基礎進行開發(fā)的,下面是幾種主要的API組件:

        當前活動程序 Activity是最常用的應用程序組件,可以把Activity簡單的理解成一個用戶所看到的屏幕,稱之為“活動”[1]。它主要用于處理程序的整體性工作,通過調(diào)用onCreate ()、onStart()、onRestart ()、onResume ()、onStop()、onDestory ()等方法來實現(xiàn)運行、暫停、停止等狀態(tài)。例如監(jiān)聽按鍵、觸摸屏等事件,指定圖像顯示 View,啟動其他Activity。Android用Intent類實現(xiàn)啟動其他Activity,它調(diào)用startActivity (myIntent)方法觸發(fā)解析myIntent動作,新的Activity接收到myIntent通知后,開始運行,例如通過Activity的切換實現(xiàn)顯示布局的切換。ContentProvider類是一個特殊的存儲數(shù)據(jù)的類型,它實現(xiàn)了數(shù)據(jù)的存儲與共享。Service是運行在后臺的應用程序組件,不直接與用戶交互。當前活動程序可以使用Context.StartService ()開啟一項后臺服務,還可以通過Context.bindService ()與后臺服務通信[1]。

        系統(tǒng)以PWM控制器的Android控制界面為例,介紹了Android應用界面的創(chuàng)建過程[4]:

        1、通過 File -> New -> Project 菜單,建立新項目"Android Project"。

        2、填寫新項目的所在文件夾名稱、包名、主類名和應用程序標題。

        3、編輯自動生成的代碼模板。

        打開一個Android項目的main.xml文件,即可以切換到UI設計界面,通過Layouts中的線性布局完成界面的布局排版,如圖6所示:

        圖6 Android界面布局編輯器

        在界面編輯器(圖6)中完成布局之后,添加按鈕的觸控事件,編輯應用程序代碼。在Android的Java程序中,實現(xiàn)人機交互的控件是通過事件處理的,需要指定控件所用的事件監(jiān)聽器[4][5]。事件響應部分代碼如下:

        程序的通信部分采用了C/S 的結構來實現(xiàn),服務器與客戶端通過Socket進行網(wǎng)絡通信。手機客戶端Socket編程實現(xiàn)與服務器端有所不同,在使用socket()方法創(chuàng)建完套接字接口后,直接通過connect()方法與服務器端建立鏈接并可使用收發(fā)函數(shù)進行控制命令的數(shù)據(jù)傳輸[1]。使用close()方法可以斷開鏈接??蛻舳藨贸绦蛄鞒虉D,如圖7所示:

        圖7 客戶端通信程序流程圖

        客戶端應用程序開發(fā)完成之后,可以將應用程序打包調(diào)試。為使Android應用程序可以在模擬器上運行,必須創(chuàng)建AVD。模擬器創(chuàng)建步驟如下[1]:

        1、在Eclipse工具欄中,依次選擇Windows -> Android SDK and AVD Manager。

        2、在Virtual Devices新建一個模擬器。

        3、填寫Name,選擇Target的API、SD Card大小、Skin、以及Hardware配置。

        4、點擊Create AVD即可創(chuàng)建AVD。

        完成模擬器上的調(diào)試后,可以在項目文件夾下 bin目錄中的Carcontroller目錄中找到Carcontroller.apk文件,即為本程序的發(fā)布apk包??蓪⒋薬pk包安裝實體手機并啟動。運行界面,如圖8所示:

        圖8 測試效果圖

        經(jīng)過在中興U880上反復測試,如圖8所示。手機連接控制模塊的時間小于5s,遠端服務器對手機控制命令的響應時間為ms級,基本上完成了手機無線PWM控制功能。

        無線網(wǎng)卡工作在2.4GHz頻段,其信號頻率高,波長短,使其具有較弱的障礙物的穿透能力。再加上發(fā)射功率不大(一般小于100mw)如果遇電磁干擾比較大或者較為封閉的環(huán)境下,會影響數(shù)據(jù)的傳輸效果。根據(jù)無線信號在自由空間傳播時的通信距離的計算方法:通信距離與發(fā)射功率、接收靈敏度和工作頻率有關。有傳播損耗公式:

        其中Lbs為傳輸損耗,d為傳輸距離,f為工作頻率。

        對于工作在2.4GHZ的無線網(wǎng)卡,f=2400MHZ,則有無線網(wǎng)卡自由空間損耗距離公式:

        傳播損耗與傳播距離的關系,如表1所示:

        表1 WLAN信號在自由空間傳播的損耗與距離關系

        實際中,信號還會受到障礙物阻擋、物體吸收、反射等影響。一般穿透一層木板,信號衰減5dB;穿透一堵磚墻,信號衰減8dB;穿透鋼筋混凝土墻,信號衰減25dB。系統(tǒng)實際測得在在室內(nèi)可達65m,在有障礙物的環(huán)境下,隔一堵墻傳輸可達30m,而隔兩堵墻時,最大控制距離降為10m,室外環(huán)境下無線信號最大控制距離可達100m。

        4 結語

        系統(tǒng)實現(xiàn)了一種基于Android系統(tǒng)下的無線PWM控制模塊設計,并在遙控模型汽車上測試成功。系統(tǒng)采用了嵌入式ARM9平臺作為硬件控制模塊,完成了Android應用程序開發(fā),編寫了一個手機客戶端軟件,解決了手機與控制器端之間的數(shù)據(jù)傳輸,實現(xiàn)了手機遠程控制 PWM 調(diào)速等功能。

        該嵌入式控制系統(tǒng)能夠在日常環(huán)境下一定距離范圍內(nèi)成功地實現(xiàn)了無線PWM控制功能,可廣泛應用于智能家居、智能停車以及不易布線的PWM控制場合。設計的創(chuàng)新之處,在于系統(tǒng)將智能手機通過無線通訊技術與控制系統(tǒng)相結合,擴大了智能終端的應用范圍并為現(xiàn)有智能控制系統(tǒng)提供了新的控制方法,為物聯(lián)網(wǎng)的發(fā)展提供了一種新穎的實現(xiàn)途徑。

        [1]楊豐盛. Android應用開發(fā)揭秘[M].北京:機械工業(yè)出版社, 2010.

        [2]徐英慧,ARM9嵌入式系統(tǒng)設計—基于 S3C2410 Linux[M].北京:北京航空航天大學出版社,2007.

        [3]胡雙喜,吳長,奇李林娟.USB無線網(wǎng)卡在嵌入式平臺上的應用[J].工業(yè)控制計算機.2008年21第5卷期:P48.

        [4]趙亮,張維.基于Android的界面設計與研究[J].電腦知識與技術, 2009(29) : 8183~ 8185.

        [5]蔡羅成. Android后臺監(jiān)聽實現(xiàn)機制淺析[J].信息安全與通信保密, 2010(6): P39~ 41.

        猜你喜歡
        嵌入式界面系統(tǒng)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機系統(tǒng)
        ZC系列無人機遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        國企黨委前置研究的“四個界面”
        當代陜西(2020年13期)2020-08-24 08:22:02
        搭建基于Qt的嵌入式開發(fā)平臺
        基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
        人機交互界面發(fā)展趨勢研究
        手機界面中圖形符號的發(fā)展趨向
        新聞傳播(2015年11期)2015-07-18 11:15:04
        最近免费中文字幕| 国产综合一区二区三区av| 白嫩少妇在线喷水18禁| 在线观看免费日韩精品| 欧美成人在线视频| 欧美伊人久久大香线蕉在观 | 亚洲 中文 欧美 日韩 在线| 色妞色综合久久夜夜| 亚洲无线码1区| 亚洲视频在线中文字幕乱码| 久久精品亚州中文字幕| 国产乱国产乱老熟300部视频 | 国产人成无码视频在线| 国产三级在线观看高清| 国产自拍av在线观看视频| 欧美国产综合欧美视频| 免费精品无码av片在线观看| 无码av永久免费大全| 与最丰满美女老师爱爱视频| 狠狠色欧美亚洲狠狠色www| 天天爽夜夜爱| xxxx国产视频| 老肥熟女老女人野外免费区| 91精品国产乱码久久中文| 狠狠躁18三区二区一区| 日韩少妇激情一区二区| 乱人伦中文字幕在线不卡网站| 亚洲不卡高清av在线| 久久精品99国产精品日本| 色婷婷久久综合中文久久蜜桃av| 日本精品a在线观看| 一区二区视频网站在线观看| 我揉搓少妇好久没做高潮| 久久精品亚洲精品国产色婷| 国产精品久久久av久久久| 久久99久久99精品观看| 久久久精品亚洲人与狗| 国产精品理论片在线观看| 亚洲av无码久久精品蜜桃| 98在线视频噜噜噜国产| 午夜亚洲精品视频网站|