具有自定义数据广播的 BLE Beacon

BLE Beacon with custom data broadcasting

在应用程序中,我期待 Beacon 中的蓝牙是一个很好的选择,因为我想从不同来源收集 PH 到应用程序,所以我无法将我的 android 设备与所有 BLE 设备配对时间大约是 20-30。

但我可以看到,如果有 Beacon,那么 Android 可以扫描所有这些设备,并且还可以在不与它们配对的情况下获取所有设备的 RSSI。

那么我们是否可以添加一些其他参数,例如 PH、温度、湿度和 3-4 个其他参数,以便 Beacon 将与 RSSI 一起广播所有这些参数,并且在 Android 应用程序中我可以收集所有信息?

蓝牙信标通常依靠广告包发送数据,但可用字节数有限。对于制造商广告,您基本上有 24 个可用字节可以使用,尽管您需要保留其中一些作为标志以指示它是您的信标格式,而不是其他人的信标格式。

您可以以AltBeacon spec为例。此格式使用两个字节来标识自身("beacon code")、20 个字节的信标标识符、一个字节的数据和一个字节的参考 RSSI。您可能仍然希望每个信标都有一个唯一标识符,以便您知道哪个信标向您发送了信息。但是您可以出于您的目的将其减少到四个字节,这将允许您有 2^32 个不同的信标发送此信息。

Android Beacon Library lets you both transmit and receive beacons using arbitrary formats you can define using the BeaconParser class。使用四字节标识符的信标格式,PH、温度和湿度数据字段各两个字节,其他五个数据字段各两个字节可能如下所示:

m:2-3=abcd,i:4-7,d:8-9,d:10-11,d:12-13,d:14-15,d:16-17,d:18-19,d:20-21,d:22-23,p:24-24