問題タブ [bluetooth-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.
android - 書き込み特性は常に false
今、私はこの質問が約 10 億回聞かれていることを知っています。
私はそれらのほとんどを読みました(このWebサイトは私の問題にはあまり役に立ちませんでした)、ドキュメントを読み、例とチュートリアルを読みました。
私がやろうとしていることは次のとおりです。
hello world を BLE デバイスに送信します (arduino に接続)
私がこれまでに行ったこと:
組み込みの設定を使用してデバイスとペアリング (アプリにプログラムされたロジックはありません)
GATT サーバーを使用してデバイスに接続します。
ただし、特性を書き込もうとすると、対応するステータスの戻り値のブール値は常に false です。これは最も関連性の高いコードです:
これらは私の許可です:
そして、これは関連するコードの残りの部分です
アプリBLEScannerを使用してbUUIDを取得しました。これは、読み取りと書き込みのUUIDを示しました。私のアプリケーションの目標は、そのアプリの機能をミラーリングすることですが、頭がおかしくなり始めています。単純な hello world を送信することさえまだできません。
Android Studio の出力:
クライアントは単純な HM-10 Bluetooth モジュールであり、今のところ ARDUINO IDE を使用して、アプリで送信したものをシリアル モニターにミラーリングしたいと考えています。
私は希望を失っているので、あなたにすべての文脈を与えたことを願っています. システムダイアログを使用して設定したため、手動でアクセス許可を確認していませんが、有効にするのは「場所」だけでしたか? これが私の問題の原因でしょうか? BluetoothのcheckSelfPermissionで確認すると、Bluetooth管理者はtrueを返しますが、そうではないと思います:
ios - iOS CoreBluetooth 仮想周辺機器の複数の通知
20 バイトを超えるデータを Bluetooth LE セントラルに送信する必要がある iOS アプリケーションに取り組んでいます。ペリフェラル マネージャをセットアップし、20 バイトの各「パケット」を次々に送信します。true が返されたときにのみ次のパケットを送信します (false が返された場合は呼び出されperipheralManager.updatevalue
た後に再試行します)。ほとんどの場合、これは機能しますが、約 20% の場合、送信されるデータは正しくありません。peripheralManagerIsReadyToUpdateSubscribers
updateValue
私は3つのパケットを持っています。ほとんどの場合、セントラルは A の次に B の次に C を受信しますが、セントラルは B の次に B の次に C を受信するか、A の次に C の次に C を受信することがあります。
常に 3 つの通知を送信していますが、値が正しくありません。
重要な場合:
特性の値はBLECharacteristic
オブジェクトのインスタンスに保存されます
が呼び出された後に通知が送信されるように「バッファリング」されるperipheralManagerIsReadyToUpdateSubscribers
と、情報はDelayedNotification
オブジェクトに格納されます。
オブジェクトの作成時:
編集:より多くのコード
bluetooth - メッシュ プロビジョニング サービスとメッシュ プロキシ サービスは、BLE メッシュでのプロビジョニングとメッセージ交換でどのように使用されますか?
BLE メッシュは、レガシー デバイスが GATT ベアラーを介してメッシュ ネットワークと通信するための 2 つのサービスを定義しました。それらは:
- メッシュ プロビジョニング サービス
- メッシュ プロキシ サービス
デバイスは、メッシュ プロビジョニング サービスまたはメッシュ プロキシ サービス、またはその両方をサポートする場合があります。両方がサポートされている場合、これらのサービスの 1 つだけが GATT データベースで一度に公開されます。
GATT データベースで一度に 1 つのサービスを持つことに仕様が制約されるのはなぜですか?
これら 2 つのサービスは、プロビジョニング中およびプロビジョニング後に実際のメッシュ メッセージを交換するためにどのように使用されますか? 誰でもこれについて詳しく説明できますか?