假定有MQTT Server 再推送資料,可以透過以下python程式碼進行訂閱,取得MQTT Server的推送資訊


首先透過以下指令,安裝MQTT套件包

1
pip install paho-mqtt

 

以下程式碼為MQTT訂閱範例程式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import paho.mqtt.client as mqtt

MQTT_DOMAIN_NAME = '192.168.50.182'
MQTT_PORT = 1883

def on_connect(client, userdata, flags, rc):
    print("Connected with result code "+str(rc))
    client.subscribe("Flow")

def on_message(client, userdata, msg):
	print (str(msg.payload,encoding='utf-8'))


def main():
    client = mqtt.Client()
    client.on_connect = on_connect
    client.on_message = on_message
    client.connect(MQTT_DOMAIN_NAME, MQTT_PORT, 60)
    client.loop_forever()

if __name__ == "__main__":
    main()
    pass

 

MQTT_DOMAIN_NAME 為要訂閱的MQTT Server
MQTT_PORT 為MQTT的Port,一般預設為1883


程式在第16、17行設定Call Back Method(回調函數),當觸發指定事件時,會跳轉到設定之函數內執行。

on_connect 為註冊連線的方法(function/method)
on_message 為當MQTT Server 推送訊息時會執行直方法(function/method)

 

 

 

 
arrow
arrow
    文章標籤
    python
    全站熱搜
    創作者介紹
    創作者 Lung-Yu,Tsai 的頭像
    Lung-Yu,Tsai

    Lung-Yu,Tsai 的部落格

    Lung-Yu,Tsai 發表在 痞客邦 留言(0) 人氣()