mqtt
— mqtt连接模块¶
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于 TCP/IP 协议上,由 IBM 在1999年发布。MQTT 最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT 是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT 协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
Paho MQTT 是 Eclipse 实现的基于 MQTT 协议的客户端,本软件包是在 Eclipse paho-mqtt 源码包的基础上设计的一套 MQTT 客户端程序。
该组件支持以下功能:
MQTT Connect
MQTT Subscribe
MQTT Publish
可连接阿里云物联网平台
使用示例¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | # *_* coding: utf-8 *_*
import mqtt
# 初始化mqtt client
client = mqtt.client("haas")
# 定义subcribe的回调函数
def on_subcribe(topic,payload):
print("on_subcribe: topic is:" + topic)
print("on_subcribe: payload is:" + payload)
client.on_subcribe(on_subcribe)
# 设置用户名和密码
# client.username_pw_set()
# 建立mqtt连接
client.connect("100.81.153.167",1883,60)
# 订阅服务
client.subscribe("test/other/aiot",1)
# 发布服务
#client.publish("test/haas100/aiot","haas100 publish",1)
# 循环获取消息
while True:
client.loop(1000)
client.disconnect()
|
-
class
mqtt.
Client
[源代码]¶ Bases:
object
初始化client类,获取mqtt client实例
- 参数
空 –
- 返回
client对象
-
connect
(host, port, interval)[源代码]¶ MQTT连接请求
- 参数
host(str) – 待连接主机
port(str) – 待连接端口号
interval(int) – 重试周期,单位为毫秒
- 返回
0: 成功,其他: 失败
-
publish
(topic, payload, qos)[源代码]¶ MQTT发布主题
- 参数
topic(str) – MQTT发布的主题
payload(str) – MQTT发布的消息主题
qos(int) – 服务质量
- 返回
0: 成功,其他: 失败