• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      IOIO 在Android手機(jī)中的應(yīng)用與研究

      2013-08-27 08:33:12張佳進(jìn)陳立暢唐秀英楊曉東唐君君
      關(guān)鍵詞:藍(lán)牙應(yīng)用程序組件

      張佳進(jìn),陳立暢,唐秀英,楊曉東,唐君君

      (1.云南農(nóng)業(yè)大學(xué) 基礎(chǔ)與信息工程學(xué)院,昆明650201;2.云南農(nóng)業(yè)大學(xué) 工程技術(shù)學(xué)院)

      引 言

      Android本意指“機(jī)器人”,是Google公司于2007年11月5日宣布的基于Linux平臺(tái)的開(kāi)源手機(jī)操作系統(tǒng),是當(dāng)今三大智能手機(jī)操作系統(tǒng)之一。它包括操作系統(tǒng)、用戶界面、中間件和應(yīng)用程序,擁有移動(dòng)電話工作所需的全部軟件,同時(shí),其開(kāi)放性保證該平臺(tái)不存在任何阻礙移動(dòng)產(chǎn)業(yè)創(chuàng)新的專有權(quán)障礙。因此,其市場(chǎng)份額增長(zhǎng)迅速,軟件生態(tài)系統(tǒng)日漸成熟,大量軟件開(kāi)發(fā)人員投身到Android應(yīng)用程序開(kāi)發(fā)中來(lái)。

      當(dāng)前Android手機(jī)主要集成了WiFi、藍(lán)牙通信接口,它們具有傳輸速率高、通用性好等優(yōu)點(diǎn)。但是在普適計(jì)算、物聯(lián)網(wǎng)領(lǐng)域中,大量傳感器、控制設(shè)備往往采用傳統(tǒng)的串行通信、I/O 控制等技術(shù)。目前,Android手機(jī)往往缺乏這些接口,雖然可以采用藍(lán)牙轉(zhuǎn)RS232等技術(shù)來(lái)實(shí)現(xiàn)Android手機(jī)與外部物理設(shè)備的通信與控制,但是藍(lán)牙技術(shù)有通信距離短、不可靠、功耗高等缺點(diǎn)。特別是在低功耗物聯(lián)網(wǎng)環(huán)境中,我們很難采用藍(lán)牙、WiFi通信技術(shù)。因此這在某種程度上制約了Android 手機(jī)在以上領(lǐng)域的應(yīng)用[3]。

      IOIO是SparkFun公司出品的一款專門為Android1.5版本以上系統(tǒng)設(shè)計(jì)的通用型開(kāi)源控制模塊,它給開(kāi)發(fā)者提供了免費(fèi)的系統(tǒng)電路圖及系統(tǒng)主板MCU 的Firmware,同時(shí)也提供了豐富的Java API[1]接口。IOIO 通過(guò)USB 接口與Android 手機(jī)相連,高度集成了數(shù)字I/O 端口、PWM、模擬輸入端口、I2C 總線、SPI,以及UART 控制器等功能組件,只需通過(guò)簡(jiǎn)單、直觀的Java API驅(qū)動(dòng)程序即可直接操作外部硬件I/O 端口,既無(wú)需嵌入式編程,又不用外部編程器,使用方便靈活。因此,通過(guò)IOIO 模塊,Android手機(jī)可以方便地整合3G 通信網(wǎng)絡(luò)、藍(lán)牙通信、觸摸屏交互技術(shù)、各類傳感器與外圍物理設(shè)備相連,從而增強(qiáng)了手機(jī)與物理世界的信息交互能力,為Android手機(jī)的創(chuàng)新應(yīng)用打下了良好基礎(chǔ)。目前,許多國(guó)際著名品牌的Android手機(jī)和平板電腦都兼容支持IOIO 模塊,例如Google、Samsung、HTC、LG、Motorola等[2]。

      1 IOIO 硬件結(jié)構(gòu)

      IOIO 主要采用了低功耗PIC 單片機(jī)作為系統(tǒng)控制器,IOIO 模塊實(shí)物圖如圖1所示。IOIO 硬件電路板上集成了模擬輸入、I2C 總線、SPI、UART、GPIO 等多個(gè)功能接口部件。主要引腳功能分類如表1所列。

      圖1 IOIO 模塊實(shí)物圖

      表1 IOIO 模塊主要引腳功能分類

      2 IOIO 開(kāi)發(fā)環(huán)境

      2.1 Android應(yīng)用程序開(kāi)發(fā)簡(jiǎn)介

      Android操作系統(tǒng)自上向下分成應(yīng)用層、應(yīng)用框架層、組件庫(kù)層、虛擬機(jī)和Linux內(nèi)核層[56]。其構(gòu)架如圖2所示。

      圖2 Android框架

      應(yīng)用層(Application layer)。Android操作系統(tǒng)和一系列核心應(yīng)用模塊一起發(fā)布,其核心應(yīng)用模塊主要包括電話短信功能、網(wǎng)頁(yè)瀏覽器、聯(lián)系簿等。

      應(yīng)用框架層(Application Framwork layer)。開(kāi)發(fā)者通過(guò)使用核心應(yīng)用程序來(lái)調(diào)用Android框架提供的API組件。

      組件庫(kù)層(Libraries layer)。Android包含了一套C/C++函數(shù)庫(kù),主要包括libc、Media Framework、WebKit、OpenGLES、FreeType、SQLite等,這些功能通過(guò)Android應(yīng)用框架展現(xiàn)給開(kāi)發(fā)人員。

      運(yùn)行時(shí)環(huán)境(Android Runtime)。Android包括了一個(gè)核心庫(kù),該核心庫(kù)提供了Java編程語(yǔ)言核心庫(kù)的大多數(shù)功能。每一個(gè)Android 應(yīng)用程序都擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例。

      Linux內(nèi)核層(Linux kernel layer)。Android底層核心是一個(gè)基于Linux 2.6.23內(nèi)核開(kāi)發(fā)的獨(dú)立操作系統(tǒng)。主要是加了一個(gè)名為Goldfish的虛擬CPU 以及Android運(yùn)行所需的特定驅(qū)動(dòng)代碼。該層用來(lái)提供系統(tǒng)的底層服務(wù),包括安全機(jī)制、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧及一系列的驅(qū)動(dòng)模塊[6]。

      2.2 IOIO軟件開(kāi)發(fā)環(huán)境要求

      IOIO 模塊的應(yīng)用開(kāi)發(fā)需要安裝以下軟件工具[4]:

      ◆ Eclipse IDE(Integrated Development Environment);

      ◆Android SDK(Software Development Kit),只能采用V6.0版本;

      ◆JDK(Java Development Kit);

      ◆下載IOIOLib庫(kù)。它為Android手機(jī)提供了豐富的接口API,例如Digital I/O、模擬輸入、PWM 輸出、Pulse輸入、串行UART、SPI、I2C總線等。

      圖3為IOIO 軟件開(kāi)發(fā)環(huán)境界面。

      圖3 IOIO 開(kāi)發(fā)環(huán)境界面

      3 IOIO 應(yīng)用開(kāi)發(fā)實(shí)例——LED亮滅控制

      IOIO 模塊引腳0連接的是板載LED的正極,LED 負(fù)極接地,因此高電平點(diǎn)亮,低電平熄滅,實(shí)驗(yàn)效果如圖4所示。

      該演示程序核心Java代碼如下:

      圖4 Android手機(jī)控制LED亮滅實(shí)驗(yàn)效果

      從以上LED控制實(shí)例中可以發(fā)現(xiàn),基于IOIO 的IOIOLib庫(kù),可以方便快速地構(gòu)建Android手機(jī)電子互動(dòng)應(yīng)用系統(tǒng),IOIO 具有簡(jiǎn)單易用的優(yōu)勢(shì)。

      結(jié) 語(yǔ)

      IOIO 是一個(gè)開(kāi)放的人機(jī)互動(dòng)平臺(tái),為Android手機(jī)提供了豐富的I/O 接口資源,拓展了Android手機(jī)的應(yīng)用領(lǐng)域,增強(qiáng)了Android手機(jī)與物理世界的信息交互能力,相信在物聯(lián)網(wǎng)時(shí)代會(huì)不斷涌現(xiàn)出大量Android移動(dòng)創(chuàng)新應(yīng)用系統(tǒng),這將有利于信息物理系統(tǒng)的發(fā)展。

      [1]SparkFun Electronics.IOIO for Android[EB/OL].[2012-09-14].https://www.sparkfun.com/products/10748.Last accessed on 20October 2012.

      [2]GitHub.Supported Devices[EB/OL].[20- 10-2012].https://github.com/ytai/ioio/wiki/Supported-Devices.

      [3]R Chaudhri,W Brunette,M Goel,et al.Open data kit sensors:mobile data collection with wired and wireless sensors[C]//In Proc of the 2nd ACM Symposium on Computing for Development,MIT,USA,2012:1- 10.

      [4]Cheng Minlin,Kuo Chenlang,Yi Lunchu,et al.An Implementation for Connecting Android Powered Device to External World[C]//The 2nd International Conference on Innovations in Bio-inspired Computing and Applications(BICA 2011),Shenzhen,Guangdong,2011:303- 325.

      [5]耿東久,索岳,陳渝,等.基于Android手機(jī)的遠(yuǎn)程訪問(wèn)和控制系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2011,31(2):559- 561.

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

      猜你喜歡
      藍(lán)牙應(yīng)用程序組件
      藍(lán)牙音箱的直線之美
      無(wú)人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      新型碎邊剪刀盤組件
      U盾外殼組件注塑模具設(shè)計(jì)
      刪除Win10中自帶的應(yīng)用程序
      簡(jiǎn)單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
      適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
      緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
      玩具世界(2017年8期)2017-02-06 03:01:38
      風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      左云县| 敦化市| 黑水县| 那坡县| 垣曲县| 木里| 柳林县| 博客| 荆州市| 碌曲县| 梅河口市| 东安县| 玛纳斯县| 建水县| 遵化市| 元氏县| 南投市| 扎囊县| 色达县| 稻城县| 锡林郭勒盟| 兴海县| 绵阳市| 隆林| 清原| 太保市| 建平县| 繁峙县| 太保市| 云安县| 延津县| 阿图什市| 阳朔县| 石首市| 兴宁市| 二连浩特市| 东平县| 吉安县| 米易县| 许昌市| 浑源县|