Files
picar/Messaging/clientEx copy.py
2019-01-15 09:39:46 +10:30

54 lines
1.3 KiB
Python

import umsgpack
import paho.mqtt.client as mqtt
import time
import ssl
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 = umsgpack.unpackb(message.payload)
print("Received message '" + p["message"] + "' 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()
mqttc.will_set("hello/test", "Disconnected", )
pub = input("Enter something to publish: ")
while pub != 'q':
if(connected):
pub = umsgpack.packb({"message":pub})
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()