我正在嘗試創建樹莓藍牙外設,我使用Raspbian和Bluez v 5.11,我已經嘗試了很多工作,但我找不到方法要解決這個問題,我使用的是USB藍牙適配器Inatek BTA-CSR4B5,如果我這樣做:藍牙和Bleno樹莓藍牙外設
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設備連接到外設時,我得到一個定時輸出連接。
我做了很多測試,我已經找到了問題的一半的解決方案,如果我開始與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
所以我的問題是,我怎麼能解決我的問題?那麼避免每次都做上面的命令,並且做一個總是接受連接的藍牙外設?