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

标签 android bluetooth bluetooth-lowenergy

我正在开发一个应用程序来与 BLE 设备(来自 Silicon labs 的 Sensor puck)通信并获取它正在广播的任何内容。

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

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

  2. 我是否需要特定的 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:

其他项目:

  • 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/

相关文章:

android - 如何打开/查找使用 Android Studio 2.1.3 创建的 "hprof"转储文件?

android - 我如何制作在第二次运行和之后弹出的对话框

ios - 在iOS上还原Microsoft Band连接

ubuntu - 使用蓝牙 HID 代理模式 Ubuntu 15.10 的问题

c - Contiki 中的头文件在哪里?

xcode - CoreBluetooth 框架和 IOBluetooth 框架的区别

android - AVD 无法连接到互联网?

android - Android 上的 Apache HttpClient 4.1

android - 未生成蓝牙 HCI 监听日志

c++ - 在 Arduino UNO 和运行 Linux 的笔记本电脑之间设置蓝牙 (BLE) 通信