Bluetooth 覆盆子iBeacon未检测到

Bluetooth 覆盆子iBeacon未检测到,bluetooth,raspberry-pi,bluetooth-lowenergy,bluez,ibeacon,Bluetooth,Raspberry Pi,Bluetooth Lowenergy,Bluez,Ibeacon,我最近试图在raspberry pi上的BLE加密狗(剑桥硅收音机)上配置ibeacon。 参考: 我得到这个信息: HCI Command: ogf 0x08, ocf 0x0008, plen 44 1E 02 01 1A 1A FF 4C 00 02 15 E2 C5 6D B5 DF FB 48 D2 B0 60 D0 F5 A7 10 96 E0 00 00 00 00 C9 00 00 00 00 00 00 00 00 00 00 00 00 00 > HCI E

我最近试图在raspberry pi上的BLE加密狗(剑桥硅收音机)上配置ibeacon。 参考:

我得到这个信息:

HCI Command: ogf 0x08, ocf 0x0008, plen 44
  1E 02 01 1A 1A FF 4C 00 02 15 E2 C5 6D B5 DF FB 48 D2 B0 60
  D0 F5 A7 10 96 E0 00 00 00 00 C9 00 00 00 00 00 00 00 00 00
  00 00 00 00
> HCI Event: 0x0e plen 4
  01 08 20 12
而且应用程序甚至没有找到信标。虽然我可以看到加密狗在这个命令上闪烁一些灯光:

sudo hciconfig hci0 leadv 0
但是什么也没被发现

因此,从appstore下载一个名为LIGHTBLUE的应用程序,它会检测到具有不同UUID的蓝牙

我已经试过很多次了。并已完成教程中的所有步骤。但是这个蓝牙设备就是不显示

另外,我很想知道什么是0x08和0x0008 如果我想铸造一个不同的UUID,我应该怎么做?但这是后面的部分

目前,蓝牙不会像Radius Networks的教程中所说的那样投射估计UUID

希望很快收到回复

我写的命令(在这不起作用后,我将电源改为C9):

$sudo hcitool-i hci0 cmd 0x08 0x0008 1e 02 01 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 c5 00 00 00

令人惊讶的是,错误是:错误:无效的HCI命令参数; 为什么它是无效的? 是因为CSR支持128位而不是64位十六进制吗

谢谢

HCI Event: 0x0e plen 4 01 08 20 12
转换为:设置播发数据命令已完成运行,错误为0x12“无效HCI命令参数”

ogf0x08,ocf0x0008
是设置广告包数据的命令,因此您可以更改该命令的参数以修改UUID。您希望更改十六进制字符串中与UUID对应的部分。请注意:

sudo hcitool-i hci0 cmd 0x08 0x0008 1e 02 01 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e000 00 00 c5 00 00 00 00 00 00 00 00

iBeacon广播配置文件UUID E2C56DB5-DFFB-48D2-B060-D0F5A71096E0大调为0,小调为0


你确定你有蓝牙4.0加密狗吗?你输入的确切命令是什么?(将其剪切并复制到您的问题中)

不幸的是,您需要一个不同的蓝牙加密狗。还有其他报道称,CSR没有与iBeacon广告的Raspberry Pi上的Bluez stack合作。看到和


我已经验证了上面提到的命令在使用推荐的IGOEL GBU521.< /P> < P>时不会出错。我也有一个基于CSR的USB软件狗在香港购买。我通过删除末尾的额外填充,使LE Set advision Data命令生效。根据标准,数据字段的长度应为31个八位字节。我不知道为什么Radius网络教程会添加额外的零。试试这个:

$ sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00

注意:我没有在Raspberry Pi上运行这个,而是在一台带有bluez-4.98的Ubuntu 12.04笔记本电脑上运行。

我成功地使用了Raspberry Pi和Inateck csr4b5 BT加密狗,它们应该包含CRS 8510。正如memoryhole所说,通过遵守BT规范31个八位字节的长度,并在最后省略额外的00个八位字节,它起到了作用

编辑:还与Pearl加密狗型号PX-1632-675和CSL USB蓝牙Nano加密狗CSL-Nr.23996一起使用

试试看


干杯

我看到了与memoryhole相同的问题,我不得不删除多余的零。 我还必须启用广告,然后才能配置广告数据,使其与我的加密狗正常工作

以下是对我有效的确切顺序/命令:

sudo hciconfig hci0 up
sudo hciconfig hci0 leadv 3
sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 00 00 00 00 c5 00
这就是我版本的Radius脚本的最终外观:

#!/bin/sh
. ./ibeacon.conf
echo "Launching virtual iBeacon..."
sudo hciconfig $BLUETOOTH_DEVICE up
sudo hciconfig $BLUETOOTH_DEVICE leadv 3
sudo hcitool -i $BLUETOOTH_DEVICE cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 $UUID $MAJOR $MINOR $POWER 00
echo "Complete"
这是一款带有ORICO BTA-402-BK品牌BLE加密狗(CSR8510 A10)的Rasberry Pi


(我本想留下这个作为评论,但没有足够的代表)

我从亚马逊买了一些:

而且在开始的时候没有让它在半径图坦卡蒙之后工作。在另一个窗口中运行hcidump在发出hcitool命令时显示错误消息:

> HCI Event: Command Complete (0x0e) plen 4
    LE Set Advertising Data (0x08|0x0008) ncmd 1
    status 0x12
    Error: Invalid HCI Command Parameters
在删除了hcitool命令末尾的额外00之后,它起了作用。我的配置文件是:

export BLUETOOTH_DEVICE=hci0
# E2C56DB5-DFFB-48D2-B060-D0F5A71096E0
# export UUID="e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0"
export UUID="92 77 83 0A B2 EB 49 0F A1 DD 7F E3 8C 49 2E DE"
export MAJOR="00 00"
export MINOR="00 00"
export POWER="C5 00"
请注意功率中的额外00!这个额外的00是很重要的

我的beaconstart脚本是:

#!/bin/sh
. ./ibeacon.conf
echo "Launching virtual iBeacon..."
sudo hciconfig $BLUETOOTH_DEVICE up
sudo hciconfig $BLUETOOTH_DEVICE noleadv
sudo hciconfig hci0 noscan
sudo hciconfig $BLUETOOTH_DEVICE leadv 3
sudo hcitool -i hci0 cmd 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 $UUID $MAJOR $MINOR $POWER
# sudo hciconfig $BLUETOOTH_DEVICE leadv 3
echo "Complete"

在尝试和出错时,我还添加了noscan,并将leadv 3放在hcitool命令前面。但是,只有在删除额外的00之后,它才开始工作。

它是否与教程中提供的uuid一起工作,或者您是否看到了相同的结果?嘿!不,没有任何效果,我甚至尝试过从Bluez5.8升级到5.11;我现在完全糊涂了。顺便说一句,我使用的是CSR(剑桥硅收音机4.0)。这有区别吗?你说的“我把电源换成C9”是什么意思?你在hcitool命令中做了一些更改?蒂姆:是的,我将c5改为c9(如果你在博客上查看开始脚本,我猜这就是功率)。嘿,是的,我有一个剑桥硅收音机(CSR)4.0。我们需要知道的是:1)广告模式开关?2) 是狗的奴隶还是主人?我对这个加密狗和UNIX编程也很陌生。使用CSR时应记住什么?
0x08 0x0008
用于设置LE广告数据,但不会将其打开/关闭。如果您直接从该主机网站剪切并复制了该命令,那么它应该可以正常工作。你能用另一个加密狗试试吗?中国公司制造假冒的CSR加密狗是很常见的,这些加密狗都有漏洞(我已经买了)。他们说,我又订购了一个加密狗,将于周一发货!一旦我尝试了,就会更新状态。可能CSR不是一个真正的CSR。谢谢你的帮助。嗨,蒂姆,我很好奇HCI事件中代码的含义。我发现
0x12
是核心规范中的无效HCI命令参数。但是
0x20
0x12
之前是什么意思?我在一次会议上问了这个问题。你能帮忙吗?谢谢!我只是用我的假“CSR”加密狗试了试,结果得到了与原始海报相同的错误。我想知道这是否发生在合法的CSR软件狗身上。Radius网络没有听到任何关于这方面的报道