import paho.mqtt.client as mqttClient import time from sense_hat import SenseHat ################################################################# def on_connect(client, userdata, flags, rc): if rc == 0: print("Connected to broker") global Connected Connected = True else: print("Connection failed") ################################################################# def on_publish(client,userdata,result): print("data published \n") pass ################################################################ Connected = False broker_address= "localhost" port = 1883 client = mqttClient.Client("Python_publisher") #create new instance client.on_connect= on_connect #attach function to callback client.on_publish = on_publish #attach function to callback client.connect(broker_address, port=port) #connect to broker client.loop_start() #start the loop while Connected != True: #Wait for connection time.sleep(0.1) #------------------------------------------------------------------------- try: while True: sense = SenseHat() press = sense.get_pressure() temp = sense.get_temperature() print("publishing to sense_hat/sensors/pressure") client.publish("sense_hat/sensors/pressure", payload = press) time.sleep(1) #------------------------------------------------------------------------- except KeyboardInterrupt: print("exiting") client.disconnect() client.loop_stop()