代码之家  ›  专栏  ›  技术社区  ›  Geeta

Nativescript蓝牙读取连续数据

  •  0
  • Geeta  · 技术社区  · 6 年前

    我们正在使用一种每秒都能提供原始数据的脑电图设备。使用时 nativescript-bluetooth

    我试着通过阅读 bluetooth.read

    ```
      bluetooth.connect({
      UUID: uuid,
      onConnected: (peripheral) => {
    
        peripheral.services.forEach((service) => {
          console.log("service found: " + JSON.stringify(service));
          this.deviceServiceData = service;
        });
        setTimeout(() => {
          this.readDataFromDevice(this.deviceServiceData, uuid);
          this.notify(this.deviceServiceData, uuid);
        }, 1000);
    
      },
      onDisconnected: function (peripheral) {
        console.log("Periperhal disconnected with UUID: " + peripheral.UUID);
      }
    });
    }
    
    notify(service, uuid) {
    
      bluetooth.startNotifying({
        peripheralUUID: uuid,
        serviceUUID: service.UUID,
        characteristicUUID: service.characteristics[0].UUID,
        onNotify: function (result) {
        console.log("read: " + JSON.stringify(result));
       }
      }).then(function () {
        console.log("subscribed for notifications");
      }, function (err) {
        console.log("notify error error: " + err);
     });
     }
    
     readDataFromDevice(service, uuid) {
    
     bluetooth.read({
      peripheralUUID: uuid,
      serviceUUID: service.UUID,
      characteristicUUID: service.characteristics[0].UUID,
    
     }).then((result) => {
      var data = new Uint8Array(result.value);
      console.log(data);
     }, function (err) {
      console.log("read error: " + err);
     });
    }
    
    
    How should I get the values generated by the device every second? Do I call `readDataFromDevice` at every time interval?
    
    0 回复  |  直到 6 年前
    推荐文章