===== 扫描BLE设备 ===== 通过API扫描BLE设备,支持自定义扫描参数。 示例 ===== .. literalinclude:: ../../../../example/cassiablue/scan.py :language: python :linenos: API ===== .. py:function:: cassiablue.start_scan(query: str | None = None) -> tuple[ok: bool, result: str] :async: 开启扫描,用于扫描周围的BLE设备,目前支持同时开启1个 :parameters: - query: 扫描参数,参考 `Scan bluetooth devices `_ :returns: - ok: 是否执行成功 - result: 执行结果,扫描数据请参考 ``BLEScanResult`` .. py:function:: cassiablue.scan_result() -> BLEScanResult :async: 获取扫描数据 :returns: ``class BLEScanResult`` .. py:class:: BLEScanResult 异步可迭代对象,用于流式接收 BLE 扫描数据。 .. py:method:: __aiter__() -> BLEScanResult :async: 返回自身,使实例可直接用于 ``async for`` 循环。 .. py:method:: __anext__() -> dict :async: 从全局 ``scan_sse_client.queue`` 中异步获取下一条扫描结果并返回。 当队列为空时会一直等待,直到有新数据到达。 .. csv-table:: 数据字段说明 :header: 字段,类型,说明,示例 bdaddr,str,设备MAC地址,20:00:00:00:00:02 bdaddrType,str,设备地址类型,random rssi,int,RSSI,-65 evtType,int,Event Type,3 name,str,广播名称,M2000 adData,str,广播包,0201060D… scanData,str,扫描响应包,11094D…