如何开始使用蓝牙4.0?

时间:2014-02-05 21:36:55

标签: bluetooth bluetooth-lowenergy

我对蓝牙4.0很感兴趣。从哪里开始冒险?如果您有任何材料,链接,书籍,我将非常感激。如果你能分享这些知识。我想使用BT 4.0将PC(无论是什么系统)连接到智能手机(例如Windows Phone)。

2 个答案:

答案 0 :(得分:10)

是的,我试图快速整理一些可能对您有所帮助的相关信息。我很遗憾错过了一件事,因为这是一个广泛的话题。 如果您有更具体的问题,我相信您会在这里找到帮助。

基本上,当谈到蓝牙(Smart,4.0)设备和编程/连接它们时,我们可以谈论两件事:

Bluetooh 客户服务器

服务器:

通常会向客户提供一些数据。想想一个心率监视器,可以捕获某人的心跳并“流”出来,这样连接到服务器的任何人都可以读取数据。

客户:

另一方面,客户端连接到服务器(多么明显)来收集他们的数据,或者在某些情况下写入它们。

蓝牙配置文件

蓝牙设备(服务器)具有所谓的 GATT (通用属性)配置文件。这些配置文件描述了一组独特的服务。每个服务都有不同的特征。这些特征保留实际值。

想一下心率监测器(HRM)。那是一台服务器。它可以测量心率,因此连接到它的客户可以读取/收集它的数据。心率监测器具有特定的心率监测GATT概况,其中描述服务,在服务内部有心率特异性特征< / strong>喜欢:心率测量身体传感器位置等 当客户想要读取这些值时,它必须连接到HRM,发现它的服务和特征,然后从发现的特征中读取值。

异步

可能很明显,但蓝牙编程(实现服务器/客户端连接和数据传输)是 async 。这意味着客户端发送一些东西然后等待服务器回答,然后它可以进入下一步 您的整个软件必须牢记异步编程设计

文档

我必须说我发现 iOS 文档和支持非常有用,因为我开发了我的第一个蓝牙应用程序。 Android 对我来说有点困难,因为缺乏我找到的例子。此外,一般的蓝牙4.0支持仅在Android 4.3之后才可用。 (不同Android手机中的不同蓝牙芯片制造商有不同的低级蓝牙堆栈,所以使用它们必须用自己的SDK为每个不同的芯片编写本机蓝牙代码 - 在Android 4.3之前)

Bluetooth.org

我建议从这开始:

的iOS

如果您阅读Core-bluetooth框架,即使您不打算在iOS上进行开发,也不会受到影响。由于它有详细记录,它可能会让您更好地理解:

的Android

同样适用于android:

Windows 8

答案 1 :(得分:0)

我发现Robin Heydon的“蓝牙低能耗:开发者手册”非常有用。它处理所有细节,以便您了解事情在较低层次上的运作方式。

作为参考,我发现蓝牙规范PDF非常有用(虽然有时很难找到你需要的东西)。看起来他们刚刚在这里发布了4.1版本:https://www.bluetooth.org/en-us/specification/adopted-specifications

编辑:这两个参考文献并不特定于任何特定的实现,所以如果你想学习像iOS BLE或Android BLE这样的特定内容,我不确定它们有多大帮助。