蓝牙软件开发-ios蓝牙开发教程
到2020年,多达385亿设备将连接入网。这些设备都一定会采用某种无线标准,在智能手机或平板电脑等客户端和设备之间传输数据。
蓝牙(Bluetooth)希望成为开发者的首选无线协议。为了实现这一目标,蓝牙技术联盟发布了一款全新的开发者工具,能够最大程度帮助开发者简化开发,帮助他们更轻松地为产品集成蓝牙功能。
BluetoothDeveloper Studio本质上是一个集成型的开发者环境,让开发者能够轻松地将蓝牙功能集成到你可以想象到的任何设备。Bluetooth Developer Studio内有开发案例和教程,以及由蓝牙工作组中25,000多家公司提交的设备配置文件资源库,能够帮助开发者为用例创建配置文件。
蓝牙技术联盟开发者项目总监何根飞(Steve Hegenderfer)先生在接受ARC采访时表示:“Bluetooth Developer Studio是一款開發工具。我们已经看到蓝牙低功耗技术应用的巨大吸引力和成长空间。从开发者的角度,它是非常具有可塑性的。”
蓝牙开发:让创建服务和功能更轻松
在基础的层面上,蓝牙开发是非常简单的概念。例如,当开发者想把Beacon等设备连接到其他设备上时,Beacon就被称为外围设备(peripheral device),另一端的电脑(个人电脑、智能手机、平板电脑等)就被称为中心设备(central device)。两者之间的关系就相当于计算机发展早期采用的典型的“服务器 - 客户端”模型(或主设备/从设备)。
外围设备的功能(包括连接至中心设备)是由蓝牙的“服务”和“特性”所定义的。用不同的服务和特性组合去定义设备功能,就是“配置文件”。
何根飞先生表示:“最终,创建任何无线产品都涉及到很多因素。Bluetooth Developer Studio真正想要做的就是从元器件的角度解决问题。”
在蓝牙开发的层次结构上,任何服务都包括多种特性。例如Beacon需要近距的服务、电池服务等等。有些Beacon可能有多达8种不同的服务,其功能都是由若干特性来定义的。
两台设备之间服务与特性之间的关系可以用蓝牙的通用属性配置文件(GATT)来定义。
何根飞先生表示:“服务和特性就像是蓝牙的结构单元蓝牙软件开发,蓝牙将此描述为GATT,也就是通用属性。用蓝牙的技术语言来讲,是GATT描述服务。对于某种特定的用例,那些服务都有他们的特性。那些也就是描述服务的属性。它们包含更多的原数据来描述属性,但通常是通过描述数值的形式体现。”
BluetoothDeveloper Studio:创建蓝牙应用的平台
BluetoothDeveloper Studio是如何帮助开发者简化开发,为设备和App添加蓝牙功能的呢?
首先,开发者可以借助Bluetooth Develope Studio的简单设计,采用GATT来构建蓝牙配置文件。对于大多数设备,执行任何功能的代码都能在Bluetooth Develope Studio中的资源库里找到。如果开发者想要创建已经存在的功能,就可以采用任何“已采用的配置文件(adopted profile)”。Bluetooth Develope Studio让开发者们能够使用资源库中的代码,或采用简单的拖拽机制来构建配置文件。
若某一特定类型的功能无法在资源库内找到,开发者还可以在BluetoothDeveloper Studio中构建自定义配置文件(customprofile)。
何根飞先生表示:“所有用例都是建立在通用属性之上的,都具有互操作性。因此,在资源库中可以找到全部已采用的配置文件(adopted profiles)—经蓝牙技术联盟验证发布为业界标准用例的服务和特性—以及自定义配置文件。”
建立了配置文件、服务和特性之后,BluetoothDeveloper Studio还提供一系列插件,让开发者能在任何设备或芯片组上轻松地添加功能,这都与直接在板上调试功能会有些不同。
BluetoothDeveloper Studio中的插件能为芯片创建导出功能的代码,包括高通、德州仪器、博通、Arduino、Raspberry Pi等的芯片。这样开发者即使不是熟悉每一种芯片的专家,也能够创建蓝牙设备。
相关文章:开源硬件网络如何驱动蓝牙Beacon的应用
何根飞先生表示:“蓝牙应用场景都是类似的,但实际在芯片或固件上的实施就会有所不同了。所有的主流芯片和模组制造商都提供各种插件,但具体还是要取决于你正在构建的用例- 所有的服务和特性 - 然后生成用于目标平台的代码。”
以上是对于服务器端而言。BluetoothDeveloper Studio 也提供适用于iOS和安卓的插件,为客户端的App导入功能。
总而言之,Bluetooth Developer Studio能做的是为蓝牙在设备和App中的应用构建管道蓝牙软件开发,让蓝牙更轻松地应用于任何平台、固件和软件。当然BluetoothDeveloper Studio不会编写产品或App现实功能的代码。
设备或App的应用情境还是需要开发者自己进行编码,明确服务和特性。例如,如果需要App执行“亮灯”的功能,那么所写的编码就要能够告诉服务:如果按键,就亮灯。
何根飞先生表示:“开发蓝牙的架构时,开发者都需要为实际的情境编写代码。这部分不是BluetoothDeveloper Studio的工作。”
除了涉及服务和特性的GATT,以及面向固件和软件平台的插件,Bluetooth Developer Studio还包括测试工具,其可用于模拟蓝牙集成的功能。