1

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

这是代码的主要部分:

 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

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

4

0 回答 0