我尝试在 MQTT Broker(ubuntu 服务器)上执行此代码,
当从发布者获取数据时将发送到 UDP_IP。
我的代码:
import json
import socket
import paho.mqtt.client as mqtt
# MQTT Settings
MQTT_Broker = "192.168.0.106"
MQTT_Topic = "#"
MQTT_Port = 1883
Keep_Alive_Interval = 45
UDP_IP = "192.168.0.108"
UDP_RAW_PORT = 5567
sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
def on_connect(mosq, obj, rc):
mqttc.subscribe(MQTT_Topic, 0)
def on_message(mosq, obj, msg):
gps_handler(msg.topic, msg.payload)
def gps_handler(Topic, jsonData):
jsonData = jsonData[1:-1]
sock.sendto(jsonData, (UDP_IP, UDP_RAW_PORT))
print jsonData
def on_subscribe(mosq, obj, mid, granted_qos):
pass
mqttc = mqtt.Client()
# Assign event callbacks
mqttc.on_message = on_message
mqttc.on_connect = …Run Code Online (Sandbox Code Playgroud)