我想建立一个树莓派零W和一个iOS和安卓应用程序(我将开发)的BLE信标,我将列出信标,并选择一个发送4-6字节的数据,以触发对Pi的一些行动。是否可以使用Beacons,或者我是否应该使用其他东西。我正在写Go,我不想把设备配对。
发布于 2021-03-04 03:42:39
是的,可以让Raspberry Pi Zero W扫描信标,并采取它看到的标识符的操作。(但请注意,这必须是Zero W。基本的Raspberry Pi Zero没有无线功能。)
在Raspberry Pi上的Go中找不到信标检测代码,因此最好使用本机C程序来完成信标扫描部分,并从Go程序中调用它作为shell脚本。下面的C程序是我在Raspberry Pi上用来扫描信标的程序:
https://gist.github.com/davidgyoung/0a18028b4338ff6cb201fba274502662
该程序必须使用cc scanner.c -lbluetooth -o scanner在Raspberry Pi上编译,然后您可以只使用scanner启动扫描仪。程序的输出将如下所示:
B8:27:EB:1F:93:4D -68 02 01 06 11 06 82 75 25 D9 37 9D D7 8F 5F 4A F4 20 00 00 75 30
71:5C:23:9D:BC:7F -68 02 01 1A 02 0A 0C 0B FF 4C 00 10 06 03 1A 3B D4 B2 EB
B8:27:EB:1F:93:4D -68 02 01 06 11 06 82 75 25 D9 37 9D D7 8F 5F 4A F4 20 00 00 75 30
4A:53:7F:64:71:EC -91 03 03 9F FE 17 16 9F FE 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
69:0D:FF:7B:75:65 -73 02 01 1A 02 0A 0C 0A FF 4C 00 10 05 03 1C 27 BB 63
61:39:71:E9:1D:C9 -93 02 01 1A 02 0A 18 0A FF 4C 00 10 05 01 18 3B 24 12
B8:27:EB:1F:93:4D -68 02 01 06 11 06 82 75 25 D9 37 9D D7 8F 5F 4A F4 20 00 00 75 30上面的每一行都显示了检测到的蓝牙设备的MAC地址,然后是信号强度RSSI,然后是通告的十六进制字节。
Go程序将需要读取scanner输出的每一行,然后解析广告的字节,以查找信标模式,以便在看到具有特定字节模式的数据包时执行各种功能(表明该数据包是由移动电话发出的)。
https://stackoverflow.com/questions/66457712
复制相似问题