我正在使用USB蓝牙适配器运行RPi。当我使用hcitool时,我可以发现SmartTag设备。但是当我使用gatttool时,我无法连接。它说"主机停机(112)"。这是我的命令:
$ sudo hcitool lescan
LE Scan ...
BC:6A:29:AB:DE:2B (unknown)
BC:6A:29:AB:DE:2B SensorTag
检查我的RPi上的蓝牙适配器我得到了:
$ hcitool dev
Devices:
hci0 5C:F3:70:60:E6:1B
然后,当我像这样使用gatttool时,我得到:
$ sudo gatttool -i hci0 -b BC:6A:29:AB:DE:2B -I
[ ][BC:6A:29:AB:DE:2B][LE]>
当我输入connect时,我得到了这个:
[ ][BC:6A:29:AB:DE:2B][LE]> connect
Connecting... connect error: Host is down (112)
[ ][BC:6A:29:AB:DE:2B][LE]>
我在网上发现了一些信息,说'#34;主机已关闭"表示蓝牙传感器未处于可发现模式。但就SmartTag而言,这是不正确的,因为我按下TI所说的传感器上的一个按钮(侧面按钮),以使其可被发现。 hcitool lescan使用同一个来查找设备。还有一个Android应用程序可以通过手机运行,它可以在按下相同的按钮时扫描,连接和读取SmartTag传感器。
有谁知道问题可能是什么? 提前致谢
答案 0 :(得分:14)
我有同样的问题,这种方法对我有用:
移除USB模块并重新启动RPi:
sudo shutdown -r now
( 修改强> 您可能需要编辑 /etc/apt/sources.list ,以便成功安装此后列出的库。
nano /etc/apt/sources.list
deb http://archive.raspbian.org/raspbian wheezy main contrib non-free
deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free
否则,您可能偶然发现以下错误
checking for GLIB... no
configure: error: GLib >= 2.28 is required
请勿忘记更新,以便更改生效。
sudo apt-get update
)
删除Bluez安装并执行更新:
sudo apt-get --purge remove bluez
sudo apt-get update
您可以编辑/etc/apt/sources.list
以确保您能够安装必要的库:
确保您拥有必要的库:
sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev libudev-dev libical-dev libreadline-dev
下载并提取最新的Bluez版本(当时为5.21):
sudo wget https://www.kernel.org/pub/linux/bluetooth/bluez-5.21.tar.xz
sudo tar xvf bluez-5.21.tar.xz
转到Bluez文件夹,配置并安装(sudo make
行需要一些时间来处理):
cd bluez-5.21
sudo ./configure --disable-systemd
sudo make
sudo make install
关闭RPi,以便插入蓝牙适配器,而不是再次打开
sudo shutdown -h now
您可能需要启动USB加密狗:
sudo hciconfig hci0 up
然后你可以再次尝试LESCAN:
sudo hcitool lescan
假设它正常工作,你将会与之联系:
sudo hcitool lecc BC:6A:29:AB:DE:2B
sudo gatttool -b BC:6A:29:AB:DE:2B --interactive
[ ][BC:6A:29:AB:DE:2B][LE]> connect
[CON][BC:6A:29:AB:DE:2B][LE]>
如果需要很长时间才能显示连接的" [CON]"线,尝试按下传感器标签上的侧面按钮,使其再次可见。
这是来自这两个链接的信息的混合:
http://mike.saunby.net/2013/04/raspberry-pi-and-ti-cc2541-sensortag.html https://learn.adafruit.com/pibeacon-ibeacon-with-a-raspberry-pi/setting-up-the-pi