2017-09-26 11 views
0

Linux上でBlueZ 4.101を使用するプラグインとして動作するカスタムGATTサーバーがあります。私は現在、カスタムScan Response広告データを設定しようとしています。私はLightBlueをiOS上で使用してGATTサーバと広告パラメータをデバッグしています。次のコードを試してみましたが、LightBlueには広告ペイロードとデバイス名は表示されますが、スキャン応答データは表示されません。 BlueZでカスタムスキャンレスポンスデータを設定するにはどうすればよいですか?ありがとう。Linux BlueZカスタム製造スキャンレスポンスデータ

# BLE Name 
echo "<GATT SERVER> Setting BLE Advertising Name..." 
btmgmt -i $BLUETOOTH_DEVICE name "My-Test-Device" 

echo "<GATT SERVER> Starting BLE Advertising..." 
hciconfig $BLUETOOTH_DEVICE leadv 

# Adv Packet 
echo "<GATT SERVER> Setting BLE Advertising Packets..." 
hcitool -i hci0 cmd 0x08 0x0008 15 02 01 06 11 06 fa d8 43 31 14 09 0c ba e1 14 82 25 11 48 96 16 
#        | | | | | | ----------------------------------------------- 
#        | | | | | |  | 
#        | | | | | |  +---- device state service UUID        
#        | | | | | | 
#        | | | | | +- Incomplete List of 128-bit Service Class UUIDs       
#        | | | | | 
#        | | | | +- Num bytes in -----------------------------------+ 
#        | | | | 
#        | | | +- LE General Discoverable Mode, BR/EDR      
#        | | | 
#        | | +- Flags AD type 
#        | | 
#        | +nBytes+     
#        | 
#        +- Num bytes in -----------------------------------------------+ 

# Scan Response 
echo "<GATT SERVER> Setting BLE Scan Response..." 
hcitool -i hci0 cmd 0x08 0x0009 02 01 06 1A FF 02 5E 03 02 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
+0

スキャンデータには何を入力しますか?あなたの現在のスキャン応答データは私には分かりません。 – Emil

+0

私はスキャンレスポンスインターフェイスを設計することができる本当にちょっとしたカスタムバイトです。問題は、BLE112 Bluegiga Dongleを内部スタックで使用すると、LightBlueは広告データとスキャンレスポンスのカスタムデータ(そのドングルには内部スタックがあるため)とそのコマンドを見ることができますが、同じスキャンレスポンス上記のようにBlueZのデータ、LightBlueには何も表示されません – PhilBot

+0

スキャン応答データの設定例はありますか?ありがとう。 – PhilBot

答えて

0

検出応答を設定するコマンドは意味をなさない。

hcitool -i hci0 cmd 0x08 0x0009 14 13 09 74 68 65 20 70 69 

    hcitool -i hci0 cmd 0x08 0x0009 : set discovery response 
    14 : total payload length 
    13 : info payload length 
    09 : info type == name 
    74 68 65 20 70 69 : info payload => the name in ascii. here "the pi" 

デバイスが接続できない場合、これは機能しませんのでご注意ください。