問題タブ [heartrate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - スマートウォッチ用のアプリケーションをビルドせずにスマートウォッチから心拍数を取得する方法はありますか?
心拍数データを取得し、そのセンサーにアクセスして Java で Bluetooth 経由でデータを取得する Android アプリケーションを構築したいと考えています。
使用した時計: Samsung クラシック s3 ティゼンで動作します。
メートル。
android - BLE 心拍センサー値の解釈
Polar H10 デバイスから心拍数を測定する Android アプリがあります。心拍数の解釈方法に完全に迷っています。残念ながら、bluetooth.com サイトへのさまざまなリンクで 404 エラーが発生しています。
特性値は [16, 59, 83, 4] です。
私が理解したところでは、2 番目のバイト (59) は BPM での心拍数です。しかし、値が 127 まで上がってから -127、-126、-125 と続くため、これは 10 進数ではないようです。16 進数でもありません。
試してみました(kotlinで)
-127 が表示されるとすぐに、すべての値が異常になります。
59 をバイナリ (59=111011) に変換して、そこに表示する必要がありますか? 洞察力を教えてください。
### 編集 (2021 年 4 月 12 日) ###
これらの値を取得するために行うことは、BluetoothDevice.connectGatt() です。次に、GATT をホールドします。私が探している心拍数の値を取得するために
- サービス 0x180d とその
- 特性 0x2a37 とその唯一の
- 記述子 0x2902。
次に、記述子に 0x01 を設定して通知を有効にします。次に、GattClientCallback.onCharacteristicChanged() コールバックで進行中のイベントを取得します。以下に、すべてのデータを含むスクリーンショットを追加します。
私が理解したところでは、応答の長さは 4 バイトではなく 6 バイトでなければなりません。私は何を間違っていますか?
写真では一番上に特徴があります。サービス180dに紐づけられており、特性は下4バイトの値を保持しています。