我正在开发一个应用程序来与BLE设备(来自Silicon实验室的传感器冰球)进行通信,并获得正在播放的内容。
我没有使用Android开发任何类型的蓝牙应用程序的经验。
我是否需要手动将其与BLE设备配对?我从Play商店下载了Sensor puck应用程序,它自动开始从设备上读取。我不明白,因为我没有配对它。
我是否需要特定的API才能与设备通信?是这样的,我连接到设备并解压设备正在广播的数据?
与BLE应用程序开发相关的任何其他信息都会有所帮助。
谢谢。
PS:我无法使用Play商店中的应用,因为我需要设备中的数据进行其他处理。
答案 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:
其他项目:
其他信息:
要与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
中解析原始数据的示例