53 lines
1.9 KiB
Python
53 lines
1.9 KiB
Python
import requests
|
|
import time
|
|
|
|
# --- KONFIGURATION ---
|
|
# Die IP deines Roboters
|
|
MISTY_IP = "192.168.68.58"
|
|
# So soll die Datei auf dem Roboter und dem Server heißen
|
|
DATEI_NAME = "praesentation_aufnahme.wav"
|
|
# Dauer der Aufnahme in Sekunden
|
|
AUFNAHME_DAUER = 10
|
|
|
|
def aufnahme_starten():
|
|
# 1. Misty bescheid geben
|
|
print("--- Misty bereitet sich vor ---")
|
|
requests.post(f"http://{MISTY_IP}/api/tts/speak", json={
|
|
"text": "Ich höre dir jetzt für 10 Sekunden zu. Fang an nach dem ich fertig bin mit sprechen.",
|
|
"speechLocale": "de-DE"
|
|
})
|
|
|
|
# Wir warten 4 Sekunden, damit sie sich nicht selbst beim Sprechen aufnimmt
|
|
time.sleep(4)
|
|
|
|
# 2. Aufnahme auf dem Roboter starten
|
|
print(f"--- Schritt 1: Aufnahme läuft für {AUFNAHME_DAUER} Sekunden ---")
|
|
start_url = f"http://{MISTY_IP}/api/audio/record/start"
|
|
requests.post(start_url, json={"FileName": DATEI_NAME})
|
|
|
|
# Das Programm pausiert hier für 10 Sekunden, während du sprichst
|
|
time.sleep(AUFNAHME_DAUER)
|
|
|
|
# 3. Aufnahme stoppen
|
|
print("--- Schritt 2: Aufnahme wird beendet ---")
|
|
stop_url = f"http://{MISTY_IP}/api/audio/record/stop"
|
|
requests.post(stop_url)
|
|
|
|
# 2 Sekunden warten, damit die Datei auf dem Roboter-Speicher fertig geschrieben wird
|
|
time.sleep(2)
|
|
|
|
# 4. Datei vom Roboter auf den Ubuntu-Server kopieren
|
|
print(f"--- Schritt 3: Datei '{DATEI_NAME}' wird heruntergeladen ---")
|
|
download_url = f"http://{MISTY_IP}/api/audio?FileName={DATEI_NAME}"
|
|
r = requests.get(download_url)
|
|
|
|
if r.status_code == 200:
|
|
# Die Daten werden binär in eine lokale Datei geschrieben
|
|
with open(DATEI_NAME, 'wb') as f:
|
|
f.write(r.content)
|
|
print(f"Erfolg! Die Datei liegt jetzt bereit für die Analyse.")
|
|
else:
|
|
print(f"Fehler beim Download: Statuscode {r.status_code}")
|
|
|
|
if __name__ == "__main__":
|
|
aufnahme_starten()
|