API

class cassiamqtt.CassiaMQTTClient

与MQTT Broker建立连接,发布与订阅消息,目前最多只支持2个实例。

__init__(self, uri, username: str | None = None, password: str | None = None, client_id: str | None = None, ca: str | None = None, cert: str | None = None, key: str | None = None, key_pass: str | None = None, cert_common_name: str | None = None) CassiaMQTTClient

返回自身,初始化参数

Parameters:
  • uri: MQTT Broker URI

  • username: 用户名

  • password: 密码

  • ca: CA

  • cert: Cert

  • key: Key

  • key_pass: Key password

  • cert_common_name: Cert common name

async __aenter__(self)

建立连接,分配资源

async __aexit__(self)

断开连接,释放资源

async __aiter__() BLEScanResult

返回自身,使实例可直接用于 async for 循环。

async __anext__() dict

返回订阅消息

当队列为空时会一直等待,直到有新数据到达,连接断开时退出迭代。

数据字段说明

字段

类型

说明

示例

topic

str

Topic

/dev/down/CC:1B:E0:E4:C8:94/api

qos

int

QoS

0

payload

str

消息内容

{"id":"1758...

async publish(self, topic: str, payload: str, qos: int = 0, retain: bool = False) tuple[ok: bool, result: str]

向指定Topic发布消息

Parameters:
  • topic: Topic

  • payload: 消息内容

  • qos: QoS

  • retain: 是否保留消息

返回:

  • ok: 是否执行成功

  • result: 执行结果

async subscribe(self, topic: str, qos: int = 0) tuple[ok: bool, result: str]

订阅指定Topic消息

Parameters:
  • topic: Topic

  • qos: QoS

返回:

  • ok: 是否执行成功

  • result: 执行结果

async unsubscribe(self, topic: str) tuple[ok: bool, result: str]

取消订阅指定Topic消息

Parameters:
  • topic: Topic

返回:

  • ok: 是否执行成功

  • result: 执行结果