zoukankan      html  css  js  c++  java
  • 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()
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    完整的验证码识别流程基于svm(若是想提升,可优化)
    linux离线搭建Python环境及安装numpy、pandas
    帮助维度理解
    遇到eclipse安装插件一直报错问题(版本问题)
    雷林鹏分享:Java 集合框架
    雷林鹏分享:Java 数据结构
    雷林鹏分享:Java 包(package)
    雷林鹏分享:Java 接口
    雷林鹏分享:Java 封装
    雷林鹏分享:Java 抽象类
  • 原文地址:https://www.cnblogs.com/sea-stream/p/13528676.html
Copyright © 2011-2022 走看看