一种将蓝牙设备连接到互联网的简便方法

如今,蓝牙协议是可穿戴电子产品领域中最常见的选择,尤其是对于健身追踪器和智能手表而言。当需要确保最小的能耗和较长的电池寿命,但对高速没有要求时,它非常适合短距离设备的直接通信。一个优点是产品成本低。

然而,这种协议在诸如灯,各种传感器,控制设备甚至锁之类的固定设备中越来越多地被发现。一些制造商,特别是Archos,使用它来实现家庭自动化系统。他的支持出现在诸如Evika LogicMachine Wall之类的专业控制器中。但是,在这种情况下,也需要远程监视和控制,这不能仅使用蓝牙来完成,因为该协议是专有协议,并且不能通过Internet进行路由。可以通过在无线设备的安装位置使用智能手机或平板电脑来解决此问题,但是显然很难考虑使用此选项。



蓝牙SIG组织负责蓝牙协议的开发,认证和推广,不希望错过IoT领域和自动化系统的增长,于2月初提出了一个工具包,用于创建用于将蓝牙设备连接到Internet和云服务的网关。根据创建者的说法,它专注于开发人员和OEM,并且能够为“数十亿个设备”提供Internet访问。该套件包括服务器代码和文档,可让您快速实现设备的基本版本。

提出的示例使用了众所周知的Node.js环境,并且不需要计算资源。该文档描述了基于Raspberry Pi平台的网关和Frontend Web服务器的创建。首先,您需要一个蓝牙适配器。的确,很难找到具有BLE支持的模型。在这种情况下,您可以建议使用内置该接口的其他平台,例如Intel Edison。

网关扫描空中的蓝牙设备,缓存有关它们的信息,包括功能和可用服务。收到外部请求后,它会根据先前收集的数据做出响应,或者从设备请求当前值。网关接口与GAP和GATT RESTful API配合使用,其简要说明可以在Bluetooth SIG网站上找到,并且JSON用于交换信息。特别地,在此实现诸如请求设备列表,请求设备服务,请求服务特征,读取和写入数据的特征。



前端由NaviBLE Web应用程序实现,该应用程序允许用户使用连接到网关的蓝牙设备。在示例中,可以使用上述网关功能的接口。此外,开发人员可以创建自己的页面,包括具有CSS和内置JavaScript数据处理功能的页面,以便更轻松地使用特定设备。例如,对于灯泡,您可以提供打开和关闭按钮以及颜色选择。



这些示例对于计划在其产品中包括对蓝牙协议的支持的自动化系统开发人员以及发烧友都是有用的。特别是,您可以实现诸如蓝牙设备在家中出现这样的场景的处理,例如,自动打开灯或更改警报模式。



请注意,在Bluetooth SIG网站上,您还可以找到使用蓝牙设备(例如,标签)以在各种平台上集成对该协议的支持的文档和示例,包括Android,iOS和Windows应用程序的源代码。

Source: https://habr.com/ru/post/zh-CN390467/


All Articles