Category Archives: Android

Android 4.0 SDK 已經可以下載了!!

http://developer.android.com/index.html  Android 新版 SDK 主頁面

http://developer.android.com/sdk/android-4.0-highlights.html   Android 4.0有那些新功能?

大家看到下面可愛的冰淇淋三明治了嘛?   新版的Android 4.0 一統手機與平板的作業系統版號。 如同蘋果的iOS一樣, 在同一個環境下即可以開發給手機/平板電腦的應用程式。

現在CAVE的夥伴們正在開心地更新到新的作業環境, 之後會不定期分享有趣的範例出來。

請看 Samsung 的 Galaxy NEXUS 示範影片. 個人感覺UI真的有很大的進步呢!!

[Android 新作業系統來囉!] Google冰淇淋三明治 明上桌 (工商時報)

http://news.chinatimes.com/tech/171706/122011101800376.html

再也不是2.3.4或是3.3,直接從4.0開始!  Android明天就要發表新的冰淇淋三明治,如Apple的iOS一樣,不再區分手機或平板,而是以更高的視野來開發行動裝置。

阿吉在想說如果有台灣人的話,也許可以爭取花生捲冰淇淋或是芋圓為下一代android的版號也不一定,haha(空想中)

===================================================

Google冰淇淋三明治 明上桌

  • 2011-10-18
  •  

  • 工商時報
  •  

  • 【記者何英煒/台北報導】

     Google將於明(19)日在香港舉辦Android 4.0、代號為冰淇淋三明治(Ice Cream Sandwich)作業系統上市記者會,這是Google首款跨平台裝置作業系統產品,適用於手機、平板、及筆電,並且訴求強大的人機介面功能。

     Google的Ice Cream Sandwich冰淇淋三明治作業系統的上市記者會,將與三星共同舉辦,三星將展示首款搭載冰淇淋三明治的手機產品Galaxy Nexus。原本雙方10月上旬要在美國加州舉辦記者會,但因蘋果創辦人賈伯斯驟逝而延後,並選在香港All things digital的會議期間發表。

     Google上週已經率先在影片分享網站YouTube秀出Ice Cream Sandwich冰淇淋三明治的巨型公仔,搬進了Google公司的影片,也在微博Twitter上開啟了一個全新的Android帳號,以「好吃的要來了!」為新作業系統預做暖身。

     據了解,Google Android部門主管魯賓(Andy Rubin)及產品管理總裁Bradley Horowitz都會出席。三星方面也由無線部門總裁申宗均代表。

     Google的Ice Cream sandwich最大的特色還是在於正式宣告了該公司作業系統邁向跨平台的概念,未來的作業系統不再區分手機、平板或筆電,而是一體適用。此概念與蘋果的iOS,以及微軟明年要推出的Windows 8作業系統一樣,可以說是「英雄所見略同」,也意味著明年度,蘋果、Google及微軟的競爭將不再是單一產品,而是戰線全開。

     Ice Cream Sandwich的人機界面功能也相當令人驚艷,可提供人的頭部、眼睛、鼻子的偵側追蹤功能,並發展出Headtracking的功能,當多人視訊時,語音偵側可以鎖定發言者。

MindSensors的 App Inventor API與範例程式碼

http://www.mindsensors.com/index.php?module=documents&JAS_DocumentManager_op=viewDocument&JAS_Document_id=181

如果我們要用App Inventor來存取樂高NXT機器人狀態的話, 受限於NXT Direct Command, 所以只能控制樂高官方的感應器(touch , light, color, sound, ultrasonic) 與馬達。

那麼如果我們想要控制NXT的外接感應器例如 Mindsensors或 HiTechnic呢?   NXT Direct Command還留有一條路給我們, 就是 LsRead 與 LsWrite這兩個指令。

Ls是指 Low Speed, 也就是I2C介面的低速數位通訊介面標準。 只要接在NXT機器人上且符合I2C規格的裝置都可以透過 LsRead/LsWrite 來進行讀寫。 至於每次存取的資料長度就要參照詳細的產品規格 (這一定會寫得很清楚, 但不是件太容易的事情)。

現在MindSensor已經將其產品的App Inventor 函式庫都寫好了, 還等什麼? 快打開電源來玩玩看吧!

Google Map路徑追蹤機器人 Google Map – LEGO NXT Navigator

如何讓機器人跟著Google Map上的路徑行動呢? 只要一台Android裝置就可以搞定了。

概念很簡單, 把Google Map規劃的路徑分成一段段, 撈出每個端點的經緯度座標。 藉此求出兩個點的距離與方位, 機器人有了這些資料就可以跟著跑囉~

這需要寫一支Android小程式來處理路徑分析與機器人通訊這兩個主要的功能。

技術文件與開發秘辛會在9/16, 9/28的教育性機器人應用技術發表會搶先發表。 您報名了嗎?

[Android NXT機器人大戰 智慧型手機控制機器人] 檔案庫上線

檔案庫在此: http://www.cavedu.com/androidfile

所有的事情就像拼圖一樣一塊一塊完成真好, 我們先把書中的程式碼都上線了, 有興趣的朋友可以自行下載來玩玩看。 如果不小心有錯誤或是您覺得需要補充什麼資訊的話, 還請隨時通知我們。

您的支持與鼓勵是CAVE前進的動力!!

《Android / NXT 機器人大戰 – 智慧型手機控制機器人》最新版面

一步步收網的過程是喜悅的, 看著大家的努力從word檔, 圖檔與散落的筆記逐漸收斂成一份一份排版好的pdf檔, 心中有點激動啊! 雖然不是第一次出書, 但每次走到這個關頭, 總是很高興自己又完成了一件事。 CAVE座右銘之一就是”完成才有意義“。

希望這本《Android / NXT 機器人大戰 – 智慧型手機控制機器人》可以在7月順利與大家見面!!

[Android] Show sensor value on your phone

溝通是建立關係的基礎,這點應用在機器人上再貼切不過。Android和NXT機器人之間也可透過互傳資料進行溝通。舉例來說,當Android控制面板上的按鈕被觸發後,它會傳出資料給NXT,當NXT得到該筆資料後就執行特定的任務。

這樣的關係中Android手機扮演著控制者的角色,而NXT機器人則是執行者的角色。抑或NXT機器人利用感應器偵測環境中的各種變化,並將數據回傳給Android手機,Android手機接著數據處理後顯示於手機畫面上,如此一來機器人便扮演著感知者的角色;

Android手機則是接收呈現者的角色。不管是哪種例子,只要手機和機器人間能建立有意義的數據通訊,這樣兩者的關係也隨之建立。活用兩者的關係,我們便可以將創意無限的延伸。

我們在範例中加入了藍牙裝置清單選取功能, 程式執行之後, 點選”Paired Devices”就會顯示已經與Android手連線的裝置清單。

kevin是毓祥老師的NXT主機名稱

連線完成之後就會以文字以及proges bar來顯示NXT的光感應器值, 相當實用的功能唷。



[Android] Touch Pad 單點直接控制

要和大家報告一下Android的進度, 先前我們是使用Master(手機) / Slave(NXT)的架構來完成兩者之間的溝通。 這需要機器人端有一個執行中的leJOS程式持續等候master所發送的訊息。

事實上 LEGO 對NXT 提供了低階的直接指令可以在與NXT建立藍牙連線之後直接控制。 這些資訊詳細記錄在Bluetooth Developer Kit的Appendix 2 [LEGO MIndstorms NXT Direct Commands]中。  BDK下載請按我

本範例內容/程式碼與說明將於CAVE 新作[ Android / NXT 機器人大戰 – 智慧型手機控制機器人 ]中詳細說明~

連線完成之後, 會出現一個綠色圓圈和黃色觸碰點。

綠色圓圈是說明如果超出圈外的話, 電力會被限制在900 (每秒兩圈)。

沿Y軸正向, 機器人會直線前進。

沿X軸負向, 機器人原地左轉。

其它各點則依照我們得算結果來運動。

[Android] 觸控面板控制機器人

這個專題延續自CAVE Java書的ch14, 在電腦端繪製一個介面, 用滑鼠座標轉成機器人電力。

延伸閱讀: 建中機器人社的軍事機器人 code by 祥瑞 (Jerry)

為了畫面簡潔, 首先進入連線畫面, Width欄位是用來設定兩輪輪距, 這樣就能適用各種不同尺寸的機器人。 輪胎應該都是使用NXT 56 x 26這個輪胎, 當然我們也能另外設一個radius來動態設定輪徑。

連線完成後, 會出現一個點, 用手指頭按著它就可以拉動它。 左上角的(0,0)代表機器人左右馬達的電力, 範圍是 0~900 (度/秒). 900代表馬達每秒轉2.5圈。

往前進是沒問題的, 但如果往後拉呢?   機器人要後退嗎?   這樣有點怪怪的。 所以如果往後拉動的話, 機器人會先迴轉再往該方向前進。