Exemplo n.º 1
0
def play_sound(site_id, file, play_id=None):
    if play_id is None:
        play_id = site_id + "-" + str(uuid.uuid1())
    auth = {
        'username': mqtt_client.get_user(),
        'password': mqtt_client.get_pass()
    }
    binaryFile = open(file, 'rb')
    wav = bytearray(binaryFile.read())
    paho_publisher.single("hermes/audioServer/{}/playBytes/{}".format(
        site_id, play_id),
                          wav,
                          hostname=mqtt_client.get_addr(),
                          port=mqtt_client.get_port(),
                          auth=auth)
    global _multiDetectionsHolder
    #   pprint(_multiDetectionsHolder)
    payload = json.loads(str(msg.payload.decode("utf-8", "ignore")))

    if len(_multiDetectionsHolder) == 0:
        threading.Timer(interval=0.3, function=handleMultiDetection).start()

    _multiDetectionsHolder.append(payload['siteId'])


def onSessionStarted(self, data, msg):
    #   print('onSessionStarted')
    global _multiDetectionsHolder
    global _sessions
    #   pprint(_multiDetectionsHolder)
    sessionId = json.loads(str(msg.payload.decode("utf-8",
                                                  "ignore")))['sessionId']
    _sessions[sessionId] = msg


client = paho.Client("multi")
client.username_pw_set(mqtt_client.get_user(), mqtt_client.get_pass())
client.connect(mqtt_client.get_addr(), mqtt_client.get_port(), 60)
client.subscribe([("hermes/hotword/default/detected", 0),
                  ("hermes/dialogueManager/sessionStarted", 0)])
client.message_callback_add('hermes/hotword/default/detected',
                            onHotwordDetected)
client.message_callback_add('hermes/dialogueManager/sessionStarted',
                            onSessionStarted)
client.loop_forever()
Exemplo n.º 3
0
def get_hermes_mqtt_options():
    return MqttOptions(username=mqtt_client.get_user(),
                       password=mqtt_client.get_pass(),
                       broker_address=mqtt_client.get_addr_port())