問題タブ [bluetooth-peripheral]
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.
javascript - Noble を使用して通知データを取得できません
サーバー周辺機器から送信された通知を受信できません。
Arduinoアプリで見つけることができる「BLE_notify」コードでESP32をサーバーとして使用しています(ファイル> ESP32 BLE Arduinoの例> BLE_notify)。このコードを使用すると、クライアントが接続すると、ESP32 は毎秒新しいメッセージの通知を開始します。使用するクライアントは、Noble ノード ライブラリがインストールされた Raspberry Pi です ( https://github.com/abandonware/noble )。これは私が使用しているコードです。
SERVICE_UUID と CHARACTERISTIC_UUID は明らかに ESP32 でコード化された UUID です。
このコードは機能し、サービスと特性を見つけることができ、周辺機器に正常に接続できますが、メッセージ通知を受信できません。クライアントとして機能する Android アプリも試してみました。そのアプリから、接続された周辺機器から通知されるすべてのメッセージを取得できます。そのため、noBLE クライアント側に何かが欠けています。
on.read/on.data/notify(true)
コールバック メソッドに問題があると思います。これらはサーバーからの通知を受け取る方法ではないのでしょうか? メソッドも試しましたsubscribe
が、まだ機能していません。
公式ドキュメントは明確ではありません。誰でも起動して実行できますか?助けてください。
swift - CoreBluetooth は、接続状態でのみコマンドを受け入れることができます
[CoreBluetooth] API MISUSE: <CBPeripheral: 0x281310820, identifier = 75450BB1-97A7-5648-38FD-B27572F19EDD, name = ESP32 test, state = disconnected> can only accept commands while in the connected state
これは、CoreBluetooth を試したときに表示されるエラーです。
peripheral.discoverServices([CBUUID(string: "4fafc201-1fb5-459e-8fcc-c5c9c331914b")])
何が起こっているかについて何か手がかりを持っている人はいますか?
didDiscover デリゲートは次のとおりです。
編集: 最初に周辺機器に接続しようとしましたが、別のエラーがあります:
[CoreBluetooth] API MISUSE: Cancelling connection for unused peripheral <CBPeripheral: 0x2829e01e0, identifier = 75450BB1-97A7-5648-38FD-B27572F19EDD, name = ESP32 test, state = connecting>, Did you forget to keep a reference to it?
これは実際のコードです:
どういう意味ですか?
ios - iOS で BLE デバイスをシミュレートし、その名前を設定できますか? (リアクトネイティブ)
iOS で BLE デバイスをシミュレートしてその名前を設定する方法はありますか?
- iOSで実現できますか?
- そのための React Native ライブラリはありますか? (react-native-ble-peripheral ライブラリを見つけましたが、その README によると、Android でのみ動作します)
ios - 制限はありますか?
BLE デバイスに新しいサービスを追加しました。これは Android デバイスでは利用できますが、iOS デバイスでは利用できません。なぜこれが起こっているのかわかりません。誰かが知っていれば助けてください。