Hallo,
ich versuche derzeit meinen Raspbery Pi (Model 3 B+) als Türöffner zu verwenden.
Vorab möchte ich noch darauf hinweisen, dass ich noch ein ziemlicher Anfänger in diesem Bereich bin und mich deshalb nicht so gut auskenne.
Die Situation ist so:
Ich habe eine alte Telefonanlage (Eumex 209), die per ISDN an eine FritzBox 7490 angeschlossen ist.
An die Eumex sind wiederum einige Analoge Telefone (per TAE-Stecker) und die Türsprechanlage (Telekom Doorline) angeschlossen.
Um die Tür zu öffnen muss ich also an einem an die Eumex angeschlossenen Telefon zuerst 99 (ich denke das ist einfach die Nummer der Nebenstelle der Türsrechanglage) wählen um die Türsprechanlage anzuwählen (dann wird die Freisprecheinrichtung aktiviert) und anschließend muss ich die R-Taste drücken und erneut 99 wäheln um die Tür zu öffnen.
Zusammengefasst kann ich also die Tür öffnen indem ich 99R99 wähle.
Mein Ziel ist es also nun mit meinem Raspberry Pi wie mit einem analogen Telefon (also über einen TAE-Stecker) an der Telefonanlage 99R99 zu wählen, damit die Tür geöffnet wird. Der Hintergrund ist, dass ich die Tür dann später über mein Handy öffnen möchte.
Nach einiger Recherche hatte ich zwei Lösungsansätze:
1. Die Nutzung des MFV (Mehrefrequenzwahlverfahren), das von den "modernen" analogen Telefonen verwendet wird.
Bei diesem Wahlverfahren wird eine Ziffer durch zwei übereinandergelegte Frequenzen repräsentiert.
Nach weiterer Recherche bin ich auf Folgenden Artikel gestoßen (https://iotbytes.wordpress.com/send-dtm ... berry- pi/), in dem beschrieben wird, wie man MFV (auch DTMF genannt) mit dem Raspberry Pi nutzen kann.
Dafür wird aber ein Modem benötigt, dass 50€ kostet, was mir etwas zu teuer ist, dafür dass ich es nur zum öffnen der Türe benutze.
2. Die Nutzung des IWV (Impulswahlverfahren), das das ältere Wahlverfahren ist und z.B. von Wählscheibentelefonen verwendet wird.
Laut der Anleitung der Eumex (https://www.telekom.de/hilfe/downloads/b208_209.pdf) unterstützt sie dieses Wahlverfahren auch (siehe S.2 oben rechts).
Hierbei wird eine Nummer durch einen bestimmte Anzahl von 100ms (60ms offen/40ms geschlossen) Pulsen repräsentiert.
So muss für die Ziffer 9 der Stromkreis 9x für 60 ms unterbrochen und für 40ms wieder geschlossen werden.
Das drücken der R-Taste kann laut Wikipedia durch ein unterbrechen des Stromkreises von 170-310ms imitiert werden.
Dies hat auch funktioniert, das ein sehr kurzes auflegen des Hörers an einem analogen Telefon den gleichen Effekt wie die R-Taste hatte.
Letztendlich entschied ich mich für den 2. Ansatz.
So baute ich mir einen kleinen Stromkreis auf, an den ich die a- und b-Ader eines abisolierten Telefonkabels mit TAE-Stekcker anschloss und den ich mit den GPIO-Pins des Raspberry PIs unterbrechen konnte.
Der Stromkreis enthält einen 500Ω-Wiederstand, da die Telefonanlage 20-60 mA benötigt und eine Spannung von 28V verwendet (https://www.mikrocontroller.net/article ... .C3.A4hlen).
Schaltplan:
Anschließend schrieb ich zum Testen der Schaltung ein Shell-Script um die Nummer 11 zu wählen (2x für 60ms unterbrechen), da ein analoges Telefon die Nebenstellenummer 11 besitzt und dieses dann klingeln sollte.
Script:
#!/bin/bash
pigs w 21 1
sleep 1
pigs w 21 0
sleep .06
pigs w 21 1
sleep 1
pigs w 21 0
sleep .06
pigs w 21 1
sleep 5
pigs w 21 0
Script ende.
Beim ausführen des Scripts tut sich jedoch nichts.
Die Schaltung ist meiner Meinung nach jedoch Funktionsfähig, da ich zwischenzeitlich zum Testen einige LEDs in die Schaltung intigriert habe, die auch im richtigen Moment leuchteten.
Mir fällt kein Grund ein warum die Schalung nicht funktioniert.
Ich hoffe ich finde hier eine Antwort.
Ich bin auch offen für andere Lösungsansätze habe jedoch selbst keine andere Idee mehr abgesehen von den oben dargestellten.
Danke im Voraus