无法通过 Android 10 上的 Chrome 浏览器写入特征

时间:2021-05-04 12:23:32

标签: bluetooth-lowenergy web-bluetooth

我正在使用 Web 蓝牙 API 写入 PCB 板的特性。我能够在 Windows 笔记本电脑上通过 Chrome 成功写入特征。

如果我在 Android 10 上通过 Chrome 尝试相同的代码,我会收到 DOM 异常:GATT 错误未知。

我正在写入一个长度为 493 的 Uint8Array。我尝试写入整个数据,并且还以 10 个块为单位写入。在这两种情况下,我都在移动设备中遇到错误。

有人可以帮忙吗?

我使用的是 Chrome 浏览器版本 91。

更新: 添加了代码片段。我正在调用 Python API 来获取要写入特征的数据并将数据转换为 Uint8Array。我试图通过移动设备写入整个数据,但它不起作用。找到 this link 表示以块的形式写入数据。所以我也试过了。还是一样的错误。

enter image description here

更新 2:我尝试了 class Rating(db.Model): __tablename__ = "songs_ratings" id = db.Column(db.Integer, db.ForeignKey("songs.id"), primary_key=True) # <- added FK rating = db.Column(db.Numeric(precision=3, scale=2), index=True, nullable=False) song = db.relationship("Song", back_populates="rating") writeValue 方法。我收到 GATT 服务器断开连接错误。我尝试了 this 链接来尝试修复相同的问题。但它仍然存在。我附上了相同的屏幕截图。 enter image description here

更新 3: 我尝试添加一个事件侦听器。我在笔记本电脑和移动设备上尝试了相同的代码。它在笔记本电脑上成功运行并在移动设备上出错。我附上了笔记本电脑和手机的屏幕截图。 enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

要获得帮助,您可能需要将问题简化为简单的代码 您可以共享的示例。理想情况下,这些可以与其他人也可以测试的常见设备配合使用。

https://www.chromium.org/developers/how-tos/file-web-bluetooth-bugs 包含有关如何捕获日志和使用其他设备进行测试的提示。