【问题标题】:Trovan LID-573ISO Pocket Reader via Javascript's Web BluetoothTrovan LID-573ISO 袖珍阅读器通过 Javascript 的网络蓝牙
【发布时间】:2021-03-01 11:16:40
【问题描述】:

我希望有人可以帮助我处理我的电子邮件。

我正在尝试开发一个通过Web Bluetooth 与 Trovan LID-573ISO 袖珍阅读器交互的网站。我可以通过蓝牙连接到掌上阅读器,但是当我可以连接 RFID 标签时,掌上阅读器成功读取了标签,但它没有通过网络蓝牙发回 ID。如果我将便携式阅读器与我的 iPhone 配对并打开 Notes 应用程序并扫描标签,则标签会成功显示在 Notes 应用程序中。但我无法通过Web Bluetooth 代码实现此功能。

这是下面的代码。我正在我的 Windows 10 机器上的 Google Chrome 上对其进行测试。

function connect () {
   navigator.bluetooth.requestDevice({ 
      acceptAllDevices: true})
   
   .then(device => device.gatt.connect())

   .then(server => {
      return server.getPrimaryService('9cae0f23-579e-4fde-87a9-bf39e664de8c');
   })

   .then(service => {
      return service.getCharacteristic('200f8d51-2a33-4ef3-9e60-2d9c2c10adca');
   })           

   .then(characteristic => {      
      return characteristic.startNotifications(); 
   })

   .then(characteristic => {
      characteristic.addEventListener('characteristicvaluechanged', handleCharacteristicValueChanged);
      log('characteristicvaluechanged started');
   })
   
   .catch(error => { 
      var ss = error;
      console.log(error); });
}

function handleCharacteristicValueChanged(event) {
   log('In handleCharacteristicValueChanged')
   var value = event.target.value;
   log('Received ' + value);      
   log('Received ' + event.target);  
}

当我运行页面时,我可以通过蓝牙连接到设备,但是handleCharacteristicValueChanged代码在我连接到设备后被触发一次,并且不再触发。

这些是我可以看到的设备上的服务。

Services And More Services

我需要的是当阅读器读取芯片时,它会通过蓝牙将 ID 发回。

我需要一些帮助! :(

【问题讨论】:

    标签: javascript bluetooth bluetooth-gatt


    【解决方案1】:

    我在windows10也遇到了同样的问题,但是在mac下可以保持连接获取数据,enter image description here

    不知道原因

    function bluetoothConnect() {
            console.log('Requesting Bluetooth Device...');
            navigator.bluetooth.requestDevice({
                filters: [{ services: ['0000ff00-0000-1000-8000-00805f9b34fb']}]
            }).then(device => {
                console.log('device')
                return device.gatt.connect();
            }).then(server => {
                return server.getPrimaryService('0000ff00-0000-1000-8000-00805f9b34fb')
            }).then(service => {
                console.log('service')
                return service.getCharacteristic('0000ff01-0000-1000-8000-00805f9b34fb')
            }).then(characteristics => {
                console.log('characteristics')
                myCharacteristic = characteristics
                myCharacteristic.addEventListener('characteristicvaluechanged', test)
                return myCharacteristic.startNotifications()
            }).catch(error => {
                console.log(error)
            })
        }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-29
      • 1970-01-01
      相关资源
      最近更新 更多