MQTT Subscriber mit Sprachausgabe

Nach den Vorbereitungen für die Sprachausgabe habe ich also erst einmal den MQTT Subscriber mit dem vierzeilen Display herausgekramt und die Prototypen Software umstrukturiert in eine saubere Architektur.

Die Umstrukturierung
Sie geschieht durch eine Aufteilung in einzelne Module für MQTT, für MP3, für LCD, die globalen Variablen mit Gettern und Settern und natürlich die Hauptroutinen setup() und loop(). Die Verbindung zwischen diesen Modulen besteht in den Headerfiles, die die globalen Routinen nach aussen sichtbar machen. Sichtbar wird das in der IDE durch eine Aufteilung in einzelne Dateien.

Die Sprachausgabe
Wird durch eine Kombination einzelner Ausgabedateien, die mittels Software angesteuert werden, erzeugt. Die Aussprache der Zahlenwerte macht hier den größten Teil der Arbeit aus. Die Lücken, die beim Sprechen zu hören sind, lassen sich durch die Länge der Ausgabezeiten in Millisekunden noch etwas verringern.

Die Sourcen als Zip File: MQTT-Subscriber-MP3

Die Hardware
Wie im MQTT Subscriber LCD 4×20, dazu kommt ein Levelshifter, ein Taster und ein DFPlayer mini.
Das MP3 Modul ist komplett an die 3,3 Volt Spannungsversorung angeschlossen. Die Verbindung zum Arduino läuft über einen Levelshifter. Zum Aufrufen der Sprachausgabe hängt ein Taster an einem Port und wird ständig abgefragt. Wird die Taste gedrückt, dann erfolgt die Ausgabe der Messwerte als Sprachausgabe. Ansonsten sind die Werte auch ständig auf dem LCD Display ablesbar, sie werden mit jeder MQTT Sendung aktualisiert.

Arduino mit Ethernet LCD und MP3 Modul:

Links

Vorbereitung: Sprachausgabe mit dem Arduino
[Sprachausgabe mit dem Arduino]

MQTT Subscriber LCD 4×20
[MQTT Subscriber LCD 4×20]

DFPlayer mini Datenblatt

Klicke, um auf spe033.pdf zuzugreifen

Bibliothek für den Arduino
https://www.arduinolibraries.info/libraries/df-player-mini-mp3-by-makuna

Level Shifter
https://en.wikipedia.org/wiki/Level_shifter

Veröffentlicht von

Jürgen

Ich bin Software Ingenieur und habe meine Schwerpunkte in allen Aktivitäten, die zur Software Entwicklung gehören. Am längsten bin ich als Software Entwickler von Embedded Software in C tätig.