Benutzer-Werkzeuge

Webseiten-Werkzeuge


klingel

Dies ist eine alte Version des Dokuments!


Türklingel Überwachung

Der Paketbote (DHL) kommt immer dann, wenn ich im Garten bin und die Klingel nicht höre. Man müsste doch was machen könnten, um eine Nachricht zu bekommen, wenn jemand klingelt…

* direkt was an die Klingel anschliessen und das dann irgendwie übermitteln. * ein Babyfon nutzen * Geräusch/Tonanalyse

Nachdem ich mich mit FFT, Mikrofonaufnahme und so weiter beschäftigt hatte, ging die Bestellung für ein Elektret Mikrofon nach China. Es sollte ein ESP werden, der Transportabel ist, und vielleicht noch mehr macht.

Nachdem mein Paystation-Eye ja auch ein Mikrofon hat - das allerdings von Snips benutzt wird - konnte ich da ja schon mal loslegen.

Ja, es funktioniert. Die Software hört jeweils 0.1s zu, analysiert dann und bei bestimmten Frequenzen wird dann ein Signal getriggert. Das funktioniert sowohl mit Türklingel als auch mit dem Telefon. Um die korrekten Frequenzen raus zu finden habe ich am Mac ein kostenloses FFT-Programm gefunden, die Daten dann ausgeben lassen und mit try and error gespielt.

Die Information an mein Handy übermitteln war das nächste Problem.

  • Einen kostenlosen SMS-Provider mit API oder einen der vielleicht 10/Monat kostenfrei abgibt, habe ich nicht gefunden.
  • Alternativ habe ich dann eine Mail mit hoher Priorität an GMX gesendet. Die Gmail App am Handy kann einen jetzt über High-Pro Mails informieren, und da habe ich dann einen anderen Klingelton zugewiesen. Das klappt, aber irgendwie nur beim ersten Mal und leider natürlich mindestens 1 Minute oder mehr zeitverzögert. Ob ich dann den DHL-Boten noch einholen kann weiss ich nicht.
  • Warum nicht gleich mein Telefon anrufen? In der Fritzbox ein neues Telefon mit LAN, also ein SIP Telefon eingerichtet. Statt dem Paket Azure das Paket baresip installiert, ja ich muss immer alles anders machen. Damit geht es jetzt. Problematisch war nur folgendes.

Anrufen ist theoretisch einfach. Aber sowohl ein direkter Aufruf mit

baresip -e "/dial sip: 00491635552262@192.168.178.1"

als auch, nachdem ich das Modul cons.so in ~/.baresip/conf eingetragen hatte mit

echo -n 00491635552262 | nc -u 127.0.0.1 5555

führt dazu, dass man im baresip drin ist und sich das Ding auch nach Annehmen oder Ablehnen des Anrufs nicht beendet. Gefrustet hab ich es dann wohl auf die schlimmst mögliche Art gemacht. Ich starte den Anruf und kille den Prozess nach einigen Sekunden. Dann starte ich das Auflegen und kille auch das nach einer Sekunde und zum Schluss beende ich baresip mit - ja genau einem kill. Steinigt mich nicht, gebt mir eine bessere Idee :o)

Jetzt ohne kill, aber nicht viel besser. Und auch hier habe ich am Handy beim Anruf einen anderen Klingelton eingestellt, damit ich weiß, warum der Anruf sofort wieder aufhört, bevor ich dran gehen kann. Ob die Einstellung im handy 'keine Mailbox' was bringt - dass ich also keine SMS über verpasste Anrufe bekomme muss ich noch probieren.

#!/bin/bash
baresip -e "/dial sip: 00491635552262@192.168.178.1" &
#echo "d 00491635552262" | nc 127.0.0.1 5555 &
sleep 8
echo "/hangup" | nc 127.0.0.1 5555 &
sleep 5
echo "/quit" | nc 127.0.0.1 5555 &

Die China Bestellung ist jetzt da, und ich brauche sie aktuell nicht mehr. Zusatzprogrammierung: Snips benötigt das Mikro ja nur, wenn ich zu Hause bin. Also beendet meine meine Abwesenheitserkennung das Zuhören von Snips und startet die Analyse der Klingeltöne und umgekehrt.
Klappt wohl noch nicht perfekt, da es bei zu schnellem anwesend/abwesend Wechsel einmal nicht funktioniert hat.

Damit es auch mit root-Rechten funktioniert, musste ich den .baresip Ordner nach root kopieren. Da es beim ersten mal einen coredump gab, ging nichts mehr. man musste erst die Datei „/tmp/dtmf.out“ löschen, dann war wieder alles gut.

Stand Juni 2020

klingel.1619196612.txt.gz · Zuletzt geändert: 2021/04/23 16:50 von varnholt