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: 执行结果