通过 Web 控制蓝牙设备:WebBluetooth入门

翻译:疯狂的技术宅
原文: https://www.smashingmagazine....

本文首发微信公众号:jingchengyideng
欢迎关注,每天都给你推送新鲜的前端技术文章


摘要:通过渐进式 Web 应用(Progressive Web Apps)技术,你可以开发成熟的 Web 应用。 得益于大量新规范和新功能,以前需要在本机执行的应用,现在可以基于 Web 实现。 不过迄今为止,与硬件设备的交互仍然是遥不可及。 感谢 WebBluetooth 的出现,现在我们可以开发能够控制灯光、驾驶汽车甚至是无人机的 PWA。


通过PWA技术,Web 应用越来越和本机应用相差无几。同时 Web 应用也有其额外的好处,比如隐私和跨平台兼容性。

传统的 Web 应用与网络上服务器的通信机制非常出色。现在 Web 正在向本机应用靠拢,所以我们还需要与本机应用相同的功能。

过去几年在浏览器中实现的新规范和功能的数量是惊人的。我们已经有了处理3D的规范,例如 WebGL 和即将推出的 WebGPU。我们可以通过流式传输并生成音频,来观看视频并将网络摄像头用作输入设备。我们还可以使用WebAssembly 以几乎原生的速度运行代码。此外,尽管 web 最初只是一种网络媒体,但是它已经转向 service workers 的离线支持。

尽管这些功能非常强大,但是还有一个本机应用的专属领域:与设备进行通信。这是我们长期以来一直试图解决的问题,也是每个人可能会遇到的问题。Web非常适合与服务器通信,但不适合与设备通信。例如,在网络中设置路由器时,你可能需要输入 IP 地址并通过纯 HTTP 连接来使用 Web 界面,但是没有任何安全保护。这不管是从体验上还是在安全性上都是非常糟糕的。最重要的是,你怎样才能得到正确的IP地址呢?

当我们尝试创建一个试图与设备通信的 PWA 时,HTTP 协议是我们遇到的第一个问题。 PWA 只能只用 HTTPS 协议,而本地设备始终只使用 HTTP 。你还需要一个 HTTPS 证书,并且为了获得证书,还需要一个带有域名的公共服务器( 我正在谈论本地网络上无法访问的设备 )。

因此,对于许多设备来说,你需要使用本机应用来设置并使用它们,因为本机应用不受 Web 平台的限制,可以为其用户提供愉快的体验。但是我并不想下载一个 500 MB 的程序来做到这一点。也许你拥有的设备已经有几年了,应用程序从来没有为支持你的新手机做过更新。也许你想使用台式机或笔记本电脑,而制造商只提供一个移动应用。也不是一个理想的体验。

WebBluetooth 是一种新规范,已在 Chrome 和 Samsung Internet 中实现,它允许我们通过浏览器直接与Bluetooth Low Energy 设备进行通信。 PWA 通过与 WebBluetooth 相结合,可以提供 Web 应用的安全性和便利性,并具有直接与设备通信的能力。

由于通信范围有限,音频质量差和配对上存在的问题,蓝牙的名声比较差。但是,几乎所有这些问题都已成为过去式。 Bluetooth Low Energy 是一种现代规范,除了使用的无线频段相同外,它和旧的蓝牙规范几乎没有任何关系。每天有超过 1000 万台设备提供蓝牙支持,其中包括计算机和手机,还有各种设备,如心率和血糖监测仪,物联网设备,如灯泡和遥控汽车和无人机等玩具。

无聊的理论部分

由于蓝牙本身不是一种网络技术,它使用了一些我们可能不太熟悉的词汇。 先让我们看看蓝牙是如何工作的和一些涉及到的术语。

每个蓝牙设备都是“中央设备”(Central device)或“外围设备”&

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值