2014-10-10 69 views
1

我絕對是新的android編程和藍牙LE。所以請耐心等待) 我有一些示例程序,但它們很難理解。 我目前正在研究一個程序,它應該顯示心率,由藍牙LE從胸帶(Zephyr HXM2)接收。 我設法獲得連接並讀取序列號字符串等特徵。 但我確實有問題的地方在於心率測量(UUID = 0x2A37)Android的藍牙LE連接心率監測器

那麼我的程序實際上做的是:

使描述(UUID =00002902-0000-1000-8000-00805f9b34fb)

descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE); 
mBluetoothGatt.writeDescriptor(descriptor); 

然後我等待onCharacteristicChanged方法和做getValue函數的通知。

BluetoothGattCharacteristic.getValue() 

首先我不知道這是否是正確的方法,其次我得到的數據,但它從2,4和6字節變化。不知道該怎麼辦。

+2

你看過Zephyr HXM SDK嗎?去設備的設計者得到協議.. – 2014-10-10 12:13:09

回答

0

上次我與和風心臟監測儀工作,我只是設置一些常量:

private static final int HEART_RATE = 0x100; 
private static final int RESPIRATION_RATE = 0x101; 
private static final int SKIN_TEMPERATURE = 0x102; 
private static final int POSTURE = 0x103; 
private static final int PEAK_ACCLERATION = 0x104; 

然後創建了一個switch語句一個消息處理程序:

@Override 
public void handleMessage(Message msg) { 
    switch (msg.what) { 
     case HEART_RATE: 
      // do stuff 
      break; 
     case RESPIRATION_RATE: 
      // do stuff 
      break; 
    } 
} 

然後取出數據與調用如msg.getData().getString("RespirationRate");msg.getData().getString("SkinTemperature");