spejsiot/master/client.py

34 lines
1.1 KiB
Python

import paho.mqtt.client as mqtt
import time
import random
import sys
# The callback for when the client receives a CONNACK response from the server.
def on_connect(client, userdata, rc):
print("Connected with result code "+str(rc))
# Subscribing in on_connect() means that if we lose the connection and
# reconnect then subscriptions will be renewed.
client.subscribe("#")
client.publish("iot/" + sys.argv[1] + "/" + sys.argv[2], sys.argv[3])
# The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, msg):
print(str(time.time())+" "+msg.topic+" "+str(msg.payload))
if len(sys.argv) < 4:
print('Usage: client.py [DEVICE_ID] [ENDPOINT] [VALUE]');
exit(1)
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("localhost", 1883, 60)
# Blocking call that processes network traffic, dispatches callbacks and
# handles reconnecting.
# Other loop*() functions are available that give a threaded interface and a
# manual interface.
client.loop_forever()