def mqtt_subscribe()

in TSA-demo/TSA_rekognition/iot_sub_reko.py [0:0]


def mqtt_subscribe():
    received_count = 0
    received_all_event = threading.Event()



    # Callback when the subscribed topic receives a message
    def on_message_received(topic, payload, dup, qos, retain, **kwargs):
        print("Received message from topic '{}': {}".format(topic, payload))
        global received_count
        received_count = 0
        received_count += 1
        if received_count == 0:
            received_all_event.set()
        global aa
        try:
            print("message: ",json.loads(payload.decode("utf-8"))["lex-request"])
            mess = json.loads(payload.decode("utf-8"))["lex-request"]
            if (mess == "reboot"):
                print("Message detected: " + str(mess))
                os.system('sudo reboot')
        except Exception as e:
            print(e)
        try:
            print("edge: ",json.loads(payload.decode("utf-8"))["lex-recognition-edge"])
            trigg = json.loads(payload.decode("utf-8"))["lex-recognition-edge"]
            if (trigg == "yes"):
                #photo = photo_capture()
                photo='/Users/kedouard/Documents/SA/Labs/TSA bot/TSABot_dev_team_oct12/TSA-demo/TSA_rekognition/samples_img/waterbottle.jpeg'
                print("start image reco")
                label_count=detect_labels_local_file(photo)
                print("Labels detected: " + str(label_count))
                print("end image reco")
                

                #label_count=detect_labels_local_file(photo)
                #logging.info("label count: ", label_count)
                #print("Labels detected: " + str(label_count))
                #li = [mess.get('Name') for mess in label_count]
                #print(li)
                #messages = json.dumps({"message" : li, "lex-recognition-edge": "no"})
                #print('messages: ', messages)
                #pub = mqtt_connection.publish(topic='lcd-message', payload=messages, qos=mqtt.QoS.AT_LEAST_ONCE)
                #print("pub: ", pub)
        except Exception as e:
            print('error at edge reco level: ',e)

    # Subscribe
    print("Subscribing to topic '{}'...".format(os.getenv('TOPIC')))
    subscribe_future, packet_id = mqtt_connection.subscribe(
        topic='lcd-message',
        qos=mqtt.QoS.AT_LEAST_ONCE,
        callback=on_message_received)

    subscribe_result = subscribe_future.result()
    print("Subscribed with {}".format(str(subscribe_result['qos'])))

    #return "top"

    #received_all_event.wait()
    print("{} message(s) received.".format(received_count))