我正在开发一个应用程序来与 BLE 设备(来自 Silicon labs 的 Sensor puck)通信并获取它正在广播的任何内容。
我没有使用 Android 开发任何类型的蓝牙应用程序的经验。
我需要手动将它与 BLE 设备配对吗?我从 Play 商店下载了 Sensor puck 应用程序,它自动开始从设备读取数据。我不明白,因为我没有配对。
我是否需要特定的 API 才能与设备通信?就像,我连接到设备并解压缩设备正在广播的数据?
与 BLE 应用程序开发相关的任何其他信息都会有所帮助。
谢谢。
PS:我无法使用 Play 商店中的应用程序,因为我需要设备中的数据进行其他处理。
最佳答案
我有一点开发 BLE 应用程序的经验。
Do I need to manually pair it to the BLE device?
我还没有遇到需要将移动设备与 BLE 设备配对的用例。基本上,您无需配对即可与 BLE 设备通信。 BLE 设备不断发出信号,您可以读取这些信号。通常,从发出的信号中,您可以读取设备名称(或生产商名称)、MAC 地址、RSSI 信号,您可以从中计算从移动设备到 BLE 设备的距离。一些 BLE 设备会发出其他信息,例如从其传感器读取的温度等。您可以在单次扫描期间从多个 BLE 设备读取信息。
Do I need specific API to communicate with the device?
Google 提供了 API,您可以使用它与 BLE 设备进行通信。您可以在以下位置阅读更多相关信息:http://developer.android.com/guide/topics/connectivity/bluetooth-le.html .您还可以使用一些允许与 BLE 设备通信的第三方库。它们中的大多数专用于所谓的信标,它们是简单、微型的 BLE 设备。
BLE 信标的示例 API:
- Estimote
- Kontakt.io
- AltBeacon
- ReactiveBeacons - 这是我目前正在开发的开源项目,所以如果您对此有任何疑问,可以直接问我
其他项目:
- Android Bluetooth Demo - 这是一个非常好的和简单的项目,可以帮助您了解如何使用 Android SDK 中提供的 BLE API
其他信息:
要与 BLE 设备通信,当然,您需要在设备上启用蓝牙,但无论是否有此权限,您还需要在设备上启用位置并为您的应用程序添加位置权限。我猜这是因为您可以使用 BLE 设备来创建微定位服务。
我为自己收集了一些关于 BLE 的引用资料。您可以在这里查看:https://github.com/pwittchen/ReactiveBeacons#references也许它们也会对您有用。
问候,
彼得
关于android - 如何使用 Android 手机与 BLE 设备通话?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35581596/