如何使用Android手机与BLE设备通话?

时间:2016-02-23 15:31:18

标签: android bluetooth bluetooth-lowenergy

我正在开发一个应用程序来与BLE设备(来自Silicon实验室的传感器冰球)进行通信,并获得正在播放的内容。

我没有使用Android开发任何类型的蓝牙应用程序的经验。

  1. 我是否需要手动将其与BLE设备配对?我从Play商店下载了Sensor puck应用程序,它自动开始从设备上读取。我不明白,因为我没有配对它。

  2. 我是否需要特定的API才能与设备通信?是这样的,我连接到设备并解压设备正在广播的数据?

  3. 与BLE应用程序开发相关的任何其他信息都会有所帮助。

    谢谢。

    PS:我无法使用Play商店中的应用,因为我需要设备中的数据进行其他处理。

2 个答案:

答案 0 :(得分:1)

我对开发BLE应用程序有一点经验。

  

我是否需要手动将其与BLE设备配对?

我没有遇到需要将移动设备与BLE设备配对的用例。基本上,您可以与BLE设备进行通信而无需与它们配对。 BLE设备不断发出信号,您可以读取这些信号。通常,从发出的信号中,您可以读取设备的名称(或生产者名称),MAC地址,RSSI信号,您可以从中计算从移动设备到BLE设备的距离。一些BLE设备发出其他信息,如从传感器读取温度等。您可以在单次扫描期间从多个BLE设备读取信息。

  

我是否需要特定的API才能与设备通信?

Google提供API,您可以使用它与BLE设备进行通信。您可以在http://developer.android.com/guide/topics/connectivity/bluetooth-le.html了解更多相关信息。您还可以使用一些允许与BLE设备通信的第三方库。他们中的大多数都致力于所谓的Beacons,它是简单的微型BLE设备。

BLE信标的示例性API:

其他项目:

  • Android Bluetooth Demo - 这是一个非常好的简单项目,可以帮助您了解如何使用Android SDK中提供的BLE API

其他信息:

要与BLE设备通信,当然,您需要在设备上启用蓝牙,但无论此权限如何,您还需要在设备上启用“位置”并为您的应用添加位置权限。我想这是因为你可以使用BLE设备来创建微观位置服务。

我为自己收集了一些关于BLE的参考资料。你可以在这里查看它们:https://github.com/pwittchen/ReactiveBeacons#references也许它们对你也有用。

此致

·彼得

答案 1 :(得分:0)

可能为时已晚,但也可能对其他用户有所帮助。因此,传感器Puck就像一个简单的灯塔,它不需要任何配对。您只需要扫描所有蓝牙设备,并验证收到的ScanRecord对象。您不必使用任何特定的库或API,Anroid sdk包含所有必要的api(请参阅BluetoothAdapter startScan,startLeScan等)。您还可以找到如何在我的演示项目https://github.com/alexeyosminin/sensor_puck_demo

中解析原始数据的示例