1

こんにちは、Polidea/react-native-ble-plx ライブラリを使用して Bluetooth デバイスを接続しようとしています。

最初にスキャンを実行すると、正常に動作します。

scanAndConnect() {
console.log('scanAndConnect');
this.manager.startDeviceScan(null, null, (error, device) => {
//console.log('Scanning...' + error);
if (error) {
// Handle error (scanning will be stopped automatically)
console.log('Scanning ERROR');
return;
}
if ((device.id=== '54:6C:0E:A0:7B:6D') 
{
console.log('device found: ' + device.name + '(' + device.id + ')');
this.manager.stopDeviceScan();
}
}

接続を試みる 2 番目のステップ。そして、それもうまくいきます!

device.connect().then((dev) => {
          console.log("try to connect")          
        }).then((dev) => {
          console.log("success to connect")
        }).catch((error) => {
          console.log("connect error:" + error)
          throw error
        });

そのため、すべてのサービスとキャラクターにデバイスからいくつかの情報を読み取らせたいのですが、この機能はうまくいきません。

私はこの方法 device.discoverAllServicesAndCharacteristics(); を使用しています。

そして、私はいつもエラーを受け取りました。

次のエラー メッセージが表示されることがあります。

デバイスが接続されているため、最初のものはわかりませんでした。

var status = this.manager.isDeviceConnected(device.id).then((status)=>console.log('status1: '+status))

上記の行は、connect メソッドを呼び出す前に false を返し、その後 true を返します。

しかし、サービスと特性を取得しようとすると、デバイスが接続されていないというメッセージが表示されます

4

0 に答える 0