問題タブ [gatt]
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 を使用して GATT 特性値を読み取る
Java (Android ではなく Java SE!) を使用して、Bluetooth LE センサー (Texas Instruments CC2541) から GATT 特性値を読み取ろうとしています。
これまでのところ、COM ポートのシリアル通信を機能させることができましたが、GATT 値を読み取る最良の方法がわかりません。プロトコルと送受信される正確なバイト数を説明する複雑なドキュメントがいくつかありますが、既存のライブラリ/API を使用してこれを行う簡単な方法があることを願っていますか?
GATT 値を読み取るための推奨される方法は何ですか? コード例をいただければ幸いです。
android - Bluetooth 低エネルギー通知
健康プロファイルから温度値を読み取ろうとしています。健康体温計サービス。公式Google ble開発ページによると健康体温計の特性に温度を読み取るように通知しようとすると、writeDescriptor のコールバック メソッドを使用してディスクリプタ値 (クライアント特性設定) を書き込もうとします。Google によると、ステータス 5 を返します。だから私は writedescriptor のコードをコメントし、メソッド mBluetoothGatt.setCharacteristicNotification(characteristic, enabled); を呼び出そうとします。しかし、onCharacteristicChanged メソッドは呼び出されませんでした。私のiOS開発者チームと話すとき。彼らは、記述子の値を書き込むことは決してなく、通知をtrueに設定するだけで、同じチップから温度値を取得すると述べました。Android開発者が通知を受け取るには、記述子の値を書き込む必要があります??? 最後に、公式の bluetooth アプリを bluetooth から実行してみます。テスト目的のcomサイトでは、読み取りと書き込みに通知する3つのボタンすべてを無効にするだけですか??? ありがとう、私の英語でごめんなさい
[更新]
ボンディングの問題を引き起こす可能性のあるログを見つけてください。解決策があれば助けてください。
生成された短期キーは、エラー
11-08 11:26:44.392: E/bt-smp(1014): STK Generated としてログに記録されますその後、結合状態が劇的に変化すると、認証が不十分になる可能性があり
ます 11-08 11:26:49.437: I/BluetoothBondStateMachine(1014): bondStateChangeCallback: Status: 0 Address: 00:16:A4:C0:FF:EE newState: 2
11- 08 11:26:49.437: D/BtGatt.btif(1014): btif_gattc_upstreams_evt: イベント 9 11-08
11:26:49.437: E/BluetoothBondStateMachine(1014): 安定状態で、無効な newState を受信しました: 12
[更新]
nexus 7 で kitkat 4.4 をアップグレードした後。2 つのメソッドを追加する
と、暗号化された特性を読み取ることができるようになりました。しかしまだ不安定。しかし、私が得たいくつかの成功。
device.createBond();
device.setPairingConfirmation(true);
ios - コア Bluetooth が周辺機器を検出できない
開発中のハードウェアを扱っています。このボードは、Bluetooth チップとして TI CC2541 を使用します。
テストの前に、ボードは 2 つのデバイスで検出可能であり、ボードに接続して、特性 (GATT) を読み書きするテストを実行できます。テストを再度実行すると、デバイスに再接続してそのサービスを検出しようとするまで、すべてがうまくいきます。その時点で、ボードはオフラインになり、lightblue も自分のアプリもデバイスを検出できません。iOS デバイス (iPad) の 1 つで出荷時設定にリセットしましたが、まだボードを認識できません。
工場出荷時の設定にリセットすると、デバイスで発生したすべてのコアブルートゥース キャッシュが削除され、iOS がボードを再キャッシュして再検出できるようになりますか?
これは、corebluetooth の問題か、アプリの問題である可能性がありますか?
android - samsung ble api が複数の GATT 特性から通知を取得できない
Bluetooth Low Energy デバイスを接続するために、Samsung ACE3 でアプリを開発しています。Samsung は ACE3 を Android 4.3 にアップグレードすることを望んでいないため、Samsung ble API を使用する必要があります。現在、接続、データの読み取り、データの送信、および 1 つの特性からの通知の取得はすべて問題ありません。しかし、複数の特性の通知を有効にすると、最初に有効になった特性だけが通知を受け取ることができます。誰も同じ問題を抱えていますか?あなたの助けに感謝!
次のコードは、接続時に通知を有効にします
enableNotification メソッドは次のとおりです。
android - android bluetooth LE - onReadRemoteRssi が機能しないのはなぜですか?
gattが接続された後、rssiを継続的に読みたい.コードは次のようになります:
このようなmGattCallback:
onReadRemoteRssi は機能しません。コードを変更する方法、または rssi を読み取るための他の解決策を教えてください!
アドバイスありがとうございます!
ios - IOS Bluetooth Low Energy 汎用アクセス プロファイル
私は iOS bluetooth LE アプリに取り組んでいます。アプリは周辺機器をスキャンし、LE で読み取り/書き込みを行います。GATT と GAP (Generic Access Profile) に関するチュートリアル/例を探していました。初心者向けの教材は見つかりませんでした。
誰かが私の質問に答えてくれることを願っています:
- これらのサービス (GATT & GAP) にアクセスする最良の方法は何ですか?
- 特性値を読み書きする方法はありますか (デバイス名の変更など)?
- IOS7 と IOS6 でこれに関する違いはありますか?
- さらにアドバイス/ヘルプをお願いします。
ありがとう