Периферийное устройство Raspberry Bluetooth с Bluez и Bleno

Я пытаюсь создать периферийное устройство raspberry bluetooth, я использую Raspbian и Bluez v 5.11, я много пытался заставить его работать, но я не могу найти способ решить проблему, я использую USB-ключ Bluetooth 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"

оно работает.

Но я хочу сделать периферийное устройство bluetooth, и для этого я использую эту библиотеку:

https://github.com/sandeepmistry/bleno

когда я запускаю тестовый код в проекте bleno, я могу найти службу, но когда я пытаюсь подключиться к периферийному устройству с помощью устройства iOS, я получаю соединение с тайм-аутом.

Я провел много тестов и нашел половинное решение проблемы, если я запускаю службу с помощью bleno, а служба включена, в другом терминале я делаю это:

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

и когда я пытаюсь подключиться к периферийному устройству, работает, затем, когда я отключаюсь от периферийного устройства и пытаюсь подключить его снова, он больше не работает, и, чтобы снова заработать, мне нужно сделать это снова:

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

Итак, мой вопрос, как я могу решить свою проблему? так что избегайте каждый раз выполнять указанную выше команду и создавайте периферийное устройство bluetooth, которое всегда принимает соединение?


person Piero    schedule 31.08.2014    source источник


Ответы (1)


Вы пробовали hciconfig hci0 sspmode 1?

person Deko    schedule 18.11.2014