覆盆子蓝牙外设与Bluez和Bleno

时间:2014-08-31 23:31:01

标签: ios raspberry-pi raspbian bluez bleno

我试图创建一个覆盆子蓝牙外围设备,我使用Raspbian和Bluez v 5.11,我已经尝试了很多使其工作,但我无法找到一种方法解决问题,我使用USB蓝牙适配器Inatek BTA-CSR4B5,如果我这样做:

hciconfig
我有:

hci0:   Type: BR/EDR  Bus: USB
    BD Address: 00:1A:7D:DA:71:13  ACL MTU: 310:10  SCO MTU: 64:8
    UP RUNNING 
    RX bytes:5050 acl:79 sco:0 events:493 errors:0
    TX bytes:8994 acl:78 sco:0 commands:395 errors:0

所以设备看起来工作得很好,如果我试着让它成为iBeacon,例如做这个脚本:

ibeacon.conf:

export BLUETOOTH_DEVICE=hci0
export UUID="e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0"
export MAJOR="00 16"
export MINOR="00 08"
export POWER="c5"

ibeacon_start

#!/bin/sh
. ./ibeacon.conf
echo "Launching virtual iBeacon..."
sudo hciconfig $BLUETOOTH_DEVICE up
sudo hciconfig $BLUETOOTH_DEVICE noleadv
sudo hciconfig $BLUETOOTH_DEVICE leadv 0
sudo hcitool -i hci0 cmd 0x08 0x0008 1e 02 01 1a 1a ff 4c 00 02 15 $UUID $MAJOR $MINOR $POWER 00
echo "Complete"

它有效。

但是我想制作一个蓝牙外设,并且我要使用这个库:

https://github.com/sandeepmistry/bleno

当我在bleno项目中启动测试代码时,我可以找到该服务,但是当我尝试使用iOS设备连接到外围设备时,我会得到一个Timing out连接。

我已经做了很多测试,我找到了问题的一半解决方案,如果我使用bleno启动服务,并且服务已启用,在另一个终端我执行此操作:

sudo hciconfig hci0 up
sudo hciconfig hci0 noleadv
sudo hciconfig hci0 leadv 0

当我尝试连接到外围设备时,当我断开外围设备并尝试再次连接它时,不再工作了,为了再次工作,我必须再次这样做:< / p>

sudo hciconfig hci0 up
sudo hciconfig hci0 noleadv
sudo hciconfig hci0 leadv 0

所以我的问题是,我如何解决我的问题?所以每次上面的命令都要避免做,并制作一个总是接受连接的蓝牙外设吗?

1 个答案:

答案 0 :(得分:1)

您是否尝试过hciconfig hci0 sspmode 1?