首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过web-bluetooth API向设备发送十六进制?

如何通过web-bluetooth API向设备发送十六进制?
EN

Stack Overflow用户
提问于 2019-08-16 14:38:07
回答 1查看 348关注 0票数 0

我已经通过web-Bluetooth API连接到该设备。现在我向设备发送了一个十六进制字符串:01113704B00000313233343132160506155001DB。此十六进制字符串无法正确发送到设备。如何将此十六进制发送到设备?

我尝试使用十六进制到数组的缓冲区(NPM插件),并自己编写了该方法。它们不起作用。

下面是我的代码:

代码语言:javascript
复制
import React from 'react';
import './App.css';
const hexToArrayBuffer = require('hex-to-array-buffer')


function App() {
  const openBLE = () => {
    navigator.bluetooth.requestDevice({
      filters: [{
        services: ['6e400001-b5a3-f393-e0a9-e50e24dcca9e']
      }]
    })
    .then(device => { 
      console.log('Begin to connect')
      return device.gatt.connect()
    })
    .then(server => {
      // Getting Battery Service...
      console.log('Connect to GATT server')
      return server.getPrimaryService('6e400001-b5a3-f393-e0a9-e50e24dcca9e');
    })
    .then(service => {
      console.log('Get characteristic')
      return service.getCharacteristic('6e400003-b5a3-f393-e0a9-e50e24dcca9e');
    })
    .then(characteristic => {
      console.log('Write characteristic')
      const buffer = hexToArrayBuffer('01113704B00000313233343132160506155001DB')
      return characteristic.writeValue(buffer); 
    })
    .catch(error => { console.log(error); });
  }
  return (
    <div className="App">
      <button onClick={ openBLE } >hello</button>
    </div>
  );
}

export default App;
EN

回答 1

Stack Overflow用户

发布于 2019-10-05 04:47:51

我也遇到了这个问题。但是我在你的代码片段中注意到,你正在尝试写入TX特征,你是否应该尝试写入RX特征呢?6e400002-b5a3-f393-e0a9-e50e24dcca9e

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57519933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档