WLAN Lautsprecher auf ESP8266 Basis

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

Vorheriges Thema - Nächstes Thema

Mave

Ich weiß nicht, wie es Anderen ergeht. Aber mich habt Ihr mit Eurem Techtalk abgehängt.... :o

Bitte gebt mir Bescheid, wenn Ihr Euch auf eine Schaltung geeinigt habt, die auch ein Laie nachbauen kann....  ;D

HCS

Zitat von: Mave am 24 November 2017, 16:01:07
Bitte gebt mir Bescheid, wenn Ihr Euch auf eine Schaltung geeinigt habt, die auch ein Laie nachbauen kann....  ;D
Bescheid

Ob es ein Laie nachbauen kann vermag ich nicht sicher zu sagen, aber das hier funktioniert und besteht aus drei "nicht SMD" Bauteilen und einem Lautsprecher:
https://forum.fhem.de/index.php/topic,71087.msg671167.html#msg671167

Frank_Huber

Zitat von: HCS am 24 November 2017, 16:12:39
Bescheid

Ob es ein Laie nachbauen kann vermag ich nicht sicher zu sagen, aber das hier funktioniert und besteht aus drei "nicht SMD" Bauteilen und einem Lautsprecher:
https://forum.fhem.de/index.php/topic,71087.msg671167.html#msg671167

Die Bauteile warten bei mir zuhause schonlange auf den Zusammenbau. :-)
Dein verlinkter Post sagt alles, bis auf die Firmware.
Hast da evtl auch nen Link oder kannst sie im Post anhängen?

Nogga

Ich bin ebenfalls Laie und habe auch viele der geforderten Bauteile zu Hause.
Kann jemand vielleicht so ein hübsches Fritzing-Bild über die Schaltung zeichnen?
Und dann ggf. wie man die Firmware einspielt - das wäre sensationell!

HCS

Zitat von: Frank_Huber am 24 November 2017, 16:25:49
Hast da evtl auch nen Link oder kannst sie im Post anhängen?
https://github.com/chunter1/ESP8266_WLAN_speaker

Zitat von: Nogga am 24 November 2017, 16:39:06
Kann jemand vielleicht so ein hübsches Fritzing-Bild über die Schaltung zeichnen?
Was soll da anderes drauf sein als auf dem Schaltplan von meinem Link?

Frank_Huber



Zitat von: HCS am 24 November 2017, 17:13:53
https://github.com/chunter1/ESP8266_WLAN_speaker

Danke!
War nicht sicher  ob da deine gpio Änderung mit drin ist.

Mit dem Handy online, daher kurz gefasst...



Mave

Okay, nehmen wir an, einem Laien gelingt es jetzt, so ein Teil zusammen zu bauen und zu flashen. Wie steuert er es dann aus FHEM heraus an? Kann er damit dann ein MP3 File mit z.B. "Achtung, im Garten wurde eine Bewegung erkannt" abspielen lassen?

Ich weiß, es klingt für Spezialisten immer so, als wenn die Frager zu faul wären, um sich selbst Gedanken zu machen. Aber aus Sicht eines Laien, sind da sehr viele "böhmische Dörfer", wenn sich Spezialisten über "Lapalien" unterhalten.

Vielen Dank nochmal.

Frank_Huber


Frank_Huber

Zitat von: Mave am 24 November 2017, 17:23:27
Okay, nehmen wir an, einem Laien gelingt es jetzt, so ein Teil zusammen zu bauen und zu flashen. Wie steuert er es dann aus FHEM heraus an? Kann er damit dann ein MP3 File mit z.B. "Achtung, im Garten wurde eine Bewegung erkannt" abspielen lassen?

Ich weiß, es klingt für Spezialisten immer so, als wenn die Frager zu faul wären, um sich selbst Gedanken zu machen. Aber aus Sicht eines Laien, sind da sehr viele "böhmische Dörfer", wenn sich Spezialisten über "Lapalien" unterhalten.

Vielen Dank nochmal.
Bißchen Linux Kenntnisse vorausgesetzt solltest du es schaffen.
Hier ein Stück aus dem letzten Link von HCS:


Zitat+To playback a mp3 file, simply call e.g.:++avconv -i gong.mp3 -f s32be -acodec pcm_u8 -ac 1 -ar 33000 tcp://192.168.1.100:5522

Mit dem Handy online, daher kurz gefasst...


HCS

In /opt/fhem ein Verzeichnis TTS und ein Verzeichnis cache anlegen
Darin die Datei mplayer.sh (Inhalt siehe unten) anlegen
In dieser die IP-Adresse am unteren Ende auf die vom Lautsprecher anpassen

avconv installieren:
apt-get install -y libav-tools

In FHEM ein Text2Speech device anlegen
define myTTS Text2Speech hw=0.0
attr myTTS TTS_CacheFileDir /opt/fhem/TTS/cache
attr myTTS TTS_Language Deutsch
attr myTTS TTS_MplayerCall /opt/fhem/TTS/mplayer.sh


Text sprechen lassen:
set myTTS tts Achtung, im Garten wurde eine Bewegung erkannt
set myTTS tts Na also, geht doch
set myTTS tts Wenn ich das nicht hinbekomme kaufe ich mir ein Sonos




mplayer.sh in /opt/fhem/TTS:
#!/bin/bash

logFile="/opt/fhem/TTS/TTS.log"

# zum Test ausgeben
echo Parameteranzahl $# > $logFile

# falls volume nicht vorhanden = 1
volume=1
# Alsa Device, Volume und Dateinamen ermitteln
while [ $# -gt 0 ]
do
  echo $1 >> $logFile
if [ $1 = -ao ]
then
shift
# echo $1 >> $logFile
device=$(echo $1|cut -d= -f2)
# echo $device >> $logFile
elif [ $1 = -volume ]
then
shift
# echo $1 >> $logFile
if [ $1 -lt 100 ]
then
volume=0.$(($1))
fi   
elif [ -e $1 ]
then
file=$1
fi
shift
done
# zum Test ausgeben
###echo $volume $file >> $logFile
#play -q -v $volume $file
echo "" >> $logFile
echo "" >> $logFile
avconv -i $file -f s32be -acodec pcm_u8 -ac 1 -ar 33000 tcp://192.168.31.220:5522 2>> $logFile

Mave

 ;D ;D ;D

Sonos habe ich, ist mir aber zu schade, um in den Garten zu hängen.  :D

Super, vielen Dank für die verständliche Anleitung.  :)

Frank_Huber

Zitat von: HCS am 25 November 2017, 10:47:18
In /opt/fhem ein Verzeichnis TTS und ein Verzeichnis cache anlegen
......
sehr gute Anleitung! Danke!

Eine Zusatzfrage sei noch erlaubt: Wie würde ich aus FHEM heraus ein MP3 abspielen?
Ist das über das Modul abgedeckt oder geht das dann über die Shell wie auf github beschrieben?

Otto123

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

tiwo85

#119
Moin,

ich benötige Eure Hilfe. Ich kriege es aufs Biegen und Brechen nicht hin.

Die Definition in FHEM scheint richtig zu sein, denn in /opt/fhem/TTS/cache werden die mp3 dateien angelegt. Wenn ich diese runterlade ist dort auch was zu hören.

Wenn ich den Befehl avconv -i hallo.mp3 -f s32be -acodec pcm_u8 -ac 1 -ar 33000 tcp://192.168.2.10:5522 in Putty eingebe kommt nichts raus. absolut gar nichts. Die Ausgabe sieht so aus:
root@raspberrypi:/opt/fhem/TTS/cache# avconv -i hallo.mp3 -f s32be -acodec pcm_u8 -ac 1 -ar 33000 tcp://192.168.2.10:5522
avconv version 9.14-6:9.14-1rpi1rpi1, Copyright (c) 2000-2014 the Libav developers
  built on Jul 22 2014 15:08:12 with gcc 4.6 (Debian 4.6.3-14+rpi1)
[mp3 @ 0x18d75a0] Estimating duration from bitrate, this may be inaccurate
Guessed Channel Layout for  Input Stream #0.0 : mono
Input #0, mp3, from 'hallo.mp3':
  Duration: 00:00:00.74, start: 0.000000, bitrate: 32 kb/s
    Stream #0.0: Audio: mp3, 24000 Hz, mono, s16p, 32 kb/s
Output #0, s32be, to 'tcp://192.168.2.10:5522':
  Metadata:
    encoder         : Lavf54.20.4
    Stream #0.0: Audio: pcm_u8, 33000 Hz, mono, u8, 264 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mp3 -> pcm_u8)
Press ctrl-c to stop encoding
Input stream #0:0 frame changed from rate:24000 fmt:s16p ch:1 chl:mono to rate:24000 fmt:s16 ch:1 chl:mono
root@raspberrypi:/opt/fhem/TTS/cache# .0kbits/s


Im Sketch habe ich STATUS_LED auf Pin 2 gelegt. Er verbindet sich auch offenbar mit dem WLAN. die LED blitzt dann ca 1 mal in der Sekunde. Der WEMOS empfängt auch was, gibt aber nichts aus. Drauf ist die v0.8 und kompiliert einmal mit Arduino 1.6.12 und 1.8.0

Ich habe die Schaltung ähnlich den Schaltplänen aufgebaut. Nur ohne Kondensator und ohne den Ausgang an GPIO 15. Benötige ich zwingend den Kondensator?

PS: Als LS habe ich eine Teufel aktivbox an RX + GND angeschlossen.