53 lines
1.4 KiB
Python
53 lines
1.4 KiB
Python
import paho.mqtt.client as mqtt
|
|
import time
|
|
|
|
TOPIC_NAME = 'devices/#'
|
|
LIGHTUP_LED = "devices/red/controls/led"
|
|
color=""
|
|
client = mqtt.Client()
|
|
|
|
def setColor(number):
|
|
color+=number
|
|
|
|
# The callback for when the client receives a CONNACK response from the server.
|
|
def on_connect(client, userdata, flags, 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(TOPIC_NAME)
|
|
|
|
# The callback for when a PUBLISH message is received from the server.
|
|
def on_message(client, userdata, msg):
|
|
topicArray = msg.topic.split("/")
|
|
global color
|
|
if topicArray[3] == "left":
|
|
color+="1"
|
|
|
|
if topicArray[3] == "right":
|
|
color+="0"
|
|
|
|
if topicArray[3] == "wifi":
|
|
print("Wifi strenght is "+str(msg.payload))
|
|
|
|
if len(color) == 3:
|
|
i=3
|
|
while i>0:
|
|
print(i)
|
|
time.sleep(1)
|
|
i-=1
|
|
client.publish(LIGHTUP_LED, color, 0, False)
|
|
print("Message sent \n")
|
|
color=""
|
|
|
|
client.on_connect = on_connect
|
|
client.on_message = on_message
|
|
ip = raw_input("Enter brooker ip address \n")
|
|
client.connect(ip, 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()
|