在应用程序中我期待Beacon中的蓝牙是非常好的选择,因为我想从不同来源收集PH到应用程序,所以我不能同时将我的Android设备与所有BLE设备配对,因为它将在20-30左右。
但是我可以看到,如果有Beacon,那么Android可以扫描所有设备并获得所有设备的RSSI而无需与它们配对。
因此有可能我们添加一些其他参数,例如PH,温度,湿度和其他3-4个参数,因此Beacon将与RSSI一起广播所有这些参数,在Android应用程序中我可以收集所有信息吗? / p>
答案 0 :(得分:2)
蓝牙信标通常依赖广告数据包来发送数据,这些数据受可用字节数的限制。对于制造商广告,您基本上有24个可用字节可供使用,但您需要保留其中一些作为标志,以表明它是您的信标格式,而不是其他人的信标格式。
您可以查看AltBeacon spec作为示例。该格式使用两个字节来标识自身("信标代码"),20个字节的信标标识符,一个字节的数据和一个字节用于参考RSSI。您可能仍需要每个信标的唯一标识符,以便您知道哪个信标向您发送了信息。但是你可以将它减少到四个字节用于你的目的,这将允许你有2 ^ 32个不同的信标发送这些信息。
Android Beacon Library允许您使用BeaconParser类定义的任意格式发送和接收信标。使用四字节标识符的信标格式,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