Neues Feature: Sag' mir deine IP-Adresse!

Da ich hier mehrere ESPuinos habe, stehe ich, trotz Hostnamen, immer mal vor dem Problem, dass ich die aktuell verwendete IP-Adresse nicht kenne (da ich den Hostnamen vergessen habe) und damit nicht ohne Weiteres ins Webinterface komme. Dafür gibt es nun Abhilfe: Man kann Tasten nun die Aktion CMD_TELL_IP_ADDRESS zuweisen.

Was passiert dann?

Die aktuell verwendete IP-Addresse wird an die Methode connecttospeech() von der Audiolib von @Wolle übergeben. Diese sendet sie zu einem Google-Server, wo sie anschließend als Sprachdatei zurückkommt und abgespielt wird.

Was zeigt der Neopixel an?

Er zeigt die gleiche Formation wie im Pause-Modus an, jedoch sind die LEDs gelb. Einen neuen Playmodus habe ich diesem Feature jetzt nicht spendiert. Es ist also quasi Pause-mit-Zusatzfunktion.

Wie lange dauert es, bis die IP-Adresse angesagt wird?

In meinen Tests hat es so vier Sekunden gedauert. Ist halt so, kann man nicht ändern.

Was passiert mit der aktuell aktiven Playlist?

Diese wird pausiert. D.h. läuft ein Hörspiel, dann wird vorher die letzte Position gespeichert.

Was passiert nachdem die IP-Adresse angesagt wurde?

Wenn der ESPuino zuvor im IDLE-Modus war, dann geht er wieder zurück in den IDLE-Modus. War zuvor eine Playlist aktiv, so wird diese wieder gestartet. Im Falle eines Hörspiels wird die alte Position wieder aufgenommen. Das Verhalten ist exakt so, als würde man in dem Moment, wenn der Sprachvorgang beendet wird, die RFID-Karte vom letzten Mal auflegen.

Was passiert, wenn WLAN nicht aktiv ist?

Es kommt eine Fehlermeldung und der Neopixel zeigt kurz einen Fehler an.

Welches Problem wird bleiben?

Dass man sich jetzt noch eine Tastenkombination mehr merken muss :joy:.

2 „Gefällt mir“

Finde ich eine super Idee, aber wenn das Problem ist, dass man den hostnamen vergisst, warum nicht gleich ebendiesen ausgeben? :smiley:

Coole Idee :dark_sunglasses:

Nur aus interesse: Läuft das über Googles Wavenet? Ich mache immer gleich feste IPs und schreibe die mit auf das Gehäuse (Vorausgesetzt es gibt ein Gehäuse :rofl: :man_shrugging:)
Also für IOT Geräte. Ich habe nur einen ESPuino.

Soweit ich weiß läuft das über TTS.
@SZenglein Lokal sind mir IPs lieber :grin:

Ja, das ist das normaöe Google Translate TTS. Ich vermute, im Hintergrund läuft dieselbe Technik, wie bei Wavenet. Man sendet einen Text und erhält einen MP3 Datenstrom zurück. TTS ist gegenüber Wavenet in der Textlänge begrenzt, aber dafür kostenfrei.
Ich habe in connecttospeech() SSL entfernt um die Geschwindigkeit beim Verbindungsaufbau zu verbessern.

Das macht tatsächlich richtig viel aus. Glaube das ist jetzt nicht mal eine Sekunde latenz.
Coole Sache! :+1:

Habe das Pinning auf deine Lib jetzt mal entfernt. Da kommen ja doch ständig Änderungen, die total Sinn machen :smiley:.

@Wolle Eine Frage noch: Kann man da eigentlich was machen, dass das lauter ist? Weil das ist immer erheblich leiser als das, was ich sonst so abspiele. Müsste ich ansonsten vielleicht drüber nachdenken, ob ich für die Zeit des Speech die Lautstärke automatisch so um etwa vier Stufen erhöhe.

Der Signalweg bei TTS ist derselbe wie bei den üblichen MP3 Streams von Radiostationen. Um einen angemessenen Ausgangspegel zu erhalten müsste dann von außen nachgesteuert werden.

Ja ok. Dann stelle ich das von außen nach. Ist ja keine große Sache.
Danke für deine Infos und die Umstellung auf unverschlüsselt. Das hat hier doch nen ordentlichen Zeitvorteil gebracht und ich denke auf Verschlüsselung kann man an dieser Stelle gut verzichten (sowas sage ich selten, hehe).

Durch ein Issue in meinem Repo bin ich auf einen Fehler bei der Mono Wiedergabe im mp3 Dekoder gestoßen. Dieser äußert sich z.B. durch ein Knacken bei TTS. Mit dem Oszi habe ich ein Gleichspannungsoffset festgestellt der dort nicht sein sollte. Das ist nun beseitigt, das Knacken ist weg. Ich kann mir vorstellen, dass das nicht jeder DAC gleich gut wegsteckt. Vielleicht hat sich damit das Lautstärkeproblem erledigt.

1 „Gefällt mir“

OK, vielen Dank.
Werde ich mal testen. Hatte in dieser Sache auch noch nix unternommen.

Super Feature! Habe aber leider keinen Knopf dafür frei…

Wie wäre es denn wenn das beim Wechsel der IP-Adresse einmal automatisch kommt?
Beispiel: Ich bringe im AP-Modus erstmalig meinen ESPuino ins WLAN und der sagt mir dann die neue IP-Adresse an?
Bin da jetzt nicht so im Code drin, aber wenn sich die IP-Adresse geändert in writeWifiStatusToNVS das erkennen und die neue IP abspielen? Warscheinlich nur eine Zeile, nur so ein Vorschlag…

Finde ich irgendwie nicht so sinnig. Das kann ja irgendwann kommen und mein Sohnemann erinnert sich ziemlich wenig für eine IP :grin:. Außerdem geht man ja nicht ständig in das Webinterface. Ggf. hat man es dann eh wieder vergessen, wenn man es braucht.

Also ich habe das heute Morgen mal getestet. Kann sein, dass es ein bisschen lauter war. So ganz genau weiß ich es nicht mehr. Aber ich denke grundsätzlich passt das so und ich muss nicht extra was anpassen in Sachen Lautstärke.