Hallo Chris,
warum nicht so:
Variante 3:
Auf dem Raspberry 3 ein Piface und über dessen Relais den Türöffner ansteuern.
Dann geht auch alles mit Doorpi.
Gruß Volker
Hallo Chris,
warum nicht so:
Variante 3:
Auf dem Raspberry 3 ein Piface und über dessen Relais den Türöffner ansteuern.
Dann geht auch alles mit Doorpi.
Gruß Volker
01755678912
Hallo Artur,
welche Telefone klingeln sollen kann man in der FB einstellen. Da können auch mehrere ausgewählt werden. Ob das auch mit zuvor erstellten Gruppen geht weiß ich nicht. Aber es sollte zumindest möglich sein das nachzubilden.
Volker
Hallo Artur,
damit der Stream am C5 ankommt, muß das von der FB initiiert werden.
Probier mal folgendes:
in der FB definierts du noch weitere Klingeltasten.
Klingeltaste: "Klingeltaste 5"
Rufnummer: 15
Klingeln weiterleiten an: das Telefon, dass sich hinter **704 verbirgt
Klingeltaste: "Klingeltaste 4"
Rufnummer: 14
Klingeln weiterleiten an: 01755678912
...
In der Ini Datei dann:
[EVENT_OnKeyPressed_onboardpins.5]
10 = os_execute:echo 15 > /usr/local/etc/DoorPi/obergeschoss.txt
[EVENT_OnKeyPressed_onboardpins.4]
10 = os_execute:echo 14 > /usr/local/etc/DoorPi/etage_1.txt
...
Die Anrufe werden somit nicht mehr von Doorpi direkt ausgeführt, sondern alle an die FB deligiert.
Die restlichen Tasten sinngemäß erstellen und auch die Ini entsprechend anpassen.
Ich denke, das sollte so dann funktionieren.
Volker
Hallo,
jetzt weiß ich immer noch nicht wie die Klingel in der FB konfiguriert ist. Ich sehe in deiner Ini nur eine Stelle, wo ein direkter call abgesetzt wird. Und der scheint nicht an die Klingeltaste zu gehen, sondern direkt an ein in der FB angemeldetest Telefon. Zumindest deutet die Rufnummer darauf hin.
Was mir in deiner Ini Datei noch aufgefallen ist, aber mit dem Stream Problem nichts zu tun haben sollte: den snapshot_path sollte auf ein Verzeichnis im Doorpiweb verweisen. Also z.B.
Andernfalls kann Doorpi die Bilder nicht finden.
Gruß
Volker
Hallo,
die FB überträgt aber den Stream an das C5.
Daher die Rufnummer der Klingeltasten in der FB eintragen. Die sei z.B. 11. Und Doorpi ruft dann diese Nummer an:
[EVENT_OnKeyPressed_onboardpins.1]#ruft die Nummer 11 direkt an
10 = call:11
Welche Telefone dann klingeln sollen wird in der FB konfiguriert.
Volker
Hallo,
ich habe hier die Version 7.01. Da geht auch. Ist denn Doorpi in der FB als IP Türsprechstelle eingetragen? Wenn ja, welche Klingeltasten sind konfiguriert mit welchen Rufnummern?
Volker
oder in der Sektion [Smtp]
Server = Smtp.web.de
Den Port solltest du dann auch noch kontrollieren!
Gruß Volker
Hallo Thargor,
wie sieht denn deine doorpi.ini Datei aus. Gibt es da einen Eintrag "OnSipPhoneCallTimeoutMaxCalltime"?
Denn laut Doorpi Code konnte ich da keinen automatischen Snapshot erkennen.
Gruß Volker
Hallo,
ich hatte das Problem auch. Für mich habe ich den Code geändert. Es gibt aber auch die Möglichkeit, den snapshot_path entsprechend anzupassen. Siehe auch hier.
Viele Grüße
Volker
Hallo,
im RFID Keyboard werden zwei Events registriert und dann auch ausgelöst, die hier hilfreich sein könnten:
- 'OnFoundKnownTag'
- 'OnFoundUnknownTag'
Nur wird bei diesen Events leider die ID des Tags nicht mit übermittelt.
Aber vielleicht hilfts ja trotzdem.
Gruß
Volker
Hallo streicher,
ich habe für die normale Klingel ein Relais verwendet. Die Klingeltaste wird nicht mehr direkt mit der Spannung für die Klingel angeschlossen, sondern mit 5V. Bei gedrückter Taste wird diese Spannung an den Eingang des Relais geschaltet und dieses schließt dann den Stromkreis für die normale Klingel.
Zusätzlich ist noch ein Inverter (CD4069) mit dran, der am Piface2 einen Eingang auf GND zieht und somit dem PI mitteilt, dass eine Klingeltaste gedrückt worden ist.
Gruß Volker
Hallo suelmu,
die Events EVENT_OnMediaRequired und EVENT_OnMediaNotRequired könnten eine Lösung sein. Darüber wollte ich das Relais bei meiner Installation schalten. Bin aber noch nicht dazugekommen, daß auch zu aktivieren und somit zu nutzten.
Beispiel dazu gibt es hier im Forum. In der .ini sieht das dann so aus:
[EVENT_OnMediaRequired]
#Verstaerker aktivieren
10 = out:Verstaerker,1
[EVENT_OnMediaNotRequired]
#Verstaerker deaktivieren
10 = out:Verstaerker,0
"Verstaerker" muß natürlich in der ini noch einem Pin zugeordnet werden.
Gruß
Volker
Hallo Christoph,
ich hatte diese Konstellation auch mal. Damals hatte ich die Kabel vom RDM6300 direkt an die entsprechenden Pins des Raspi gelötet. Den RDM6300 habe ich in der Zwischenzeit gegen ein PN532 getauscht. Und der ist über einen USB <-> seriell Wandler mit dem Raspi verbunden. Sollte auch mit dem RDM6300 funktionieren.
Der Wandler sieht etwa so aus
Such mal hier im Forum. Da gibt es einen Thread, der die Vorgehensweise mit solch einem Wandler beschreibt. Einfach RDM6300 eim Suchfeld eingeben.
Gruß
Volker
Hallo Uwe,
ohne jetzt der Profi zu sein, würde ich versuchen, die Funktion "get_snapshot_from_picam(snapshot_path)", die ab Zeile 47 beginnt, zu erweitern:
def get_snapshot_from_picam(snapshot_path):
import picamera
filename = get_next_filename(snapshot_path)
myfilename = os.path.join(snapshot_path,"haustuer.jpg")
with picamera.PiCamera() as camera:
camera.resolution = (1024, 768)
camera.capture(filename)
camera.capture(myfilename)
conf.set_value(DOORPI_SECTION, 'last_snapshot', filename)
return filename
)
Alles anzeigen
So sollte eine zweites Bild im snapshot_path aus der INI Datei mit dem Name "haustuer.jpg" erzeugt werden.
Der Code ist übrigends nicht getestet!
Gruß
Volker
Hallo,
sollte es eine Lösung für das Lesen von Smartphone Tags geben, wäre ich auch stark daran interessiert.
Mit meinem Smartphone (Galaxy S6) bekomme ich auch nur die von Jürgen beschriebene Ausgabe. Auch ohne zusätzliche App.
Gruss
Volker
Hallo Alex,
ich habe mich bei der Installation von mjpg an die Anleitung hier im Forum gehalten. Damit läuft der mjpg auf Port 9000. Mit dieser Anleitung ist auch ein Patch enthalten.
"Als nächstes erstellen wir einen Patch. Dieser wird benötigt damit der streamer mit motion jpg umgehen kann und wir auch eine Ausgabe im Webinterface sehen. Ohne diesen Patch bekommt man nur ein Bild als yuv Ausgabe und die Auslastung des Pi steigt enorm an. Deswegen ist der nächste Schritt sehr wichtig!"
Hast du das bei deiner Installation berücksichtigt?
Gruß Volker
Hallo Alex,
ich habe eine ziemlich ähnliche Hardwarekonfiguration (Pi 3, NoIR V2.0 und Piface).
Allerdings funktioniert es, einen ein Snapshot per http://ipraspberry:port/?action=snapshot zu erzeugen.
Hast du mal probiert, im Browser nur http://ipraspberry:port aufzurufen. Da sollte ja dann die Demo Seite von mjpg Streamer erscheinen. Und da gibt es den Menüpunkt "Static", der genau die gleiche Aktion ausführt /?action=snapshot.
Einen Unterschied in der INI von Doorpi habe ich entdeckt, der evtl einen Einfluss haben könnte. In der Sektion [DoorPi] der Eintrag last_snapshot. Der ist bei mir leer.
GrußVolker
Hallo Marcus,
als Workaround ist das sicher eine Möglichkeit.
Aber: ich habe keinerlei Einschränkung für den Snapshot Pfad gefunden. Also sollte er auch irgendwo liegen können. Und für Eventlog und INI Datei gibt es ja auch keine Einschränkung. Und die Daten werden im Dashboard ja auch benutzt.
Gruß
Volker
Hallo,
hatte auch das Problem. Mit zwei kleinen Änderungen im Code ist das aber mit meiner Konfiguration beseitigt:
1. history_snapshot.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import logging
import os
logger = logging.getLogger(__name__)
logger.debug("%s loaded", __name__)
DOORPI_SECTION = 'DoorPi'
def get(*args, **kwargs):
files = dict()
try:
if len(kwargs['name']) == 0: kwargs['name'] = ['']
if len(kwargs['value']) == 0: kwargs['value'] = ['']
path = kwargs['DoorPiObject'].config.get_string_parsed(DOORPI_SECTION, 'snapshot_path')
if os.path.exists(path):
files = [os.path.join(path,i) for i in os.listdir(path)]
files = sorted(files, key=os.path.getmtime)
# because path is added by webserver automatically
#if path.find('DoorPiWeb'):
# changedpath = path[path.find('DoorPiWeb')+len('DoorPiWeb'):]
# files = [f.replace(path, changedpath) for f in files]
return files
except Exception as exp:
logger.exception(exp)
return {'Error': 'could not create '+str(__name__)+' object - '+str(exp)}
Alles anzeigen
2. und noch in request_handler.py
def get_file_content(self, path):
content = mime = ""
try:
#erst mal die uebergebene Datei direkt pruefen
content = self.read_from_file(path)
mime = self.get_mime_typ(path)
except Exception as first_exp:
try:
#zweite Chance: im www Ordner nachschauen
content = self.read_from_file(self.server.www + path)
mime = self.get_mime_typ(self.server.www + path)
except Exception as first_exp:
try:
#dritte Chance: fallback benutzen
logger.trace('use onlinefallback - local file %s not found', self.server.www + path)
content = self.read_from_fallback(self.server.online_fallback + path)
mime = self.get_mime_typ(self.server.online_fallback + path)
except Exception as exp:
return self.send_error(404, str(first_exp)+" - "+str(exp))
return content, mime
Alles anzeigen
Ihr könnt ja mal testen, ob das bei euch auch funktioniert.
Volker