このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
Bluetooth Low Energy 周辺デバイスの検索
blelist
を使用して、近くにある Bluetooth® Low Energy 周辺デバイスのリストを確認することができます。リストでデバイスを特定した後、ble
を使用して MATLAB® から接続を確立することができます。
デバイスのスキャン
blelist
を使用して、MATLAB から Bluetooth Low Energy 周辺デバイスをスキャンします。この関数は、データをアドバタイズしている近くの周辺デバイスをすべてリストします。各デバイスのアドバタイズ データを MATLAB に表示して、それが接続可能かどうかを判定します。デバイスがリストに表示されない場合は、電源が入っており、近くにあり、他のデバイスやアプリケーションから切断されていることを確認します。そのうえで、再度スキャンを行います。
list = blelist
list=5×5 table Index Name Address RSSI Advertisement _____ __________________ ______________ ____ _____________ 1 "Gear Fit2 (E16A)" "8498663EE16A" -54 [1×1 struct] 2 "" "2C4D2724754D" -69 [1×1 struct] 3 "" "1B75E09FD18F" -70 [1×1 struct] 4 "" "4F7D6DAF9FCE" -75 [1×1 struct] 5 "" "7B8ADB5851BD" -76 [1×1 struct]
デバイスは、信号の強度を表す RSSI によって並べ替えられます。いくつかのデバイスがリストされている場合は、Name
フィールドを使用してデバイスを特定します。
各デバイスのアドバタイズ データには、Bluetooth SIG によって汎用アクセス プロファイル (GAP) 内に定義されたデータが含まれています。アドバタイズ データ Advertisement
内の Type
フィールドには、接続ステータスが表示されます。最初のデバイスのアドバタイズ データを表示します。
list.Advertisement(1)
ans = struct with fields: Type: ["Connectable Undirected" "Scan Response"] Appearance: "Generic Watch" ShortenedLocalName: [] CompleteLocalName: "Gear Fit2 (E16A)" TxPowerLevel: [] SlaveConnectionIntervalRange: [] ManufacturerSpecificData: [0 117 1 0 2 0 1 3 0] ServiceData: [] CompleteServiceUUIDs: [] IncompleteServiceUUIDs: [] ServiceSolicitationUUIDs: []
名前によるデバイスのスキャン
名前と値のペアの引数を使用して、特定の名前をもつデバイスのみをリストできます。
たとえば、文字列 "UA"
で始まる名前をもつすべての周辺デバイスをリストします。
list = blelist("Name","UA")
list=2×5 table Index Name Address RSSI Advertisement _____ ___________________ ______________ ____ _____________ 1 "UA E39 MODULE" "84DD20E39AB6" -84 [1×1 struct] 2 "UA Footpod 239AE2" "0CF3EE239AE2" -87 [1×1 struct]
サービス名または UUID によるデバイスのスキャン
サービスをアドバタイズしているデバイスについては、名前と値のペアの引数を使用して、指定のサービスをもつデバイスのみをリストすることができます。サービス名とサービスの UUID は、いずれも有効です。
たとえば、Heart Rate
サービスをアドバタイズするすべての周辺デバイスをリストします。
list = blelist("Services","Heart Rate")
list=1×5 table Index Name Address RSSI Advertisement _____ ___________________ ______________ ____ _____________ 1 "UA E39 MODULE" "84DD20E39AB6" -84 [1×1 struct]
より長い時間のスキャン
MATLAB が近くのデバイスをスキャンする時間を増やすことができます。これは、デバイスのアドバタイズ間隔が長く、既定のタイムアウト値である 3 秒ではリストに表示されない場合に便利です。
list = blelist("Timeout",10);
デバイスへの接続
デバイスを検出したら、ble
を使用して MATLAB と周辺デバイス間に接続を確立します。blelist
の出力からデバイスの名前またはアドレスを指定します。
b = ble("Gear Fit2 (E16A)")
b = ble with properties: Name: "Gear Fit2 (E16A)" Address: "8498663EE16A" Connected: 1 Services: [2×2 table] Characteristics: [3×5 table] Show services and characteristics
デバイスへの接続を作成した後は、ble
プロパティにリストされている Characteristics
を操作することができます。詳細と次の手順については、デバイスの特性と記述子の操作を参照してください。