react-native-ble-plx HELP 获取服务和特征以及 WriteWithoutResponse

问题描述

我是 Ble-Plx 和 React-Native 的新手,我正在做一个项目,我们应该能够连接到设备并改变行为,只需编写新特性,它就会改变......我使用了我在互联网上找到的 Ble Starter,我能够编写特征并更改行为。所以我知道外设可以做到,我只需要开发代码。我已经有了一些东西,但是当我写下特性时,设备并没有像我们所看到的那样改变,设备什么也不做,我也没有收到任何错误或其他东西 只是设备什么都不做。这是一段代码,如果有人可以提供帮助,那就太棒了!

这是代码的主要部分:

 import { BleManager } from 'react-native-ble-plx';

  const manager = new BleManager();
  
  const Example=()=>{

    useEffect(() => {
      manager.onStateChange((state) => {
        const subscription = manager.onStateChange((state) => {
            if (state === 'PoweredOn') {
                scanAndConnect();
                subscription.remove();
            }
        },true);
        return () => subscription.remove();
      });
    },[manager])
  
    function scanAndConnect() {

      console.log('Escanear')
      manager.startDeviceScan(null,null,async(error,device)=>{
        console.log(device.id)
      if(device.id ==='D1:42:78:C8:AB:FB' || device.id ==='D1:42:BF:F1:D9:3C'){
 
          manager.stopDeviceScan()
          console.log("ID del dispositivo: ",device.id)
          console.log("Nombre del dispositivo: ",device.name)
          console.log("RRSI del dispositivo: ",device.RSSi)
          console.log("MTU del dispositivo: ",device.mtu)
   
          device.connect()
          .then((device) => {
             const services =  device.discoverAllServicesAndcharacteristics()

             console.log(services)
          })
         .catch((error) => {
          // Handle errors
          console.log(error)
      });
        }
        if (error) {
          console.log(error)
          return
      }
      })
 }
 const writeChar=async()=> {
  var text = (Buffer.from("AA0100000200").toString('base64'));
  manager.writeCharacteristicWithoutResponseForDevice(
    'D1:42:BF:F1:D9:3C','aae0','aae1',text,)
  .then(() => {
    console.log("Write: " + text);
  })
  .catch((error) => {
    console.log(error);
  });
 }

这是 CONSOLE.LOG 返回给我的内容

 D1:42:BF:F1:D9:3C
 LOG  ID del dispositivo:  D1:42:BF:F1:D9:3C
 LOG  Nombre del dispositivo:  Bluetrum-MX
 LOG  RRSI del dispositivo:  -73
 LOG  MTU del dispositivo:  23
 LOG  {"_U": 0,"_V": 0,"_W": null,"_X": null}
 LOG  Write: QUEwMTAwMDAwMjAw

但是即使没有错误设备也不会改变所以这是我的问题,我无法让设备改变行为并开始振动(仅通过编写特征)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)