53 lines
1.2 KiB
Python
53 lines
1.2 KiB
Python
import paho.mqtt.client as mqtt
|
|
import time
|
|
import ssl
|
|
import umsgpack
|
|
|
|
connected = False
|
|
|
|
def on_connect(client, userdata, flags, rc):
|
|
print("Connected with result code " + str(rc))
|
|
if rc == 0:
|
|
global connected
|
|
connected = True
|
|
|
|
client.subscribe('hello/test', qos=1)
|
|
|
|
def on_message(client, userdata, message):
|
|
p = str(message.payload)
|
|
p = message.payload.decode('utf-8', errors="strict")
|
|
print("Received message '" + p + "' on topic '"
|
|
+ message.topic + "' with QoS " + str(message.qos))
|
|
|
|
def on_disconnect(client, userdata, rc):
|
|
if rc != 0:
|
|
print("Unexpected disconnection.")
|
|
|
|
mqttc = mqtt.Client()
|
|
|
|
# mqttc.tls_set_context(context = ssl.create_default_context())
|
|
|
|
mqttc.on_connect = on_connect
|
|
mqttc.on_disconnect = on_disconnect
|
|
mqttc.on_message = on_message
|
|
|
|
mqttc.connect('172.16.13.128', 1883, 60)
|
|
|
|
mqttc.loop_start()
|
|
|
|
pub = input("Enter something to publish: ")
|
|
|
|
while pub != 'q':
|
|
if(connected):
|
|
|
|
mqttc.publish('hello/test', pub)
|
|
pub = input("Enter something to publish: ")
|
|
print('Message is: ' + pub)
|
|
else:
|
|
pub = input('Would you like to reconnect? ')
|
|
if pub == 'y':
|
|
mqttc.reconnect()
|
|
time.sleep(2)
|
|
|
|
mqttc.loop_stop()
|
|
mqttc.disconnect() |