现在我正在开发能够连接热敏打印机的网络。我正在使用 Angular 框架,并且我使用库成功将热敏打印机与 USB 连接ng-thermal-printer
。但我希望我的网络也能够通过网络蓝牙 BLE(蓝牙低功耗)连接热敏打印机。据我所知,BLE有GATT的规范,有服务和特性。
到目前为止,我所做的进展是,我可以使用我的 Android 手机,借助名为射频连接。定位服务 AS 并以特征 AC 发送十六进制值使我成功在热敏纸上打印一些内容。
但有一个问题。了解正确的服务和特征后。我在我的项目中实现了它。但是,我的 chrome 浏览器控制台显示错误:
- Origin 不允许访问任何服务...它告诉我在 requestiDevice() 时添加可选服务
- 在属性 optionServices 中添加 Service AS 后,控制台显示错误 DOMException: 连接因未知原因失败。
该错误在 chrome PC 和 chrome android 中均显示。
NB:
- 我已在 Chrome 上启用实验性 Web 平台功能
- 我已经在 Chrome 上启用了使用 Web 蓝牙的新权限后端
- 我已启用“允许从本地主机加载的资源使用无效证书”。在镀铬物上
- 我已在 Chrome 上启用启用新 USB 后端
- 我用过https。
附加问题。 nRF Connect 应用程序使用的蓝牙连接与 BLE 不同吗?如果是这样,为什么它显示服务和特征?
我已经解决了这个问题。
我使用 2 台设备,我的电脑和 Android 手机。
事实上,我的电脑的蓝牙不支持BLE。这就是为什么我一直在努力调试,因为我的桌面版 Chrome 在尝试连接我的热敏打印机后一直没有响应。
基本上,出现错误号 2 是因为我发送了编码字符串值,而不是 UInt8Array 值。
最终,我使用了 2 个 Web API。用于从移动设备将我的 PWA 连接到我的热敏打印机的 Web 蓝牙 API,以及用于从桌面将我的 PWA 连接到我的热敏打印机的 Web 串行 API。图书馆,ng-thermal-printer
,对我的项目有好处。我只需要扩展驱动程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)