带有BLE加密狗的RaspberryPi是否可以检测iBeacons?

我从中购买了一个开发工具包,Radius Networks其中包括ioGear GBU521 BLE 4.0 dongleRaspberry Pi。我也买了他们的一个RadBeacon iBeacons。他们俩都像广告一样工作,但是我对自己得到的东西感到惊讶。

我以为RaspPi可以检测到iBeacons。而是将套件设置为创建一个iBeacon。我的用例是检测a何时forklift进入特定房间,以便将工作发送给他们。我的想法是在叉车上放置一个iBeacon,然后在RaspPi上搜索iBeacon。当检测到iBeacon(叉车)时,您可以得出结论,它就在附近。我将RaspPi连接到,LAN并使其通过进行信息交流REST or similar。我知道我可以提出一个合适的方法Android or Apple device并以这种方式完成它,但是我不明白为什么该加密狗无法检测到这些iBeacons并告诉我它们UUID's是什么?我想念什么?


守着星空守着你
浏览 498回答 3
3回答

MMMHUHU

是! 您可以使用Raspberry Pi扫描iBeacons。我们在下面组合了一个脚本来执行此操作,您也可以按照以下步骤自行进行操作:启动进行蓝牙LE扫描的后台进程:sudo hcitool lescan --duplicates &使用该--duplicates设置,扫描将不会忽略来自同一iBeacon的多个数据包。启动hcidump并将原始输出通过管道传递到脚本,该脚本将过滤iBeacon数据包:sudo hcidump --raw 过滤是一个棘手的部分,原始的输出hcidump格式不正确,并且还会显示不是iBeacon传输的数据包。为了解决这个问题,我们制作了一个过滤器脚本,该脚本逐行读取输出,并从其他输出(例如,MAC地址等)中分离出原始数据包。我们在Radius Networks的iBeacon蓝牙配置文件上做了很多研究,我们用来识别iBeacon数据包并从其他设备的数据包中过滤掉它们。我们将所有内容整合到一个ibeacon_scan脚本中,该脚本可以完成所有工作,包括将原始标识符转换为人类可读的形式。您可以在这里下载。很快,我们会将其包含在iBeacon开发工具包中以增加扫描功能。下面是从脚本输出的一个例子:$ ./ibeacon_scanUUID: 74278BDA-B644-4520-8F0C-720EAF059935 MAJOR: 0 MINOR: 73 POWER: -50UUID: 2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 MAJOR: 1 MINOR: 6 POWER: -59UUID: E2C56DB5-DFFB-48D2-B060-D0F5A71096E0 MAJOR: 6 MINOR: 9 POWER: -55我们还-b提供了裸输出选项,该选项易于解析为其他脚本,下面是一个示例:$ ./ibeacon_scan -b2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6 1 6 -59E2C56DB5-DFFB-48D2-B060-D0F5A71096E0 6 9 -5574278BDA-B644-4520-8F0C-720EAF059935 0 73 -50您可以使用此选项并将脚本的输出通过管道传递到脚本,以在检测到带有某些标识符的iBeacon时触发操作。编辑:我们对该脚本进行了重新设计,以使其响应速度更快且更可靠,并将其合并到开发工具包的最新版本中。此更新可从此处下载。编辑2:正如@ sai-ramachandran指出的那样,除了POWER之外,您还可以扩展此脚本以捕获每个iBeacon数据包的RSSI。为此,将以下行添加到脚本中: RSSI=`echo $packet | sed 's/^.\{132\}\(.\{2\}\).*$/\1/'` RSSI=`echo "ibase=16; $RSSI" | bc` RSSI=$[RSSI - 256]并确保将RSSI添加到输出中: echo "UUID: $UUID MAJOR: $MAJOR MINOR: $MINOR POWER: $POWER RSSI: $RSSI"

幕布斯6054654

您是正确的,iBeacon开发套件并非旨在检测iBeacon,而是旨在作为iBeacon进行传输。也就是说,可以使用@ChrisStratton在他的评论中建议的变体,用Raspberry Pi检测iBeacon 。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python