Python3 MQTT客户端简单应用

安装mqtt for python库

pip install paho-mqtt

一个简单的示例

import paho.mqtt.client as mqtt
import json

# 连接服务器应答回调
def on_connect(client, userdata, flags, reason_code, properties):
    # 打印连接状态码
    print(f"Connected with result code {reason_code}")
    # 订阅主题 "TEST/#",这里订阅前缀为TEST/的所有主题
    client.subscribe('TEST/#')

# 收到服务器消息回调
def on_message(client, userdata, msg):
    # 打印订阅的主题消息
    print(msg.topic + " " + str(msg.payload))
    # 解析json
    obj = json.loads(msg.payload)
    print(f"parse json:{obj}")
    # 遍历字典(dict)
    for k, v in obj.items():
        print(f"key = {k}, value = {v}")

# 创建MQTT使用V2版本API
mqttc = mqtt.Client(mqtt.CallbackAPIVersion.VERSION2)

# 注册回调
mqttc.on_connect = on_connect
mqttc.on_message = on_message

# 连接服务器,指定服务器地址和端口,这里我们使用公共服务器
mqttc.connect('mqtt.eclipseprojects.io', 1883, 60)
print('mqtt client start loop......')

# 这里是堵塞循环
mqttc.loop_forever()
mqtt client start loop......
Connected with result code Success
TEST/CLIENTS/DATA b'{"adress":"123456","name":"null","type":"LCD_THERMOSTATE","t_01":"0.00","t_02":"0.00","t_03":"0.00","t_04":"0.00","h_01":"0","p_01":"0","co2":"0","ip":"192.168.0.100","mask":"255.255.255.0","mac":"F0-F5-BD-10-29-68","state":"offline"}'
parse json:{'adress': '123456', 'name': 'null', 'type': 'LCD_THERMOSTATE', 't_01': '0.00', 't_02': '0.00', 't_03': '0.00', 't_04': '0.00', 'h_01': '0', 'p_01': '0', 'co2': '0', 'ip': '192.168.0.100', 'mask': '255.255.255.0', 'mac': 'F0-F5-BD-10-29-68', 'state': 'offline'}
key = adress, value = 123456
key = name, value = null
key = type, value = LCD_THERMOSTATE
key = t_01, value = 0.00
key = t_02, value = 0.00
key = t_03, value = 0.00
key = t_04, value = 0.00
key = h_01, value = 0
key = p_01, value = 0
key = co2, value = 0
key = ip, value = 192.168.0.100
key = mask, value = 255.255.255.0
key = mac, value = F0-F5-BD-10-29-68
key = state, value = offline

关注我,了解更多

公众号:搏哥聊技术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

搏哥聊技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值