DoorPi (VoIP Wechselsprechanlage / Türsprechanlage mit Video-Support)
-
motom001 -
1. November 2014 um 16:45 -
Erledigt
Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
-
-
DoorPi (VoIP Wechselsprechanlage / Türsprechanlage mit Video-Support)? Schau mal ob du hier fündig wirst!
-
Da ich hier keinerlei Einträge in der .ini stehen habe weiß ich nicht wie es definiert wird in der Ini.
Zitat[keyboards]
prodsystem = piface
pull_up_down = PUD_UP
Ist das so richtig? -
Beim piface gibt es kein pull_up_down...
Kannste also weglassen... -
Sagt mal wie ist denn das wenn man einPiface benutzt, sollten hier auch die Pull up Widerstände an den Eingängen aktiviert werden? Oder ist dies nicht nötig?Ein typischer Klingeltaster ist im Normalzustand offen, d.h. der Input-Pin hängt quasi in der Luft und kann sich alle möglichen Signale aus der selben einfangen. In so einer Situation ist ein Pull-Up (wird meist bevorzugt) oder Pull-Down zwingend nötig. Die meisten Mikrocontroller und ähnliches haben das bereits eingebaut, muss aber normalerweise aktiviert werden.
Das scheint auch beim PiFace so zu sein: Siehe z.B. letzte Seite hier: http://www.farnell.com/datasheets/1684425.pdf
oder auch hier: http://www.piface.org.uk/guides/Install…Digital_Python/ -
Hier die beispielhafte Beschaltung für den Eingang 1 (Taste S1 piface 2).
Aber Bitte Vorsicht.
Der unten zu sehende, rot umrandete Punkt führt 3,3 Volt (Board Betriebsspannung). Direkt darunter befindet ein Punkt mit 5V, 0V und noch weitere Punkte mit direkten Eingängen von IC's. Ein Bearbeiten dieser Punkte im Betriebszustand kann, z.B. durch Abrutschen einer Lötspitze, oder von Messwerkzeugen zur sofortigen Zerstörung der Platine oder sogar des Raspi führen. Also in jedem Fall vor den Arbeiten den Raspi runterfahren und das Steckernetzteil ziehen. Vor dem erneuten Einschalten auf eventuelle Kurzschlüsse kontrollieren.Ich selbst habe den Kondensator an dem 5V Punkt der Klemmleiste angeschlossen. Soll man aber nicht machen. Die Bausteine des piface 2 arbeiten mit 3,3V. Ein zu hohe Spannung auf den Eingängen, die könnte bei der spannungsmäßigen Inbetriebnahme des Raspi zustande kommen, kann diese zerstören. Bisher ist alles gutgegangen.
MfG
Ewald
-
kurz warten
Ich weiß - am Besten wollt Ihr immer alle weiterbauen, aber ich arbeite gerade die Vorschläge wegen dem Phantomklingeln in DoorPi ein.
Du kannst dann, wenn ich fertig bin, DoorPi aktuallisierenAber dazu muss ich das erst einmal fertig bekommen und veröffentlichen...
Oder Du bist Beta-Tester für die neue Version - dann wäre es möglich eher zu bekommen
Hallo Thomas,
habe die aktuelle Version ohne Probleme installieren können und hatte bis jetzt noch kein Phantomklingeln. Wäre schön, wenn das so bleibt. Hast du irgendwas geändert?
Kurz noch eine zweite Frage. Wie kann ich die Relais am PiFace schalten, z.B. wenn der Klingeltaster gedrückt wurde?Danke für die Hilfe!
Dan
-
Wiedergabe einer .wav Datei anstelle des Ruftones während der Rufphase
Ich hoffe, daß mein Frage an der richtigen Stelle ist, ansonsten bitte ich um einen Hinweis, wo ich die Anfrage unterbringen kann.
DoorPi habe ich im Juli diesen Jahres entdeckt und in der Version 2.3, mit den von mir gewünschten Features, bis auf die beiden unten beschriebenen Probleme, ans laufen gebracht. Der SIP Client ist von linphone. Mit pjsua habe ich nie gearbeitet.
Zurzeit teste ich mit der aktuellen Version 2.4.1.6. Video Snapshot soll dazu und die unten beschriebenen Probleme, so meine Hoffnung, treten jetzt nicht mehr auf.
Dem ist leider nicht so.
1. Problem
Was ich nicht schaffe, weder in der V2.3 noch in der V2.4.1.6, ist das Einspielen einer .wav Datei im Rufzustand. Hierfür ist die Datei im doorpi/media Verzeichniss "ShortDialTone.wav" vorgesehen. Mit dem Parameter "dialtone_volume" soll die Lautstärke bestimmt werden.
In den Foren gibt es hierzu leider kaum Hinweise.
Wahrscheinlich habe ich alleine das Problem.
Vielleicht fehlt mir aber auch der finale Hinweis, was gemacht werden muss, um das Feature nutzen zu können.
Zur "ShortDialTone.wav"
Die Datei wird, falls nicht vorhanden, wie vorgesehen automatisch erzeugt. Diese Datei habe ich ersetzt mit einer .wav aus dem linphone sound Verzeichnis "bigben.wav". Das Format sollte, da ja aus dem linphone Bereich stammend, in Ordnung sein. Diese habe ich umbenannt in "ShortDialTone.wav. Die Datei wird jedoch im Rufzustand nicht abgespielt. Es ist weiterhin der normale Rufton zu hören. Im Tracefile ist hierzu kein Fehler zu erkennen.
Ebenso wird das Lautstärkeparameter nicht berücksichtigt.Meine Vermutung: Es wird grundsätzlich der Rufton des SIP Servers, in meinem Fall eine Fritzbox, eingespielt. Die im media Verzeichnis des DoorPi befindliche .wav wird nicht verwendet.
2. Problem
Aufzeichnen der Kommunikation, sobald der Klingeltaster betätigt wird.
Das Aufzeichnen der Kommunikation funktioniert grundsätzlich. Sobald SIP seitig ein Connect stattfindet und somit ein Telefon mit der Türstation verbunden ist, wird das Gespräch aufgezeichnet und im doorpi Verzeichnis records abgelegt.
Zur Aufzeichnung während der Rufphase muss das Parameter "record_while_dialing" auf "True" gesetzt werden. Das funktioniert für mich weder in der V2.3, noch in der V2.4.6.1. Auch hier finde ich keine Hinweise im Tracefile.Für Tips und Hinweise zum Problem wäre ich sehr dankbar.
MfG
Ewald
-
Hier die beispielhafte Beschaltung für den Eingang 1 (Taste S1 piface 2).
Aber Bitte Vorsicht.
Der unten zu sehende, rot umrandete Punkt führt 3,3 Volt (Board Betriebsspannung). Direkt darunter befindet ein Punkt mit 5V, 0V und noch weitere Punkte mit direkten Eingängen von IC's. Ein Bearbeiten dieser Punkte im Betriebszustand kann, z.B. durch Abrutschen einer Lötspitze, oder von Messwerkzeugen zur sofortigen Zerstörung der Platine oder sogar des Raspi führen. Also in jedem Fall vor den Arbeiten den Raspi runterfahren und das Steckernetzteil ziehen. Vor dem erneuten Einschalten auf eventuelle Kurzschlüsse kontrollieren.Ich selbst habe den Kondensator an dem 5V Punkt der Klemmleiste angeschlossen. Soll man aber nicht machen. Die Bausteine des piface 2 arbeiten mit 3,3V. Ein zu hohe Spannung auf den Eingängen, die könnte bei der spannungsmäßigen Inbetriebnahme des Raspi zustande kommen, kann diese zerstören. Bisher ist alles gutgegangen.
MfG
Ewald
Hallo Ewald, danke für Deine Zeichnung.
Bei den anderen Eingängen verfahre ich dann analog wie Eingang 1, kann ich hier den gleichen 3,3V Pin anfahren oder muss ich an einen anderen Pin?
Bei den Kondensatoren ist das nur ein Richtwert? Habe leider nur 10 und 20 pF, 10nF, 10 uF - sehr viele = sind aber elkos. 100er nF sind mir gerade aus gegangen.Danke
-
Hallo Ewald, danke für Deine Zeichnung.
Bei den anderen Eingängen verfahre ich dann analog wie Eingang 1, kann ich hier den gleichen 3,3V Pin anfahren oder muss ich an einen anderen Pin?
Bei den Kondensatoren ist das nur ein Richtwert? Habe leider nur 10 und 20 pF, 10nF, 10 uF - sehr viele = sind aber elkos. 100er nF sind mir gerade aus gegangen.Danke
Hallo Andreas,
Du kannst den gleichen Pin verwenden. Letztendlich erfolgt keine Belastung der Boardspannung. Die Kondensatoren dienen lediglich zur Ableitung von Störspritzern auf den Eingängen.
Was den Kondensatorwert angeht, muß ich leider gestehen, daß ich auch nicht der wirkliche Hardwarekenner bin. Die 100nF Kondensatoren hatte ich ganz einfach noch. In den uF Bereich darfst Du jedoch nicht gehen. Geh nicht über den nF Bereich. Die 10nF erfüllen hier vielleicht schon ihren Zweck. Einfach mal versuchen.MfG
Ewald
-
Danke, dachte ich mir auch nachdem ich es versendet hatte elkos sind ja auch nicht wirklich zum entstören gedacht. Werde mal die 10 nF versuchen, wird wahrscheinlich besser sein als keiner.
Habe das hier in einem anderem Forum gefunden, betrifft die Pull-Ups des Piface: ist das nun sinnvoll oder nicht? was soll ich in die doorpi.ini schreiben?
ZitatLooking at your photo I make the following ASSUMPTIONS
- You have wired the relay contacts to Piface inputs and these pins are the relay contact pins not coil pins
- One side of the relay contact is via a resitor to GND of Pi-face
- The other side is to input 0 of Piface
- You have used a line of code to enable pull up resistor to input 0
Line of code in Python to enable pullup beingCode: Select all
digital_write_pullup( 0, 1 )
The resistor from one side of relay contacts to GND, is not what is meant by a pull down resistor, that would be 10k or larger resistor from across the relay contacts from Piface input 0 to Piface input GND terminal. What you have in picture ensures the input NEVER reaches GND of Piface so never read as 0.Can you supply a manufacturer name and part number or link to dtatsheet for the relay you have attached to the input.
Relay CONTACTS not coil should be connected to Piface INPUT terminals as follows
- Common Pin (marked C usually) to Pi face GND
- Normally Open Contact (marked NO usually) to Piface digital input 0
- Pull down resistor is best not used but software controlled pullup resistor is needed see abov
Danke für Deine Hilfe, du hast mich echt weitergebracht.
-
Zur "ShortDialTone.wav"Das funktioniert bei mir, wobei ich allerdings einen anderen Dateinamen verwendet habe und den entsprechend in der .ini-Datei eingetragen
Code[SIP-Phone] firewallpolicy = PolicyNoFirewall audio_codecs = PCMA,PCMU call_timeout = 15 capture_device = ALSA: USB Audio Device #dialtone = !BASEPATH!/media/ShortDialTone.wav dialtone = /home/pi/bigbenstrikes.wav dialtone_renew_every_start = False dialtone_volume = 2
Die Lautsärkeeinstellung scheint bei mir aber auch nichts zu bewirken. -
Das funktioniert bei mir, wobei ich allerdings einen anderen Dateinamen verwendet habe und den entsprechend in der .ini-Datei eingetragen
Code[SIP-Phone] firewallpolicy = PolicyNoFirewall audio_codecs = PCMA,PCMU call_timeout = 15 capture_device = ALSA: USB Audio Device #dialtone = !BASEPATH!/media/ShortDialTone.wav dialtone = /home/pi/bigbenstrikes.wav dialtone_renew_every_start = False dialtone_volume = 2
Die Lautsärkeeinstellung scheint bei mir aber auch nichts zu bewirken.Danke für Deine Beschreibung.
Ich habe die .wav Datei, die heißt jetzt bei mir "bigben.wav" auch mal im /home/pi Verzeichnis abgelegt und den Eintrag in der "doorpi.ini" angepasst. Dann als nächstes ein doorpi Neustart. Leider höre ich immer noch den normalen Rufton, nicht den Inhalt der "bigben.wav" Datei.
Eine Bitte:
Könntest Du mir zur .wav Datei die Dateirechte, sowie Owner und Group durchgeben? Ich möchte einfach alles ausschließen können, was Probleme bereiten könnte.
Was auch noch sehr hilfreich wäre, wenn ich ein Logfile von Deinem DoorPi bekommen könnte. Einfach nur um zu vergleichen und eventuell auf Differenzen zu stoßen. Hierzu würde mir ein frisches Logfile, nur mit dem Start des DoorPi, sowie einer Klingeltasteraktion ausreichen.Viele Grüße
Ewald -
Die Dateirechte sind:
doorpi_cli läuft bei mir als daemon mit root-Rechten.
Im log steht natürlich viel drin, ich versuch es mal mit dem Ausschnitt der mir relevant erscheint, damit hier nicht alles überquillt:
Code
Alles anzeigen2015-10-08 15:16:41,614 [INFO] [doorpi.sipphone.from_linphone] channel [0x1998920] [479] bytes parsed 2015-10-08 15:16:41,615 [INFO] [doorpi.sipphone.from_linphone] Found transaction matching response. 2015-10-08 15:16:41,616 [INFO] [doorpi.sipphone.from_linphone] New client dialog [0x19963d8] , local tag [3pnhhiuI-], remote tag [as51eb699f] 2015-10-08 15:16:41,617 [INFO] [doorpi.sipphone.from_linphone] Dialog [0x19963d8]: now updated by transaction [0x19f3c70]. 2015-10-08 15:16:41,619 [INFO] [doorpi.sipphone.from_linphone] op [0x728351e8] : set_or_update_dialog() current=[(nil)] new=[0x19963d8] 2015-10-08 15:16:41,620 [INFO] [doorpi.sipphone.from_linphone] Op [0x728351e8] receiving call response [180], dialog is [0x19963d8] in state [BELLE_SIP_DIALOG_EARLY] 2015-10-08 15:16:41,620 [INFO] [doorpi.sipphone.from_linphone] Doing SDP offer/answer process of type outgoing 2015-10-08 15:16:41,621 [INFO] [doorpi.sipphone.from_linphone] Linphone core [0x196e810] notifying [display_status] 2015-10-08 15:16:41,622 [INFO] [doorpi.sipphone.from_linphone] ms_filter_unlink: MSRtpRecv:0x72836160,0-->MSVoidSink:0x728389e8,0 2015-10-08 15:16:41,623 [INFO] [doorpi.sipphone.from_linphone] speex_lib_ctl init with neon ? 0 2015-10-08 15:16:41,623 [INFO] [doorpi.sipphone.from_linphone] Configuring resampler input with rate=[44100], nchannels=[2] 2015-10-08 15:16:41,624 [INFO] [doorpi.sipphone.from_linphone] MSFilePlayer[0x198dd48]: /home/pi/bigbenstrikes.wav opened: rate=44100,channel=2 2015-10-08 15:16:41,625 [INFO] [doorpi.sipphone.from_linphone] configuring resampler output to rate=[44100], nchannels=[2] 2015-10-08 15:16:41,626 [INFO] [doorpi.sipphone.from_linphone] ms_filter_link: MSFilePlayer:0x198dd48,0-->MSDtmfGen:0x19945f0,0 2015-10-08 15:16:41,627 [INFO] [doorpi.sipphone.from_linphone] Priority used: 99 2015-10-08 15:16:41,628 [INFO] [doorpi.sipphone.from_linphone] Ring MSTicker priority set to SCHED_RR and value (99) 2015-10-08 15:16:41,628 [INFO] [doorpi.sipphone.from_linphone] ms_filter_link: MSDtmfGen:0x19945f0,0-->MSResample:0x19959e8,0 2015-10-08 15:16:41,629 [INFO] [doorpi.sipphone.from_linphone] ms_filter_link: MSResample:0x19959e8,0-->MSAlsaWrite:0x19fbcd8,0 2015-10-08 15:16:41,630 [INFO] [doorpi.sipphone.from_linphone] Initializing speex resampler in mode [min] 2015-10-08 15:16:41,631 [INFO] [doorpi.sipphone.from_linphone] Remote ringing... 2015-10-08 15:16:41,631 [INFO] [doorpi.sipphone.from_linphone] Linphone core [0x196e810] notifying [display_status] 2015-10-08 15:16:41,632 [INFO] [doorpi.sipphone.from_linphone] Call 0x72837408: moving from state LinphoneCallOutgoingProgress to LinphoneCallOutgoingRinging 2015-10-08 15:16:41,633 [INFO] [doorpi.sipphone.from_linphone] Linphone core [0x196e810] notifying [call_state_changed]
-
Wäre schön, wenn das so bleibt. Hast du irgendwas geändert?https://github.com/motom001/DoorP…angelog.txt#L33
das Einspielen einer .wav Datei im RufzustandIst vielleicht übertrieben, aber noch mal auf Anfang.
Es gibt eine Türaußenstation und eine Innenstation. Die Außenstation hat einen Taster, Mic und Lautsprecher. Wenn jemand die Taste draußen drückt, dann wird ein Gespräch aufgebaut. Die wav Datei wird zu diesem Zeitpunkt über den Lautsprecher der Außenstation wiedergegeben. Und das funktioniert bei Dir nicht - richtig?Zur Aufzeichnung während der Rufphase muss das Parameter "record_while_dialing" auf "True" gesetzt werden. Das funktioniert für mich weder in der V2.3, noch in der V2.4.6.1. Auch hier finde ich keine Hinweise im Tracefile.
Da muss in dem Trace-File ein Hinweis zu finden sein, denn Start und Stop vom Recorder sind Aktionen auf Events. Der Parameter record_while_dialing bestimmt dabei nur, welches Event genutzt wird.
Hier wird die Action dem Event hinzugefügt:
https://github.com/motom001/DoorP…Recorder.py#L40Hier wird das Event ausgelöst:
https://github.com/motom001/DoorP…inphone.py#L325 -
Die Dateirechte sind:Hallo cubeschrauber,
vielen Dank für die Infos.
Der .log Ausschnitt von Dir ist zu einem Zeitpunkt gemacht, wo der Rufaufbau stattfindet, sprich der SIP Client aktiv einen Rufaufbau macht. In diesem Abschnitt ist bei mir nichts vergleichbares zu sehen. Einen State [Belle_SIP_Dialog_Early] gibt es bei mir nicht.
Die "bigben.wav" kann ich nur während des Starts von DoorPi, also während der Initialisierung finden. Später nicht mehr.Ich habe einfach mal meine .log Datei mit angehängt. Dort habe ich lediglich eine Stelle modifiziert, wo mein User Passwort für den SIP Client im Klartext steht. Das habe ich durch "xxxxxxxxxx" ersetzt. Der Rest ist original.
Vielleicht ist dort erkennbar, wo es bei mir klemmt.
Thomas
Ich kann tatsächlich während der Rufphase nicht aufzeichnen. Das beiliegende .log bringt da vielleicht auch Aufschluß, warum das so ist. Unter Umständen erkennst Du ja auch, warum die .wav nicht wiedergegeben wird.Die Logdatei befindet sich im angehängten doorpi.zip.
Vielen Dank für eure Unterstützung
MfG
Ewald
Automatisch zusammengefügt:Da muss in dem Trace-File ein Hinweis zu finden sein, denn Start und Stop vom Recorder sind Aktionen auf Events. Der Parameter record_while_dialing bestimmt dabei nur, welches Event genutzt wird.
Hier wird die Action dem Event hinzugefügt:
https://github.com/motom001/DoorP…Recorder.py#L40Hier wird das Event ausgelöst:
https://github.com/motom001/DoorP…inphone.py#L325Hallo Thomas,
habe im #1.151 cubeschrauber geantwortet. Die Antwort enthält auch Infos für DichViele Grüße
Ewald -
Dann hier noch mein log-File mit allen Einträgen seit dem letzten Neustart und einmal klingeln. Der Klingelton wird richtig abgespielt, die Aufnahme startet allerdings erst beim Annehmen des Gesprächs.
-
Dann hier noch mein log-File mit allen Einträgen seit dem letzten Neustart und einmal klingeln. Der Klingelton wird richtig abgespielt, die Aufnahme startet allerdings erst beim Annehmen des Gesprächs.Super Danke,
werde Dein Log mit meinem vergleichen. Vielleicht kann ich was entdecken.
Gruß
Ewald -
Ich habe mir nocheinmal Gedanken bezüglich des Anschlusses des Tasters gemacht. Folgendes ist dabei herausgekommen:
R1 ist mit 470 Ohm der Angstwiderstand und gleichzeitig mit C1 (dank der Anregung von RaspiEHU) entstörend und entprellend. Bei falsch angeschlossenem oder falsch programmierten GPIO-Pin sollten maximal 3.3V über dem Widerstand anliegen was einem Strom von ca. 7mA entspricht, der deutlich unter dem Maximum von 16mA für den Raspberry liegt.
R2 ist der Pullup und mit 4.7 KOhm hoffentlich klein genug um Störungen abzuleiten aber auf keinen Fall so klein, dass er die Spannungsversorgung gefährdet.
Mit dieser Beschaltung muss man in der Konfiguration eigentlich nichts mehr beachten, außer dass die "polarity" eben anders ist. (Taster gedrückt = 0). Aber das kann man ja einstellen. -
Sollte der C1 nicht vor den 470er Wiederstand?
-
Sollte der C1 nicht vor den 470er Wiederstand?Gute Frage: Habe ich auch überlegt und meine nein. So schließt der Taster den C1 nicht einfach kurz sondern entlädt ihn "langsam" und für Störimpulse gilt das gleiche.
-
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!