电脑端Chrome浏览器在地址栏打开以下网址,修改配置
chrome://flags/
把以下4个属性开启
找不到的话可以在顶部搜索栏搜索关键字
Experimental Web Platform features
Bluetooth
Web Bluetooth文档
https://developer.mozilla.org/zh-CN/docs/Web/API/Bluetooth
注意以下几点:
-
chrome版本需要>=53
-
需要部署到HTTPS的网页进行测试和使用
-
需要用户手势出发,也就是真实的鼠标点击之类的操作,才能出发蓝牙扫描和连接
体验网站Demo效果,需要对应的ESP32代码
https://bluetooth.dsx2020.com/
效果如图
ESP32会收到对应的测试字符串
网页代码
那其中的service_uuid和receive_uuid换成你自己的蓝牙广告ID就可以了
如果不确定,就继续参考ESP32蓝牙广播对应的代码
参考上一篇文章
《MicroPython[ESP32]物联网开发-Bluetooth蓝牙通信-002》
这里贴上完整的代码
目前Web Bluetooth只支持安卓和Windows上的Chrome浏览器
不支持MacOS和Iphone上Chrome浏览器
使用安卓手机Chrome浏览器同样可以测试网页蓝牙通信,但是也要设置前置权限
手机权限
-
在系统设置中打开蓝牙
-
应用设置中允许开启或者关闭蓝牙
-
允许桌面快捷方式
-
允许锁屏显示
-
允许后台弹出界面
-
允许常驻通知
-
允许读写手机存储
因为网页蓝牙扫描和配对时,会以弹框的形式展示,所以需要一些显示和通知的应用权限,确保能展示蓝牙提示弹框
相比APP和微信小程序的蓝牙开发和调试,显然网页相对方便一些
可以用来测试简单的字符通信,测试蓝牙广播是否被正常扫描,以及特定字符的发送和接收逻辑处理等
本文的网页蓝牙UUID默认是固定的,后期有时间再改为动态输入
END.
