与MiBand反应本机BLE

时间:2019-01-20 17:13:19

标签: react-native bluetooth bluetooth-lowenergy react-native-ble-plx

对此我真的很陌生,但是(通过Internet搜索其他项目)我已经知道MiBand具有身份验证过程。

问题是我试图在不响应连接的情况下编写唯一的UUID服务,并且总是在响应,并且总是说乐队没有该UUID服务。

我正在使用React-Native-BLE-PLX库。

从图像中可以看出,我使用设备的服务UUID,因为我无法获得任何其他服务,但始终表示该服务不存在。

DEBUG

search(){
    this.manager = new BleManager();

    this.manager.startDeviceScan(null, null, (error, device) => {
        if (error) {           
            console.log(error.message);
            return;
        }

        if (device.name == 'Mi Band 3') {
          this.manager.stopDeviceScan();
          this.device = device;

          this.connect();
        }
    });
}

connect() {
  console.log("CONNECTING...");

  this.device.connect()
  .then(async (device) => {
    console.log("CONNECTED!!!");
    console.log("DEVICE CONNECTED:\n");
    console.log(device);
    this.auth(device);
    // return this.manager.discoverAllServicesAndCharacteristicsForDevice(device.id)
  })
  // .then((device) => {
  //   console.log(device);
    // this.send(device);
  // })
  // .catch((error) => {
  //   console.log("ERROR: ");
  //   console.log(error);
  // });
}

async auth(device) {
  console.log("DEVICE: \n");console.log(this.device);
  console.log("DEVICE'S SERVICE UUID: \n" +this.device.serviceUUIDs[0]);

  console.log("TRYING");

  this.manager.writeCharacteristicWithoutResponseForDevice('D7:2D:F8:F2:24:3F', '0000fee0-0000-1000-8000-00805f9b34fb', '00000009-0000-3512-2118-0009af100700', 0x01 + 0x00 + new Buffer("OLA MUNDO"))
  .then((device) => {
      console.log("STUFF GOING ON:\n");
      console.log(device);
  })
  .catch((error) => {
    throw error;
  });

}

真的需要帮助,并为此表示感谢。

如果有什么我需要描述的,请告诉我。

1 个答案:

答案 0 :(得分:0)

连接后,必须首先发现服务和特性。之后,您可以启动身份验证部分。但是,您的身份验证部分完全错误。做点谷歌搜索以找出正确的方法...