• python3 mqtt 发布以及订阅


    安装库
    pip3 install paho-mqtt
     
    发布话题
    import paho.mqtt.client as mqtt
    import time
    import sys
     
     
    HOST = "103.77.337.89"
    PORT = 1883
     
     
    def on_connect(client, userdata, flags, rc):
        print("Connected with result code " + str(rc))
    def on_subscribe(client,userdata,mid,granted_qos):
        print("消息发送成功")
     
     
    client = mqtt.Client(protocol=3)
    client.username_pw_set("admin", "password")
    client.on_connect = on_connect
    client.on_subscribe = on_subscribe
    client.connect(host=HOST, port = PORT, keepalive=60)  # 订阅频道
    time.sleep(1)
    i = 0
     
     
    while True:
        try:
            # 发布MQTT信息
            sensor_data = "test" + str(i)
            client.publish(topic="public", payload=sensor_data.encode("utf-8"), qos=0)
            time.sleep(3)
            i += 1
        except KeyboardInterrupt:
            print("EXIT")
            client.disconnect()
            sys.exit(0)
     
     
     
    订阅话题
    import time
    import paho.mqtt.client as mqtt
    # The callback for when the client receives a CONNACK response from the server.
     
     
    HOST = "103.77.337.89"
    PORT = 1883
     
     
    def on_connect(client, userdata, flags, rc):
        if rc == 0:
            print("连接成功")
            print("Connected with result code " + str(rc))
     
     
    def on_message(client, userdata, msg):
        print(msg.topic + " " + str(msg.payload))
    client = mqtt.Client(protocol=3)
    client.username_pw_set("admin", "password")
    client.on_connect = on_connect
    client.on_message = on_message
    client.connect(host=HOST, port = PORT, keepalive=60)  # 订阅频道
    time.sleep(1)
    client.subscribe("public")
    #client.subscribe([("public", 0), ("test", 2)])
    client.loop_forever()
     
     
     
    订阅话题
    import time
    import paho.mqtt.client as mqtt
    # The callback for when the client receives a CONNACK response from the server.
     
     
    HOST = "103.77.337.89"
    PORT = 1883
     
     
    def on_connect(client, userdata, flags, rc):
        if rc == 0:
            print("连接成功")
            print("Connected with result code " + str(rc))
     
     
    def on_message(client, userdata, msg):
        print(msg.topic + " " + str(msg.payload))
    client = mqtt.Client(protocol=3)
    client.username_pw_set("admin", "password")
    client.on_connect = on_connect
    client.on_message = on_message
    client.connect(host=HOST, port = PORT, keepalive=60)  # 订阅频道
    time.sleep(1)
    client.subscribe("SJHTopic2")
    #client.subscribe([("public", 0), ("test", 2)])
    client.loop_forever()
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    使用C#开发ActiveX控件 并制作Cab包
    asp.net后台创建table设置宽度百分比
    Sql按姓名查出某个人的成绩排名
    获得DataGridView多选框值
    解决iframe窗体丢失Session时登录窗口显示在子页面的问题
    xml返回数组数据
    安卓界面组件文本框
    安卓的UI界面开发(初学者推荐)
    安卓布局
    安卓界面组件按钮
  • 原文地址:https://www.cnblogs.com/sea-stream/p/13528676.html
Copyright © 2020-2023  润新知