是否可以搜索信标数据(uuid,url,.)一个进步的web应用程序只使用网络技术,而不使用本地移动技术(Android,ios,.)?
提前谢谢。
发布于 2017-06-19 14:41:10
不幸的是,这在2020年7月是不可能的。尽管谷歌一直在致力于在浏览器上提供对许多蓝牙操作的支持,但至少谷歌Chrome在Android 6+、Mac或ChromeOS上的实现是如此。
在撰写这篇文章时,还不可能扫描信标。API要求OS扫描符合请求条件的设备,然后让用户选择要连接到使用用户界面的设备。这基本上排除了信标探测的可能性。
蓝牙扫描API仍处于草稿形式这里。
编辑: @zurfyx在下面的答案中提到的API允许您扫描并连接到所广告的GATT服务,但不允许您读取广告中的数据。这是一个关键的区别,因为读取广告中的数据是实际蓝牙信标检测所需的关键能力。该API缺少该功能。如果没有这种能力,就不可能检测到信标,只能连接到可能是Eddystone或其他基于服务广告的信标的BLE设备。
更新2020年7月:由于隐私考虑,Safari根本不会获得任何WebBluetooth API,根据苹果公司2020年6月的公告 的说法,在可预见的未来,iOS我们应用程序不可能进行蓝牙扫描。
截至2020年7月,Chrome不支持扫描任意广告。参见此处的状态:https://github.com/WebBluetoothCG/web-bluetooth/blob/master/implementation-status.md
发布于 2017-07-12 18:34:03
免责声明:我编写了eddystone-web-蓝牙 (一个使读写Eddystone设备更容易的库)。github@eddystone-web-蓝牙 npm@eddystone-web-蓝牙
可以使用Web蓝牙API (目前只有Chrome支持)扫描蓝牙设备。
通过使用蓝牙GATT服务,您可以连接到Eddystone设备,并通过遵循它们的公开规格 (基本上是请求代码列表,以及发送和期望响应的格式)进行通信来发送/接收数据。
这些服务包括以下信息:
通过使用蓝牙标准信息,您可以了解最通用的设备信息,如其id和名称:
navigator.bluetooth.requestDevice

@beaufortfrancois编写了可能是第一个Eddystone蓝牙配置代码(源代码 / 演示),因此如果您想深入了解这一点,可能值得一读。我从中学到了很多。
https://stackoverflow.com/questions/44630864
复制相似问题