赞
踩
实现网页对蓝牙的调用,目前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,操作更方便哦
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。