WebBluetooth蓝牙打印

实现网页对蓝牙的调用,目前Chrome系较高版本浏览器支持。

要使用Web蓝牙功能需要一个usb口的蓝牙适配器,可以在Chrome浏览器中输入"chrome://bluetooth-internals"查看蓝牙设备状态,该调试功能非常强大!
在这里插入图片描述
通过UUID可以查看到所有的蓝牙设备、service、Characteristics,以及读写蓝牙设备
在这里插入图片描述
蓝牙打印机连接上后不是发文本就能直接打印,而是要转换成打印指令,一般是通过ESC/POS通用打印指令传递打印指令的,就是说我们要输出的文本、二维码、图片等内容需要转换成ESC/POS指令。目前大多数蓝牙打印机都是支持ESC/POS指令的,指令可以看https://www.jianshu.com/p/dd6ca0054298 了解下,百度上还有专门详尽的指令集说明,不过我们不需要自己来写指令转换代码,我找到一个js库,很方便的实现了ESC/POS编码,https://www.npmjs.com/package/@freedom_sky/esc-pos-encoder
Webbluetooth如何应用,https://segmentfault.com/a/1190000018224699,这里有个文档简单说明。https://bluetooth.rocks/tweets/这个则是有案例

要注意的点,webbluetooth在本地可以直接调用,但部署上服务器一定需要HTTPS支持(其他硬件方面的web调用也同理),如果没有的话会出现
在这里插入图片描述
查看HTTP和HTTPS下的naviagtor,HTTP下是没有bluetooth等成员的
在这里插入图片描述
在这里插入图片描述
打印效果(格式、中文、图片、二维码等请自行使用ESC/POS编码即可)
在这里插入图片描述
在Chrome浏览器中输入"chrome://bluetooth-internals"查看蓝牙设备状态,通过UUID可以查看到所有的蓝牙设备、service、Characteristics,以及读写蓝牙设备

index.html编辑器打开,
找到 services: [‘0000fee7-0000-1000-8000-00805f9b34fb’] ,替换所有(有两处) 0000fee7-0000-1000-8000-00805f9b34fb 为 chrome检测到的蓝牙设备的services UUID
找到 service.getCharacteristic(“0000fec7-0000-1000-8000-00805f9b34fb”) 替换 0000fec7-0000-1000-8000-00805f9b34fb 为 所替换的services下的可写的characteristic UUID

webbluetooth在本地可以直接调用,但部署上服务器一定需要HTTPS支持

链接: https://pan.baidu.com/s/1wNzgxaKfLk426Z5NjTx1mQ?pwd=i7vx 提取码: i7vx 复制这段内容后打开百度网盘手机App,操作更方便哦

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值