私は現在、RadiusNetworks によって投稿された Raspberry Pi iBeacon チュートリアルを試みています。
http://developer.radiusnetworks.com/2013/10/09/how-to-make-an-ibeacon-out-of-a-raspberry-pi.html
しかし、数秒後に接続がタイムアウトするという問題があります。Raspbian のフレッシュ ビルドを実行し、2 つの異なるドングル (AZIO V400 および IOGEAR GBU521) を試しました。また、チュートリアルに従って Bluez 5.8 と Bluez 5.11 を両方ともフレッシュな Raspbian ロードで試しました。
開始スクリプトを呼び出すと、次のように表示されます。
pi@piBlueTest ~ $ ./start
Launching virtual iBeacon...
LE set advertise enable on hci0 returned status 12
< HCI Command: ogf 0x08, ocf 0x0008, plen 44
1E 02 01 1A 1A FF 4C 00 02 15 E2 C5 6D B5 DF FB 48 D2 B0 60
D0 F5 A7 10 96 E0 00 00 00 00 C9 00 00 00 00 00 00 00 00 00
00 00 00 00
> HCI Event: 0x0e plen 4
01 08 20 00
Complete
これにより、「Locate iBeacon」アプリを使用して iPhone で「Entered」イベントがトリガーされ、距離がメートル単位で数秒間表示されます。その後、さらに数秒間範囲として「距離: 不明」が表示され、続いて「終了」イベントが発生します。「hcidump」を実行してシーケンスを実行すると、
HCI sniffer - Bluetooth packet analyzer ver 5.11
device: hci0 snap_len: 1500 filter: 0xffffffff
< HCI Command: LE Set Advertise Enable (0x08|0x000a) plen 1
> HCI Event: Command Complete (0x0e) plen 4
LE Set Advertise Enable (0x08|0x000a) ncmd 1
status 0x0c
Error: Command Disallowed
< HCI Command: LE Set Advertising Data (0x08|0x0008) plen 44
> HCI Event: Command Complete (0x0e) plen 4
LE Set Advertising Data (0x08|0x0008) ncmd 1
status 0x00
< HCI Command: LE Set Advertising Parameters (0x08|0x0006) plen 15
min 1280.000ms, max 1280.000ms
type 0x00 (ADV_IND - Connectable undirected advertising) ownbdaddr 0x00 (Public)
directbdaddr 0x00 (Public) 00:00:00:00:00:00
channelmap 0x07 filterpolicy 0x00 (Allow scan from any, connection from any)
> HCI Event: Command Complete (0x0e) plen 4
LE Set Advertising Parameters (0x08|0x0006) ncmd 1
status 0x00
< HCI Command: LE Set Advertise Enable (0x08|0x000a) plen 1
> HCI Event: Command Complete (0x0e) plen 4
LE Set Advertise Enable (0x08|0x000a) ncmd 1
status 0x00
> HCI Event: LE Meta Event (0x3e) plen 19
LE Connection Complete
status 0x00 handle 64, role slave
bdaddr B8:F6:B1:1C:15:C8 (Public)
> ACL data: handle 64 flags 0x02 dlen 11
ATT: Read By Type req (0x08)
start 0x0001, end 0xffff
type-uuid 0x2a00
> HCI Event: Disconn Complete (0x05) plen 4
status 0x00 handle 64 reason 0x13
Reason: Remote User Terminated Connection
iPhone が pi への接続を開始しようとしているように見えますが、その接続のネゴシエーションに失敗し、広告が終了します。
チュートリアルから手紙までの手順を完了しましたが、切断の原因を特定できないようです。bluez のバージョンを変更したり、別のハードウェアを試したりしましたが、うまくいきませんでした。どのステップが欠落している可能性がありますか?手がかりを求めて思いつく限りのことを調べましたが、まだ答えは見つかりません。アドバイスをよろしくお願いします!