def __init__(self, max_num_players): global _client # initialize our client/player mapping. for i in range(0, max_num_players): _player_list.append(None) self.brokername = read_broker() _client.on_message = on_message _client.will_set("game_state", "exit") try: _client.connect(self.brokername) except: print("Unable to connect to MQTT broker: " + self.brokername) exit(0) _client.loop_start() # don't want this to be "register/#" because then we'd see the registration # responses, and our callback won't handle those. _client.subscribe("register/request") _client.subscribe("register/release") _client.subscribe("shutdown")
from broker import read_broker _shutdown = False def on_message(client, userdata, message): global _shutdown if (message.topic == "ir_cam/shutdown"): print("Shutdown Received") _shutdown = True sensor = IrCam() broker_address = read_broker() client = mqtt.Client("IR_Camera") client.on_message = on_message try: client.connect(broker_address) except: print("Unable to connect to MQTT broker") exit(0) client.loop_start() client.subscribe("ir_cam/shutdown") print("Camera running. Hit ctl-c to exit") while (_shutdown == False): pixels = sensor.get_pixels()