gpt4 book ai didi

javascript - 难以通过网络蓝牙连接热敏打印机

转载 作者:行者123 更新时间:2023-12-02 02:09:05 25 4
gpt4 key购买 nike

现在我正在开发能够连接热敏打印机的网络。我正在使用 Angular 框架,并且使用库 ng-thermal-printer 成功地将热敏打印机连接到 USB。但我希望我的网络也能够通过 BLE(低功耗蓝牙)的网络蓝牙连接热敏打印机。据我所知,BLE有GATT的规范,里面有服务和特性。

我到目前为止所做的进展,我可以在服务和特征中连接并向热敏打印机设备发送一个值,比方说具有 UUID AS 的服务和具有 UUID AC 的特征,在应用程序的帮助下使用我的 android 手机名为 nRF Connect。定位服务 AS 并在特征 AC 发送十六进制值使我成功地在热敏纸上打印了一些东西。

但是有个问题。了解正确的服务和特点后。我在我的项目中实现了它。但是,我的 chrome 浏览器控制台显示错误:

  1. 不允许 Origin 访问任何服务...并且它告诉我在 requestiDevice() 时添加可选服务
  2. 在属性 optionalServices 中添加 Service AS 后,控制台显示错误 DOMException: Connection failed for unknown reason。chrome PC 和 chrome android 均显示错误。

注意:

  • 我在 chrome 上启用了实验性网络平台功能
  • 我已在 chrome 上为网络蓝牙启用使用新权限后端
  • 我已启用允许对从本地主机加载的资源使用无效证书。在 Chrome 上
  • 我在 chrome 上启用了启用新的 USB 后端
  • 我用过 https。

附加问题。应用程序 nRF Connect 使用的蓝牙连接与 BLE 不同吗?如果是,为什么显示服务和特征?

最佳答案

我已经解决了这个问题。

我使用了 2 台设备,我的电脑和我的安卓手机。实际上,我的电脑的蓝牙不支持BLE。这就是为什么我一直在努力调试,因为我的桌面版 chrome 在尝试连接我的热敏打印机后一直没有响应。

基本上,错误编号 2 出现是因为我发送了一个编码字符串值,而不是 UInt8Array 值。

最终,我使用了 2 个网络 API。用于将我的 PWA 从移动设备连接到我的热敏打印机的网络蓝牙 API,以及用于将我的 PWA 从桌面连接到我的热敏打印机的网络串行 API。 ng-thermal-printer 库非常适合我的项目。我只需要扩展驱动程序。

关于javascript - 难以通过网络蓝牙连接热敏打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67947790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com