def mqtt_on_disconnect(client, userdata, rc): client.loop_stop() if rc != 0: print("Unexpected disconnection.") if DEBUG: print("[DEBUG] mqtt rc: {}, userdata: {}, client: {}".format( rc, userdata, client))
raspi_mqtt_broker_ip = sys.argv[1] if len(sys.argv) > 2: raspi_mqtt_broker_port = int(sys.argv[2]) else: sys.exit('Usage: python <program_name>.py [Required: mqtt_broker_ip] [Optional: mqtt_broker_port (Default = 1883)]') client = mqtt.Client('Frameplus Client') client.on_message = on_message_received client.connect(raspi_mqtt_broker_ip, port=raspi_mqtt_broker_port) print('Subscribing to %s:%i on topics: ' % (raspi_mqtt_broker_ip, raspi_mqtt_broker_port)) print(*topics, sep=', ') client.subscribe([(topics[0], 0), (topics[1], 0), (topics[2], 0)]) # Execution starts here try: client.loop_start() # Create a web server and define the handler to manage the # incoming request server = HTTPServer(('', PORT_NUMBER), Http_App_Server) print('Started httpserver on port ' + str(PORT_NUMBER)) # Wait forever for incoming http requests server.serve_forever() except KeyboardInterrupt: print('^C received, shutting down the web server') server.socket.close() client.loop_stop()
def shutdown(): client.loop_stop()
def on_publish(client, userdata, mid): client.disconnect() client.loop_stop()
def on_disconnect(client, userdata, rc): if rc != 0: print("Unexpected disconnection.") client.loop_stop()