2012-11-07 139 views
5

Iam致力於HealthCare項目atm。我們正在做一個測試設置,我們使用的是Android 4.0.4的摩托羅拉Razr Max作爲網關。手機的BLE將與IT的BLE芯片進行通信。 選擇Motorola Razr maxx的原因是因爲IT在 a link上列出! 下支持BLE的手機。Android 4.0.4 BLE API,BroadCom - 摩托羅拉

但是,從android 4.0升級到dosnt的Motorola的BLE API工作。

我也嘗試過在手機上使用BroadComs BLE API--但它不支持手機BLE芯片 - 所以我沒有在這裏買票。

所以我的問題在這裏。 你會建議我從這裏做什麼?

你知道任何Android手機的Broadcoms API我在Android 4.0.4 - 工作說HTC 1 X - 有一個工作的BLE API - 有any1試過嗎?

如果摩托羅拉是錯誤修復來了嗎? (丹麥摩托羅拉Developmer支持團隊 - 不知道有自己的軟件/硬件狗屎。)

------ UPDATE --------

蔭試圖讓摩托羅拉工作 - 現在它不會失敗的BLE支持=偉大:)

Iam使用Motorola_ICS_R2 API。 但是當我運行配置文件樣本 - 它不會編譯 - 因爲_ BluetoothDevice.ACTION_GATTBluetoothDevice.EXTRA_GATT是什麼蔭失蹤之前,我可以運行剖面樣本?

+0

其實摩托羅拉razr maxx(xt910)支持BLE。我已經提出了一個心儀的服務申請。你有什麼確切的問題? –

+0

Razr的問題在於,當我使用Motorolas自己的BLE API時,如果設備支持BLE,我們測試它的返回值。我已經嘗試過Motorolas自己的API測試 - 並且在4.0.4 Android更新後失敗。如果你有任何解決方案的問題。 現在我已經嘗試過TI自己的BLE API for HTC One X - 現在它也不工作。 我真的需要和Android 4.0.4的BLE API工作-any1有任何想法? – Mir

+1

摩托羅拉api的作品。我有同樣的問題,但我不記得我是如何解決它的。我可以告訴你它的外觀在我的代碼:'{嘗試 \t \t \t類對象=的Class.forName(類名); //類名= 「android.bluetooth.BluetoothGattService」 \t \t \t ifPhoneSupportsBLE = TRUE; \t \t} catch(Exception e){ \t \t \t ifPhoneSupportsBLE = false; \t \t \t Toast.makeText(mContext, 「你的手機不兼容BLE」, \t \t \t \t \t Toast.LENGTH_SHORT).show(); \t \t} //結束檢查低能量支持的邏輯。您必須添加使用權限才能顯示「藍牙」和「藍牙」。 –

回答

8

Here你會發現你需要在ICS(冰淇淋三明治)上使用Motorola Razr的庫和例子。尋找「摩托羅拉手機SDK插件」和「摩托羅拉ICS R2」。

Addon有兩個例子,你必須自己研究它們,這裏沒有實際的API文檔,但是如何正確解釋API的工作原理,你會發現here

我可以向你保證的API-實例工作與TI的CC2540DVK密鑰卡比較精細和摩托羅拉RAZR(XT910)。你所要做的就是注意使用有效的UUID!

......更新中...

的Eclipse(靛藍)重新開始生產的Android SDK(V20)摩托羅拉ICS R2樣本:

  1. 在包資源管理器(右鍵單擊)==>導入==>現有的Android代碼進入工作區
  2. 根目錄:...\ Motorola_ICS_R2 \ samples \ Motorola_BLE_profile_sample(複製到工作區)
  3. 在項目中(右鍵單擊)==>屬性==> Java構建路徑/庫==>刪除所有jar的甚至Android庫
  4. 在Java Build Path /圖書館==>添加外部JAR:... \ Motorola_ICS_R2 \庫\ BluetoothGatt.jar & BluetoothGattService.jar
  5. 在項目(右鍵點擊)==> Android的工具==>修復項目屬性
  6. 現在選擇您的傳感器設備的現有主要服務,即0x180A(設備信息):

    public static final ParcelUuid HRM = ParcelUuid .fromString("0000180A-0000-1000-8000-00805f9b34fb");

  7. 生成並運行

這取決於你的傳感器裝置,你與樣品走多遠,但你至少應該獲得一個連接並得到一些特點。查看LogCat輸出。

問候,
PeterVanPansen

+0

Thx彼得 - Iam在我得到設備支持BLE的地方:) 但配置文件samle - 使用BluetoothDevice.ACTION_GATT和BluetoothDevice.EXTRA_GATT其中不存在我BluetoothDevice :) 第二個示例 - 我stil致力於看看有什麼 - 基礎我仍然需要進行連接。 BluetoothGattService需要4段 - 設備 - >檢查!,uuid - >檢查,一些字符串?,回調 - >檢查 Thx的幫助,這樣的票價! 字符串iam不存在 - 我需要它什麼? – Mir

+0

基本PVP - 如果你下載摩托羅拉個人資料示例並導入它 - 你可以運行它嗎? 因爲我在BluetoothDevice上發現了很多錯誤 - 我是否需要導入其他Jar /項目? 我可以運行API_Sample - 但它只會嘗試連接給定的ParcelUuid而不是我的主cc2540 0x2800。 – Mir

+0

Thx很多 - 沒有看到我需要刪除項目中的Android.jar - 很多 - 我現在有連接,因爲我想! – Mir

0

我有非常類似的問題這一個。

我運行Android摩托羅拉XT910 Android 4.0.4。

配置(在我的標準的Eclipse和清晰的系統上 - 無論是相同的)

1)的Eclipse + Android的SDK + ADT
2)包裝摩托羅拉ICS_2內附加
3)進口從項目樣品Motorola_BLE_API_sample在項目屬性
4)設置摩托羅拉機器人
5)拆下機器人罐子的
6)添加BluetoothGatt,BluetoothGattService罐子
,然後運行項目(試驗用BLE112 dev的板,UUID設置爲:

<service uuid="180d"> 
    <uri>org.bluetooth.service.health_thermometer</uri> 
    <include id="manufacturer" /> 
    <description>Health Thermometer Service</description> 
    <!-- temp: 2a1c HRM:2a37 --> 
    <characteristic uuid="2a37" id="xgatt_temperature_celsius"> 

簡單地品嚐什麼都看不到)

我收到這個問題

1)device.getName()回報null,我必須註釋它(其餘如勢必是OK)
2)設備只能連接與HRM UUID(我在2個地方在樣本代碼中更改)
3)始終return(在BluetoothGatt.CONNECT_COMPLETEFAILURE

當我嘗試Motorola_BLE_profile_sample我收到了類似的錯誤,MIR, BluetoothDevice.ACTION_GATTBluetoothDevice.EXTRA_GATTgetGattServices是不可見的(在ICS_R2 [安卓4.0.3] - > android.jar-> android.bluetooth-> BluetoothDevice類樹)?

我做錯了什麼?

---------- UPDATE

真煩! 不要閱讀摩托羅拉FAQ 如上所述! 刪除所有jar(包括來自ICS2的這個)並修復項目THANX!