Я знаю, что этот вопрос задавался не в первый раз, но после того, как я пробовал каждую неделю, я все еще испытываю проблемы. Я пытаюсь подключиться к моим устройствам малины к устройствам BLE. Я могу сканировать их, но не подключаюсь к ним.Соедините устройства BLE с малиной pi 3 B
Последнее объяснение я последовала это GitHub вопрос: https://github.com/ukBaz/python-bluezero/issues/30
А вот все команды, которые я сделал, чтобы попытаться обновить BlueZ и сделать это соединение работает.
###Install RASPBIAN JESSIE LITE
2017-01-11-raspbian-jessie-lite.img
###Updates
$ sudo apt-get update
$ sudo apt-get upgrade
###Add libs
$ sudo apt-get install bluetooth bluez-tools build-essential autoconf glib2.0 libglib2.0-dev libdbus-1-dev libudev-dev libical-dev libreadline-dev git
###Get bluez-5.43
$ wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.43.tar.xz
$ tar xf bluez-5.43.tar.xz
$ cd bluez-5.43
###Patch bluez
$ wget https://gist.github.com/pelwell/c8230c48ea24698527cd/archive/3b07a1eb296862da889609a84f8e10b299b7442d.zip
$ unzip 3b07a1eb296862da889609a84f8e10b299b7442d.zip
$ git apply -v c8230c48ea24698527cd-3b07a1eb296862da889609a84f8e10b299b7442d/*
###Install bluez
$ ./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-experimental --enable-maintainer-mode
$ make -j 4 && sudo make install
### Add to /etc/dbus-1/system.d/bluetooth.conf
<!-- allow users of bluetooth group to communicate -->
<policy group="bluetooth">
<allow send_destination="org.bluez"/>
</policy>
$ sudo usermod -G bluetooth -a $USER
$ sudo sed -i '/^ExecStart.*bluetoothd\s*$/ s/$/ --experimental/' /lib/systemd/system/bluetooth.service
$ sudo systemctl daemon-reload
$ sudo service bluetooth restart
$ service bluetooth status
$ sudo reboot
$ sudo hcitool lescan
LE Scan ...
XX:XX:XX:XX:XX:XX (name)
$ gatttool -b XX:XX:XX:XX:XX:XX -I
[XX:XX:XX:XX:XX:XX][LE]> connect
Attempting to connect to XX:XX:XX:XX:XX:XX
Error: connect error: Transport endpoint is not connected (107)
$ gatttool -b XX:XX:XX:XX:XX:XX -t random -I
[XX:XX:XX:XX:XX:XX][LE]> connect
Attempting to connect to XX:XX:XX:XX:XX:XX
Error: connect error: Connection refused (111)
Спасибо за вашу помощь
Edit для ответа Constantin Chabirand в
$ systemctl status bluetooth
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled)
Active: active (running) since Tue 2017-01-17 21:17:07 UTC; 1min 51s ago
Docs: man:bluetoothd(8)
Main PID: 587 (bluetoothd)
Status: "Running"
CGroup: /system.slice/bluetooth.service
└─587 /usr/libexec/bluetooth/bluetoothd --experimental
$ bluetoothctl
[NEW] Controller B8:27:EB:FD:93:2B raspberrypi [default]
[bluetooth]# scan on
Discovery started
....
[bluetooth]# scan off
[bluetooth]# connect XX:XX:XX:XX:XX:XX
Attempting to connect to XX:XX:XX:XX:XX:XX
Failed to connect: org.bluez.Error.Failed
Edit 2
После переустановки с простым решением:
$ bluetoothctl -v
5.43
$ systemctl status bluetooth
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled)
Active: active (running) since Wed 2017-01-18 15:46:53 UTC; 3min 37s ago
Docs: man:bluetoothd(8)
Main PID: 586 (bluetoothd)
Status: "Running"
CGroup: /system.slice/bluetooth.service
└─586 /usr/local/libexec/bluetooth/bluetoothd --experimental
$ sudo bluetoothctl
[bluetooth]# connect XX:XX:XX:XX:XX:XX
Attempting to connect to XX:XX:XX:XX:XX:XX
Failed to connect: org.bluez.Error.Failed
Ну, на данный момент ваше устройство BLE не разрешает подключение или bluez не работает на вашем rpi. Вы пытались подключиться к другому устройству с помощью bluetoothctl? Это сработало? «Информация XX: XX: XX: XX: XX» возвращает правильную информацию о вашем устройстве? –
Я пробовал работать с другими устройствами, и подключение не выполнялось каждый раз. И «info XX: XX: XX: XX: XX» дает мне правильные сведения (по крайней мере, ничего странного по мне). Я также пробовал с другим rpi, и это тот же результат: s –