adafruit_ble

该模块提供更高级别的 BLE(蓝牙低功耗)功能,构建在本机_bleio 模块上。

class BLEConnection(bleio_connection)

表示与对等 BLE 设备的连接。它充当从 Service 类型到 Service连接实例的映射。

参数:bleio_connection (_bleio.Connection) – _bleio.Connection 要包装的本机对象
connected

如果与对等方的连接仍处于活动状态,则为真。

paired

如果与对等方配对,则为真。

connection_interval

传输之间的时间(以毫秒为单位)。将是 1.25ms 的倍数。较低的数字会提高速度并减少延迟,但会增加功耗。

设置 connection_interval 时,对等方可能会拒绝新的时间间隔, connection_interval 然后将保持不变。

Apple 有额外的指导方针,规定应该是 15 毫秒的倍数,除非 HID 可用。当 HID 可用时,Apple 设备可能接受 11.25 毫秒的间隔。

pair(*, bond=True)

与对等方配对以提高连接的安全性。

disconnect()

断开与对等方的连接。

class BLERadio(adapter=None)

BLERadio 提供了 BLE 广告、扫描广告和连接对等点的接口。可能有多个连接同时处于活动状态。

它使用这个库的 Advertisement 类和BLEConnection类。

start_advertising(advertisement, scan_response=None, interval=0.1, timeout=None)

开始为给定的广告做广告。

参数:
  • scan_response (buf) – 扫描响应数据包字节。如果None,将生成包含 BLERadio.name 和的默认扫描响应 BLERadio.tx_power
  • interval (float) – 广告间隔,以秒为单位
  • timeout (int) – 以秒为单位的广告超时。如果没有,则没有超时。

timeout在 CircuitPython 5.x 中不可用,必须是 None.

stop_advertising()

停止广告。

start_scan(*advertisement_types, buffer_size=512, extended=False, timeout=None, interval=0.1, window=0.1, minimum_rssi=-80, active=True)

开始扫描。返回 ads_types 中给定类型的广告对象的迭代器。迭代器将阻塞,直到听到广告或扫描超时。

如果 advertisement_types 给出任何,则返回的迭代器仅生成这些类型的广告。如果没有给出,则Advertisement 返回对象。

广告和扫描响应被分别过滤和返回。

参数:
  • buffer_size (int) – 要缓冲的最大广告字节数。
  • extended (bool) – 为 True 时,支持扩展广告数据包。设置时建议增加 buffer_size。
  • timeout (float) – 以秒为单位的扫描超时。如果没有,将扫描直到stop_scan被调用。
  • interval (float) – 两个连续扫描窗口开始之间的间隔(以秒为单位)必须在 0.0025 - 40.959375 秒的范围内。
  • window (float) – t扫描单个 BLE 通道的持续时间(以秒为单位)。窗口必须 <= 间隔。
  • minimum_rssi (int) –要返回的条目的最小 rssi。
  • active (bool) – 请求和检索可扫描广告的扫描响应。
返回:

如果 advertisement_types给出任何,则返回的迭代器仅生成这些类型的广告。如果没有给出,则Advertisement返回对象。

返回类型:

可迭代的

stop_scan()

停止任何活动扫描。

扫描结果迭代器将返回任何缓冲的结果,然后在为空时引发 StopIteration。

connect(peer, *, timeout=4.0)

Initiates a BLEConnection 向发布给定广告的对等方发起 a 。

参数:
返回:

与对等方的连接

返回类型:

BLEConnection

connected

如果连接了任何对等点,则为真。

connections

活动BLEConnection 对象的元组。

name

此设备的名称。在广告中使用并用作通用访问服务中的设备名称,可供连接的对等方使用。

tx_power

发射功率,单位为 dBm。

address_bytes

设备地址,作为 bytes() 长度为 6的对象。

advertising

广告状态