當(dāng)前位置:首頁(yè) > 顯示光電 > 顯示光電
[導(dǎo)讀]摘要:IOIO是一個(gè)面向Android手機(jī)的軟硬件開(kāi)發(fā)平臺(tái),通過(guò)USB接口實(shí)現(xiàn)Android手機(jī)與外界物理設(shè)備的互動(dòng)。本文介紹了IOIO的硬件特性與開(kāi)發(fā)環(huán)境,給出了如何用IOIO來(lái)實(shí)現(xiàn)對(duì)LED控制的實(shí)例。實(shí)驗(yàn)結(jié)果表明,采用IOIO開(kāi)發(fā)An

摘要:IOIO是一個(gè)面向Android手機(jī)的軟硬件開(kāi)發(fā)平臺(tái),通過(guò)USB接口實(shí)現(xiàn)Android手機(jī)與外界物理設(shè)備的互動(dòng)。本文介紹了IOIO的硬件特性與開(kāi)發(fā)環(huán)境,給出了如何用IOIO來(lái)實(shí)現(xiàn)對(duì)LED控制的實(shí)例。實(shí)驗(yàn)結(jié)果表明,采用IOIO開(kāi)發(fā)Android手機(jī)具有簡(jiǎn)單易用的特點(diǎn)。
關(guān)鍵詞:Android手機(jī);USB;IOIO

引言
    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)電話T作所需的全部軟件,同時(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)用。
    IOIO是SparkFun公司出品的一款專門為Android1.5版本以上系統(tǒng)設(shè)計(jì)的通用型開(kāi)源控制模塊,它給開(kāi)發(fā)者提供了免費(fèi)的系統(tǒng)電路圖及系統(tǒng)主板MCU的Firmware,同時(shí)也提供了豐富的Java API接口。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等。

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



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)核層。其構(gòu)架如圖2所示。


    應(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è)名為Gold fish的虛擬CPU以及Android運(yùn)行所需的特定驅(qū)動(dòng)代碼。該層用來(lái)提供系統(tǒng)的底層服務(wù),包括安全機(jī)制、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)堆棧及一系列的驅(qū)動(dòng)模塊。
2.2 IOIO軟件開(kāi)發(fā)環(huán)境要求
    IOIO模塊的應(yīng)用開(kāi)發(fā)需要安裝以下軟件工具:
    ◆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應(yīng)用開(kāi)發(fā)實(shí)例——LED亮滅控制
    IOIO模塊引腳0連接的是板載LED的正極,LED負(fù)極接地,因此高電平點(diǎn)亮,低電平熄滅,實(shí)驗(yàn)效果如圖4所示。


    該演示程序核心Java代碼如下:
    
   
   
    從以上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ā)展。

本站聲明: 本文章由作者或相關(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工具的開(kāi)發(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ì)開(kāi)幕式在貴陽(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)閉