python-paho-mqtt说明文档学习摘要

#创建一个客户端实例

Client(client_id="", clean_session=True, userdata=None, protocol=MQTTv311)

#其中

client_id="",客户连接到代理的时候,使用的唯一客户端id,如果这个id是空的或者没有,会随机生成一个,

clean_session=True

清空数据  确定客户端类型,当时真的时候,代理将在断开的时候删除有关此客户端的所有信息

假的话   客户端是一个持久的客户端,断开连接后,订阅和排队消息将会保留。

userdata   用户自定义数据

 

protocol  用户定义的MQTT协议版本

import paho.mqtt.client as mqtt

mqttc = mqtt.Client()

例子

 

重新初始化

reinitialise(client_id="", clean_session=True, userdata=None)

将客户端重置为他的起始状态

eg:

mqttc.reinitialise()


 

Option functions:

这些函数用来修改客户端的设置行为


 

MAX_INFLIGHT_MESSAGES_SET()

用来设置最大消息数,默认为20,增加这个值会消耗更多的内存,可以增加吞吐量

max_inflight_messages_set(self, inflight)

 

TLS_SET()


 

tls_set(ca_certs, certfile=None, keyfile=None, cert_reqs=ssl.CERT_REQUIRED,

    tls_version=ssl.PROTOCOL_TLSv1, ciphers=None)

 

配置网络加密和身份验证,启用ssl/tls


 

USERNAME_PW_SET()

username_pw_set(username, password=None)

设置用户名和密码


 

WILL_SET()

will_set(topic, payload=None, qos=0, retain=False)

如果客户端不断开连接和不是调用disconnet()。代理将代表他发布消息

 

Connect / reconnect / disconnect

connect(host, port=1883, keepalive=60, bind_address="")

连接,将客户端连接到代理

host

远程代理的主机名或者是ip地址

port

服务器主机的网络端口

keepalive

与代理通信之间允许的最长时间(秒)。如果没有交换其他消息,则控制客户端向代理发送ping消息的速率。

bind_address

假定存在多个接口时,要将此客户端绑定到的本地网络接口的ip地址。

mqttc.connect("iot.eclipse.org")

 

CONNECT_SRV()

connect_srv(domain, keepalive=60, bind_address="")

使用SRVDNS查找连接到代理以获取代理地址

 

reconnect()

使用先前提供的详细信息重新连接到代理

disconnect()

断开连接

 

loop(timeout=1.0, max_packets=1)

定期调用处理网络事件

 This call waits in select() until the network socket is available for reading or writing, if appropriate, then handles the incoming/outgoing data

loop_start()

loop_stop(force=False)

循环开始,循环停止,


 

这些函数实现了网络循环的线程接口


 

mqttc.connect("iot.eclipse.org")

mqttc.loop_start()


 

while True:

    temperature = sensor.blocking_read()

    mqttc.publish("paho/temperature", temperature)

    

PUBLISH()


 

publish(topic, payload=None, qos=0, retain=False)

这将导致消息被发送到代理,随后从代理发送到订阅匹配主题的任何客户端。

topic

发布消息的主题。

 

payload=None

要发送的实际信息。如果没有给予,或设置为无将使用零长度消息。

qos


 

使用的服务质量

retain

保留消息

 

订阅,取消订阅

subscribe(topic, qos=0)

可以订阅一个或者多个主题

subscribe("my/topic", 2)

 

指定订阅主题的字符串和订阅所需的服务质量级别。默认为0。

subscribe(("my/topic", 1))

元组

subscribe([("my/topic", 0), ("another/topic", 2)])


 

允许在单个订阅命令中使用多个主题订阅

 

你可能感兴趣的:(MQTT,MQTT)