NEWS
[gelöst] Lautsprecher für Melodien/MP3/Sprachausgabe?
-
@bertderkleine
So, ich kann Erfolg vermelden. Ein ESP8266 mit Tasmota-Sensors Firmware plus dem DFPlayer Mini und einem kleinen Lautsprecher tut es.Ich kann beliebige MP3-Files in der Lautstärke meiner Wahl abspielen.
Hiermit https://ttsmp3.com/ kann man sich auch beliebige Sprachausgaben vorfabrizieren, sogar modular, wie "Jetzt rechts abbiegen!"Zutaten:
- ESP8266, ca. 3,50 EUR
- DFPlayer Mini, ca. 3 EUR
- Lautsprecher 10cm, ca. 3 EUR oder was kleineres bis auf 1 cm runter.
- Mikro-USB Netzteil, ca. 5 EUR; die meisten dürfte alte Restbestände nutzen können, da hier 1A völlig ausreicht.
- MikroSDKarte bis max. 32GB, < 3 EUR; auch hier vermutlich für die meisten eine Resteverwertung. Man braucht ja kaum 1GB.
- 5 weiblich/weiblich + 2x männlich/weiblich Steckbrückenkabel (Centartikel)
Die zwei männlich/weiblich Steckbrückenkabel muss man an den Lautsprecher löten.
Verdrahtung ist hier erklärt und hier stehen die Befehle an den Player z.B. via Web Requests.
Flexible akustische Signalisierung finde ich jedenfalls ein grosses Plus.
-
@bertderkleine Klingt ja interessant - man kann mit dem DFPlayer aber nur MP3 Dateien abspielen, als DA-Wandler nicht zu gebrauchen?
Der Trick mit dem Zusammenbasteln von Ansagen "aus dem Baukasten" von Satz-Schnipseln als MP3-Dateien ist aber sicherlich machbar. -
@martinp sagte in [gelöst] Lautsprecher für Melodien/MP3/Sprachausgabe?:
@bertderkleine Klingt ja interessant - man kann mit dem DFPlayer aber nur MP3 Dateien abspielen, als DA-Wandler nicht zu gebrauchen?
Ja, das Ding kann "nur" MP3 abspielen.
Vorgefertige Sachen wie "Wassereinbruch!" oder "Die Sonne scheint!" gehen ja bestens. Und mir zumindest geht es vorrangig um Warnmeldungen, nicht komplexe Sprachausgabe.Aber für den Preis kann ich nicht meckern. Ich bin auch erstaunt, dass es nichtmal einen ESP32 braucht, sondern schon über einen ESP8266 angesteuert werden kann.
Übrigens ist für die Nutzung ein kleiner steinzeitlicher Fallstrick wichtig, der anscheinend viele schon in den Wahnsinn trieb, aber offiziell dokumentiert ist:
Q: What is the naming specification for FileNumber? A: The naming convention is determined by the order in which files are written to the DFPlayer PRO, as shown in the diagram below. The arrow numbers represent the write order.
D.h. das Ansprechen der Dateien geschieht über die Reihenfolge, wie sie auf die Karte geschrieben wurden. Die Dateinamen sind quasi egal.
Eher lästige Effekte, wenn man 20 Dateien auf einmal kopiert. Ok, man könnte natürlich auch nachträglich alles in der Konsole durchprobieren und notieren.Quelle: https://wiki.dfrobot.com/DFPlayer_PRO_SKU_DFR0768#target_6
-
- Lautsprecher 10cm, ca. 3 EUR oder was kleineres bis auf 1 cm runter.
Hast du mal einen Link wo ich sowas bekomme. Google gibt mir sowas günstiges nicht.
-
@shadowhunter23 sagte in [gelöst] Lautsprecher für Melodien/MP3/Sprachausgabe?:
- Lautsprecher 10cm, ca. 3 EUR oder was kleineres bis auf 1 cm runter.
Hast du mal einen Link wo ich sowas bekomme. Google gibt mir sowas günstiges nicht.
Ich habe Links in meinen Post oben reingemacht. Die beiden Lautsprecher oben habe ich beide hier ausprobiert. Selbst das Winzigteil kann man für einfache Dudel-Jingles schon gut nutzen in kleinem Gehäuse.
Der 10cm bringt natürlich unendlich bessern Sound und Lautstärke, aber ist klobig.
Für beides gibts gute Anwendungsfälle, genauso, wie für einen simplen Summer, der nur für Pieps-Alarmierung taugt (keine Tonhöhen, keine Lautstärken regelbar). -
schöner Wohnen mit Tasmota
---------->Tasmotacompiler mit Scripting hinzugefügt:
#define USE_WEBSEND_RESPONSE #define USE_SCRIPT_STATUS #define USE_SCRIPT_FULL_JSON_PARSER #define USE_SCRIPT_JSON_EXPORT #define SUPPORT_MQTT_EVENT #define USE_SCRIPT_WEB_DISPLAY #define USE_SCRIPT_SERIAL #define USE_DISPLAY #define USE_MP3_PLAYER
das Script mit publish nach Mqtt Adapter :
>D Timer=0 dimmer=50 sw1=0 sw2=0 sw3=0 sw4=0 sw5=0 sw6=0 Track=1 SOU=0 Status="Offen" VOL=0 >BS +>subscribe EA, cmnd/MP3_Player/Status +>subscribe EA, cmnd/MP3_Player/Volume +>subscribe EA, cmnd/MP3_Player/Track +>subscribe EA, cmnd/MP3_Player/Equalizer >S ;=>MP3Volume %dimmer% if upd[dimmer]>0 then =>MP3Volume %dimmer% print ---- Dimmer Update %dimmer% ----- endif Timer+=1 ; check if switch changed state if chg[sw1]>0 then Track=Track+1 endif if chg[sw2]>0 then Track=Track-1 endif if chg[sw3]>0 or chg[sw3]<1 then =>MP3Track %Track% Status="Play" endif if chg[sw4]>0 then =>MP3Stop Status="Stop" sw4=0 endif if chg[sw5]>0 then =>MP3Pause Status="Pause" endif if chg[sw6]>0 then SOU=SOU+1 endif if chg[sw6]>0 then =>MP3EQ %SOU% endif if SOU>5 then SOU=0 endif if Timer>10 then +>publish MP3_Player/Status %Status% +>publish MP3_Player/Volume %dimmer% +>publish MP3_Player/Track %Track% +>publish MP3_Player/Equalizer %SOU% Timer=0 endif >W Volume ist{m} %0dimmer% Track ist{m} %0Track% Status ist{m} %Status% EQ ist{m} %0SOU% sl(0 100 dimmer "0" "Volume" "100") bu(sw1 "Track Up" "Track Up") bu(sw2 "Track Down" "Track Down") bu(sw3 "Play" "Play") bu(sw4 "Stop" "Stop") bu(sw5 "Pause" "Pause") bu(sw6 "EQ" "EQ") #
Tasmota Config, Generic 18
nach deaktivierung des Scrptes kann per Request cmd der Player gesteuert werden.
Bsp Track: http://192.168.2.94/cm?cmnd=MP3Track 20 -
@ralla66 sagte in [gelöst] Lautsprecher für Melodien/MP3/Sprachausgabe?:
Tasmotacompiler mit Scripting hinzugefügt:
Ich habe leider keine Idee, was Du hier beschreibst. Kannst Du nochmal sagen, was man wo und wie tun muss?
das Script mit publish nach Mqtt Adapter :
Leider selbiges hier. Wo und wie packt man das Script hin?
nach deaktivierung des Scrptes kann per Request cmd der Player gesteuert werden.
Bsp Track: http://192.168.2.94/cm?cmnd=MP3Track 20Und das verstehe ich auch nicht ganz. Einmal funktioniert dieser Befehl ja von Vorneherein auf dem tasmotizten ESP und dann schreibst Du "nach deaktivierung".
Heisst das, dass man die üblichen Befehle nur zum Laufen bekommt, wenn das von Dir publizierte Script nicht läuft? -
mit dem Tasmocompiler wird eine eigene
.bin zum flashen erstellt. Die Sensor.bin enthält ja kein Scripting.Im Tasmocompiler wird unter Features -> Script statt Rules angewählt.
Unter Custom Parameters werden die #define USE_xxxx eingetragen.In Tasmota wird das Script eingetragen und aktiviert.
Dann kann per IO Request oder per Tasmota WebUi gesteuert werden.
Beides geht auch gleichzeitig.
Wenn per IO gesteuert wird braucht ja das Script nicht laufen, kann deaktiviert werden.
Mqtt ist lediglich eine Statusanzeige wenn aus Tasmota WebUi geschaltet wurde. -
Beispiel mit Blockly,
Track 1 wird abgespielt, nach 10 Sekunden die Volume verringet.
Zu beachten ist hier %20, da ja z.B zwischen Track und 0 ein Leerzeichen mitgesendet
werden muß.Beispiel 2:
Track 2, Volume 60
Beispiel 3:
mehrere Tracks mit Änderung der Volume
-
@ralla66 sagte in [gelöst] Lautsprecher für Melodien/MP3/Sprachausgabe?:
>D Timer=0 dimmer=50 sw1=0
So, jetzt erstmal noch herzlichen Dank für all diese Hilfe. Ich ahbe es jetzt geschafft, auf meinem Windows PC Docker Desktop zu installieren, ein Image vom Tasmocompiler zu ziehen, es zum Laufen zu bringen und mir eine Firmware zu compilieren.
Dann habe ich den Zauber auf den ESP8266 geflasht und Dein Skript hinterlegt.
Und es funzt.
Ich bin begeistert.Für so'n Endanwender wie mich ein Abenteuer.
Morgen setze ich mich mal an das Thema Regeln.
-
Prima wenn es läuft, Top.
Am Anfang immer ein Abenteuer, ohne geht es aber nicht.
Nun brauchste ja im Sensor Projekt keine Rules mehr, hast ja jetzt Scripting.