Main Content

blelist

扫描附近的低功耗 Bluetooth 外围设备

自 R2019b 起

说明

示例

list = blelist 扫描计算机检测到的附近正在广告的低功耗 Bluetooth® 外围设备。使用 ble 连接到外围设备。

示例

list = blelist(Name,Value) 使用可选的名称-值对组参量进行扫描。使用名称-值对组参量扫描特定设备或扫描更长时间。

示例

全部折叠

扫描附近的低功耗蓝牙外围设备,并查看设备广告数据。

使用 blelist 列出当前正在广告数据的所有附近的外围设备。如果外围设备已连接到另一个设备或应用程序,则该设备可能不会出现在此列表中。您可先断开外围设备与任何其他设备或应用程序的连接,以便 MATLAB® 发现它。

list = blelist
list=14×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] 
      6      ""                    "1838D92EC312"    -78     [1×1 struct] 
      7      ""                    "6A71507635AC"    -86     [1×1 struct] 
      8      ""                    "68CA4203A060"    -86     [1×1 struct] 
      9      ""                    "65C057AD64E5"    -88     [1×1 struct] 
     10      ""                    "399A1B26F47D"    -88     [1×1 struct] 
     11      ""                    "78BDCC3784C0"    -89     [1×1 struct] 
     12      ""                    "5446498F593E"    -91     [1×1 struct] 
     13      ""                    "67992F048DDB"    -92     [1×1 struct] 
     14      ""                    "3A0DAC7C7DCE"    -94     [1×1 struct] 

RSSI 值表示信号强度。该表首先列出信号较强的设备。这些设备离得更近。

查看第一台设备的广告数据。

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: []

如果设备的广告间隔大于默认的三秒超时值,您可以指定更长的超时值。

list = blelist('Timeout',10);

您可以使用名称-值对组参量扫描具有指定名称前缀或广告指定服务的低功耗蓝牙外围设备。

扫描名称以字符串 "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] 

您也可以按其服务来扫描外围设备。扫描广告 Heart Rate 服务的设备。

list = blelist("Services","Heart Rate")
list=1×5 table
    Index    Name       Address        RSSI    Advertisement
    _____    ____    ______________    ____    _____________

      1       ""     "84DD20E39AB6"    -85     [1×1 struct] 

输入参数

全部折叠

名称-值参数

将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: list = blelist("Name","UA") 返回名称以“UA”开头的所有外围设备。

用于过滤结果的外围设备名称,指定为逗号分隔的对组,其中包含 'Name' 和一个字符向量或字符串标量。使用此名称-值对组参量将只列出名称以指定值开头的外围设备。

示例: list = blelist("Name","Pebble") 返回名称以“Pebble”开头的所有外围设备。

数据类型: char | string

用于过滤结果的服务名称或 UUID,指定为逗号分隔的对组,其中包含 'Services' 和一个字符向量、字符串标量、字符向量元胞数组或字符串数组。使用此名称-值对组参量将只生成广告所有指定服务的外围设备列表。

示例: list = blelist("Services",["180a","180d"]) 返回同时广告 UUID 为 180a180d 的两项服务的所有外围设备。

示例: list = blelist("Services","Heart Rate") 返回所有广告“Heart Rate”服务的外围设备。

数据类型: char | string | cell

扫描时间(以秒为单位),指定为逗号分隔的对组,其中包含 'Timeout' 和一个数值。该值必须小于 10,485。如果使用 blelist 无法找到设备,请尝试为此参数设置一个更大的值。

示例: list = blelist("Timeout",20) 会搜索附近的外围设备,搜索时间为 20 秒。

数据类型: double

输出参量

全部折叠

附近外围设备的列表,以表形式返回。该表包含以下列。

外围设备名称,以字符串标量形式返回。

数据类型: string

外围设备标识符,以字符串标量形式返回。在 Windows® 上,此值是设备的 48 位 Bluetooth MAC 地址。在 macOS 上,此值是操作系统随机分配的 128 位地址。

数据类型: string

信号强度(以分贝为单位),以双精度值形式返回。RSSI 是接收信号强度指示。该表首先列出信号较强的设备。这些设备离您的计算机更近。

数据类型: double

外围设备的广告数据,以结构体形式返回。Advertisement 包含有关每个外围设备的连接信息。

在 Windows 上,Type 字段显示连接状态,以字符串形式返回。可能的值如下。

外围设备说明
"Connectable Undirected"可连接到计算机
"Connectable Directed"仅在编程为可连接到计算机才可以连接计算机
"Nonconnectable Undirected"无法连接到计算机,但可发送广告信息
"Scannable Undirected"无法连接到计算机,但可扫描
"Scan Response"向扫描请求发送扫描响应

macOS 上,Connectable 字段显示连接状态,以数字形式返回。1 表示 true(可连接),0 或任何其他数字表示 false(不可连接)。

Advertisement 中的其余字段是 Bluetooth SIG 在 Generic Access Profile (GAP) 中定义的其他广告数据。有关广告数据类型及其设定参考的完整列表,请参阅 Bluetooth SIG 网站

数据类型: struct

版本历史记录

在 R2019b 中推出