顯示具有 Android 標籤的文章。 顯示所有文章
顯示具有 Android 標籤的文章。 顯示所有文章

2015年6月7日 星期日

Android 讀取低功耗藍牙(BLE)程式初探

之前在Raspberry Pi 藍牙4.0應用之iBeacon 發射器這篇說明過藍牙在4.0版本中定義了「高速藍牙」、「傳統藍牙」和「低功耗藍牙」三種模式。
高速藍牙主攻資料交換與傳輸;傳統藍牙則以資訊溝通、裝置連線為重點;藍牙低功耗顧名思義,以不需佔用太多頻寬的裝置連線為主。
本篇文章來探討一下如何透過Android寫出讀取BLE資訊的程式。
圖片來源:O'Reilly Getting Started with Bluetooth Low Energy

實作環境:
Samsung Galaxy Note 3/4 (手機/平板請先確認有支援BLE)
TI CC2541 SensorTag
Eclipse LUNA 4.4.2 + ADT 23.0.6
Win8.1專業版
Java 1.8.0_40

2015年3月12日 星期四

Raspberry Pi安裝MQTT之IoT應用 -- Arduino示範


Machine-to-Machine (M2M) 協定目前常見的包括有 CoAP、XMPP、RESTful HTTP及MQTT 。
● CoAP (Constrained Application Protocol)受限應用協定,是採用UDP方式傳送用在受限制的資源上的一個類似HTML觀念的應用層協定。其協定最小資料為4 byte header
也就是說當你下一個類似coap://example.com:5683/~sensors./temp1.xml這樣的CoAP URI你就可以得到該感測器的資訊。
● XMPP (Extensible Messaging and Presence Protocol )大家應該就比較熟悉了,這是一個採用TCP連接並且可以透過XML進行雙向溝通的協定。經常用在即時通訊之類的軟體上。
● RESTful 符合REST(Representational State Transfer)原則的系統統稱為RESTful,REST同樣架構在HTTP over TCP上的一個協定,比較適合在雲端運算之類的環境。
● MQTT前一篇文章已經介紹過了這裡就不重複說明,下圖是Cisco原廠所做的比較表:

2015年3月9日 星期一

Raspberry Pi安裝MQTT之應用 -- Android訊息推播

Android 常見的推播方式有GCM(Google Cloud Messaging)、XMPP、HTTP輪循方式(Web Service)以及本文所談的MQTT協定。
這四種推播的平台比較下各有優缺點,例如
GCM是Google的服務其優點簡單、無須安裝部屬。缺點則是受Google限制(上限 4kb 的輕量資料)。
XMPP優點是協定成熟、強大、可擴展性強、主要應用於聊天系統中。缺點則是協定較複雜、四種方式比較起來由於基於XML所以流量較大,需要軟硬體部署。
Web Service則是定時透過HTTP服務獲取最新訊息。優點是實現簡單、可控性強,部署硬體成本較低。缺點則是無法做到即時性的廣播。
MQTT優點協議簡潔、小巧、可擴展性強、節省頻寬。缺點不夠成熟、實現較複雜、需要軟硬體部署。

2014年10月24日 星期五

[ Android AsyncTask] 從網路下載圖片,使用AsyncTask來顯示圖片。

在設計Android程式時,在下載網路上的資源,經常會使用到執行緒來進行多工,此時我們不能在執行緒內來改變UI內容,詳細資訊可參閱:
https://developer.android.com/guide/components/processes-and-threads.html
以下是使用執行緒來下載圖片,並利用AsyncTask來顯示圖片。
1. 首先建立新專案,並在activity_main.xml的資源檔中,新增按鈕及圖片視域物件。

2. 原始程式列表
3. 記得把Internet權限打開

4. 執行結果

[ Android Thread] 從網路下載圖片,使用post來顯示圖片。

在設計Android程式時,在下載網路上的資源,經常會使用到執行緒來進行多工,此時我們不能在執行緒內來改變UI內容,詳細資訊可參閱:
https://developer.android.com/guide/components/processes-and-threads.html
以下是使用執行緒來下載圖片,並利用post來顯示圖片。
1. 首先建立新專案,並在activity_main.xml的資源檔中,新增按鈕及圖片視域物件。
 2. 原始程式列表:
3. 記得把Internet權限打開

4. 執行結果

[ Android Thread] 從網路下載圖片,使用Handler來顯示圖片。

在設計Android程式時,在下載網路上的資源,經常會使用到執行緒來進行多工,此時我們不能在執行緒內來改變UI內容,詳細資訊可參閱:
https://developer.android.com/guide/components/processes-and-threads.html
以下是使用執行緒來下載圖片,並利用Handler來顯示圖片。
1. 首先建立新專案,並在activity_main.xml的資源檔中,新增按鈕及圖片視域物件。

2. 原始程式列表
3. 記得把Internet權限打開

4. 執行結果

2014年8月21日 星期四

[ Embedded System] 使用fastboot燒錄Android系統

最近有一件事困擾敏哥,就是因為DNW工具的USB驅動在WIN 7作業環境下,裝不起來,今天特地到長高公司取經,學會新的燒錄方法,其步驟如下:
1. 注意把嵌入式系統S5PV210線接好,包括電源線、OTG USB、RS232(下圖左方依順排列)
另外電腦端也要接好,左方RS232接至RS232/USB轉接器,右方接USB。

2.查看裝置管理員,檢查RS232/USB轉接器驅動是否有裝起來。


3.啟動DNW,注意標題欄上,COM:x表示RS232埠還沒開啟
 設定連接埠及速率,按下OK。
 選擇Serial Port功能選項中的connect,此時有看到COM2,115200bps,表示RS232埠開啟正常。






4.開啟嵌入式系統

在DNW出現訊息後,按下空白鍵,進入主控台模式。
 5.鍵入 fastboot命令

觀察嵌入式系統畫面
在platform-tools目錄下,可以找到3_fastboot_file_system.bat,其內容如下

fastboot flash ramdisk ramdisk-uboot.img
fastboot flash system system.img
fastboot flash userdata userdata.img
pause

執行後即可以進行燒錄工作

 在DNW可以看到燒錄進度


燒錄完成後,可以看到DNW及DOS畫面如下:



 等燒錄完畢後,可以看到嵌入式系統呈現紅色畫面。
 開機後的畫面



2014年4月17日 星期四

[ Android Blender] 把Blender 3D 物件輸出成AndAR格式

Blender是一套很強3D Model的工具,AndAR則是Android上的擴增實境的軟體,我們可以從Google Play下載。
 
選擇Play商店,輸入AndAR,就可以下載AndAR Model Viewer APP,下圖是已經下載完成。

 
執行AndAR Model Viewer APP。
 
 
你可以選擇內建的 3D Model來進行測試

 
由於AndAR是有標籤的擴充實境,你需要先準備好AR標籤,如下圖,你可以在Google上輸入AndAR Marker即可以找到。
 
 
當你選擇其中一個Model執行後,把手機攝像頭對著標籤即可看到3D MODEL站在AR標籤上。
 
 
接下來打開Blender,進行模型繪製,如下圖。
 
選擇File->Export->Wavefront(obj),並依圖參數進行設定(在圖的左邊)
 

把下列5種參數打勾
1.Write Normals
2.Write Materials
3.Taiangulate Faces
4.Material Group
5.Keep Vertex Order
按下Export Obj,在儲存目檔下即可以看到mtl及obj檔。

把mtl及obj檔複製到手機上
回到AndAR APP選擇Select a model file選項
 
 
找到download目錄
 
選擇obj檔。
 
 
執行結果