WLAN Lautsprecher auf ESP8266 Basis

Begonnen von chunter1, 25 April 2017, 16:06:20

Vorheriges Thema - Nächstes Thema

Otto123

Das derzeitige Problem dabei ist, dass der Modulauthor die Befehlszeile im Modul zusammenbaut und die nicht voll konfigurierbar ist (ist eigentlich auch übertrieben). Er baut aber an einem Konzept die Ausgabe und die Erzeugung zu trennen, so dass TEXT2SPEECH quasi der zentrale TTS Provider im FHEM sein kann.
Es ist derzeit nur die Lage der "exe" konfigurierbar, die Parameter werden dann im Modul dahinter gepackt.
Ich ersetze also nur die "exe" und fange damit den Aufruf ab und nehme die Aufrufparameter. Ich finde die Lösung eigentlich auch übersichtlich. Je nach Parameterumfang ist der Aufruf in der batch einfacher als die Übergabe in FHEM / Perl.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

chunter1

Bitte nicht übersehen, die CPU clock in der Arduino IDE auf 160 MHz statt 80 MHz einzustellen.

chunter1

Version 3 ist jetzt auf github verfügbar.
Läuft jetzt deutlich stabiler.

Feedback & Improvement Vorschläge von ESP8266/Arduino Spezialisten sind herzlich willkommen  :)

Ralf W.

#18
Hallo,

die Einfachheit hat mich beeindruckt. Letzte Tage mal ausprobiert und lief auf Anhieb. Heute in der Kramkiste gesucht. WeMos D1 mini, BC107B, 1K und 1N4007 auf einer Lochrasterplatine aufgebaut. Schaltnetzteil dazu und ab in einen alter PC-Lautsprecher. Und fertig ist meine Zweitklingel und Benachrichtigung für die Garage.

MfG

<EDIT>
Und damit das Logfile nicht zugemüllt wird, das Notify noch etwas verändert:
SE_TTS:lastFilename:.* { system("avconv -i /opt/fhem/$EVTPART1 -f s32be -acodec pcm_u8 -af \"volume=25dB\" -ac 1 -ar 33000 tcp://192.168.1.28:5522 >/dev/null 2>&1&") }
</EDIT>
http://twitter.com/RWausD
Schon gewusst, dass Haarausfall zu einer Glatze führen kann?

FHEM: NUC7PJYH2, Ubuntu Server 22.04.2 LTS, HMCCU - RaspberryMatic, DE ConBee II, diverse Sensoren und Aktoren.

chunter1

#19
Zitat von: Ralf W. am 18 Mai 2017, 20:45:50
Und damit das Logfile nicht zugemüllt wird, das Notify noch etwas verändert:
SE_TTS:lastFilename:.* { system("avconv -i /opt/fhem/$EVTPART1 -f s32be -acodec pcm_u8 -af \"volume=25dB\" -ac 1 -ar 33000 tcp://192.168.1.28:5522 >/dev/null 2>&1&") }

Danke für den Tip und das Feedback!
Schaut gut aus  :)

Noch ein kleiner Tip (weil ich grade drübergestolpert bin)  für alle die in den Text eine sound-Datei einbetten möchten.

Also z.B.:
set myTTS tts :gong.mp3: Es ist 12 Uhr.

Beim TTS_FileTemplateDir Attribut darf nicht der absolute Pfad stehen.
Wenn eure mp3 sounds z.B. im Pfad "/opt/fhem/sounds" liegen, dann einfach in TTS_FileTemplateDir den Pfad "./sounds" eintragen

In der kommenden Version (V4) wird übrigens PWM dithering und ein Status-LED Ausgang integriert sein.

chunter1

#20
Version 4 ist jetzt auf github verfügbar.

Neuerungen:
- pwm dithering added and enabled by default
- status LED on gpio12 added (fast blinking when wifi is disconnected; short flash every 2 seconds when connected to AP; slow blinking during playback)
- fixed crash playing streams shorten than rx-buffer and disconnects during buffering




chunter1

Version 5 ist jetzt auf github verfügbar.

Neuerungen:
- ramp-up and -down transferred to one function
- removed serial interface to avoid side-effects using i2s pwm output and uart-rx on the same pin

chunter1

Version 6 ist jetzt auf github verfügbar.

Neuerungen:
- added OTA update feature
- improved transition between status led blink patterns
- changed blinking pattern during streaming from slow blinking to constant on
- changed blinking pattern on disconnected to blink slower


chunter1

Version 7 ist jetzt auf github verfügbar.

Neuerungen:
- buffer read index corrected (should fix occational distortions when streaming ends)
- added handling of client disconnect and timeout during buffering

Nogga

Ich finde die ganze Idee genial. Ich glaube sogar, dass ich alle Teile zur Hand habe und zumindest kann ich sie auch auf einem Steckbrett (und vielleicht sogar per Lötkolben) zusammenbauen. Aber ich bin leider eine Niete im Schaltplan lesen.

Habt Ihr nicht Lust mit Fritzing das visuell nachzustellen oder einen Wiki-Eintrag zum Nachbauen zu erstellen?

cs-online

Hi chunter1,

ist das richtig, dass der Basis-Widerstand an RX (das ist doch ein Eingang oder ?) dran kommt ?

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

chunter1

#26
Zitat von: cs-online am 01 Juni 2017, 12:30:41
ist das richtig, dass der Basis-Widerstand an RX (das ist doch ein Eingang oder ?) dran kommt ?

Ja, ist korrekt.
Die Beschriftung "RX" ist nur für den Fall zutreffend, wenn der UART mode aktiv ist.
Es wird jedoch der I2S mode genutzt und dann ist der "RX" pin mit dem data-Ausgang der I2S Schnittstelle belegt.

Bitte beachten:
Wenn ein development board mit integriertem UART Treiber verwendet wird (z.B. nodeMCU, Wemos...), dann wird der RX-Pin vom USB<->UART Konverter in der Regel über einen Widerstand relativ niederohmig (z.B. 470 Ohm) auf high-gezogen!
Die saubere Lösung in diesem Fall wäre den Widerstand nach dem Programmieren zu entfernen.
Wenn man das nicht macht, wirds auch funktionieren, allerdings liegt dann vom Reset bis zum Programmstart immer ein high-Pegel an RX an und der Transistor wird in der Zeit voll durchgesteuert!

mumpitzstuff

Kannst du bitte noch mal eine kurze Einkaufsliste zusammen schreiben am besten mit Link für die Bauteile, damit man die als Laie relativ einfach zusammen kaufen kann?

Außerdem noch einige Fragen:

1.) Was ist das für eine kleine Platine an der dein Akku im Youtube Video hängt? Also die zweite Platine neben dem ESP8266?
2.) Auf was sollte man beim verwendeten Lautsprecher achten? Ich werde da vermutlich nicht jeden beliebig großen Lautsprecher dran hängen können?
3.) Was verbraucht denn die Schaltung da im Standby, also wenn das Ding nur auf Input wartet?

Ralf W.

Zitat von: mumpitzstuff am 08 Juni 2017, 16:13:17
3.) Was verbraucht denn die Schaltung da im Standby, also wenn das Ding nur auf Input wartet?

Mein Aufbau (sh. weiter oben) verbraucht im Standby 0,7 W.

MfG
http://twitter.com/RWausD
Schon gewusst, dass Haarausfall zu einer Glatze führen kann?

FHEM: NUC7PJYH2, Ubuntu Server 22.04.2 LTS, HMCCU - RaspberryMatic, DE ConBee II, diverse Sensoren und Aktoren.

mumpitzstuff

#29
Was sind das da alles für Platinen? Ich sehe mind. 2 mit einer Lochrasterplatine dazwischen. Vermutlich werden dort irgendwie die benötigten 3,3V bzw. 5V erzeugt?!? Ich bin Laie und habe noch nie was mit dem ESP82666 gemacht... Kannst du kurz die von dir verwendeten Bauteile zusammen schreiben?