Beiträge von Alex01

    Hallo,


    ich mache mir natürlich auch Gedanken um Python 2.7 und die weitere Entwicklung. Es wirkt so, als wäre seit 3 Jahren Stillstand, neue / adaptierte Keyboards finden offenbar keinen Einzug in das GIT-Repository.


    @motom001: wie kann man Dir helfen? Leider sind meine Python-Fähigkeiten nicht allzu weit her, aber ich habe Willen;-)

    Hallo zusammen,


    Ich suche nach einer Möglichkeit, wie ich bei einem Event 2 Ausgänge gleichzeitig schalten kann?
    Wenn ich das auf zwei verschiedene Events lege, passiert es trotzdem nacheinander:



    [EVENT_OnKeyPressed_piface.0]
    10 = os_execute:/usr/local/etc/DoorPi/conf/snapshot1.sh
    20 = out:page 1,1
    30 = out:Klingel_1,1,0,3
    40 = out:page 0,1


    [EVENT_OnKeyUp_piface.0]
    10 = sleep:0.8
    20 = out:Klingel_3,1,0,0.5


    Hat jemand eine Idee? Oder geht das nur über ein externes Script?

    Jetzt habe ich doch einen Fehler gefunden. DoorPi startet unter Buster nicht als Daemon:


    Jul 07 16:08:52 doorpi doorpi[3585]: ___ ___ _
    Jul 07 16:08:52 doorpi doorpi[3585]: / \___ ___ _ __ / _ (_) VoIP Door-Intercomstation with Raspberry Pi
    Jul 07 16:08:52 doorpi doorpi[3585]: / /\ / _ \ / _ \| '__/ /_)/ | version: 2.5.1
    Jul 07 16:08:52 doorpi doorpi[3585]: / /_// (_) | (_) | | / ___/| | license: CC BY-NC 4.0
    Jul 07 16:08:52 doorpi doorpi[3585]: /___,' \___/ \___/|_| \/ |_| URL: <https://github.com/motom001/DoorPi>
    Jul 07 16:08:52 doorpi doorpi[3585]: Authors: Thomas Meissner <motom001@gmail.com>
    Jul 07 16:08:52 doorpi doorpi[3585]: Supporter: Phillip Munz <office@businessaccess.info>
    Jul 07 16:08:52 doorpi doorpi[3585]: Hermann Dötsch <doorpi1@gmail.com>
    Jul 07 16:08:52 doorpi doorpi[3585]: Dennis Häußler <haeusslerd@outlook.com>
    Jul 07 16:08:52 doorpi doorpi[3585]: Hubert Nusser <hubsif@gmx.de>
    Jul 07 16:08:52 doorpi doorpi[3585]: Michael Hauer <frrr@gmx.at>
    Jul 07 16:08:52 doorpi doorpi[3585]: Andreas Schwarz <doorpi@schwarz-ketsch.de>
    Jul 07 16:08:52 doorpi doorpi[3585]: Max Rößler <max_kr@gmx.de>
    Jul 07 16:08:52 doorpi doorpi[3585]: missing someone? -> sorry -> mail me
    Jul 07 16:08:52 doorpi doorpi[3585]: Traceback (most recent call last):
    Jul 07 16:08:52 doorpi doorpi[3585]: File "/usr/local/bin/doorpi_cli", line 10, in <module>
    Jul 07 16:08:52 doorpi doorpi[3585]: sys.exit(entry_point())
    Jul 07 16:08:52 doorpi doorpi[3585]: File "/usr/local/lib/python2.7/dist-packages/doorpi/main.py", line 167, in entry_point
    Jul 07 16:08:52 doorpi doorpi[3585]: raise SystemExit(main_as_daemon(sys.argv))
    Jul 07 16:08:52 doorpi doorpi[3585]: File "/usr/local/lib/python2.7/dist-packages/doorpi/main.py", line 123, in main_as_daemon
    Jul 07 16:08:52 doorpi doorpi[3585]: from daemon import runner
    Jul 07 16:08:52 doorpi doorpi[3585]: ImportError: No module named daemon
    Jul 07 16:08:52 doorpi systemd[1]: doorpi.service: Control process exited, code=exited, status=1/FAILURE
    -- Subject: Unit process exited
    -- Defined-By: systemd

    Weiß jemand Rat??

    Hallo Ihr beiden,


    danke für die Tip´s… aber so recht an die Portweiterleitung glauben mag ich noch nicht. Wie gesagt, sind Phonerlite am PC und Doorpi beide im gleichen Subnet hinter der gleichen Firewall und hinter dem gleichen Speedport. Phonerlite geht, Doorpi nicht.
    Und bei Verbindung sehe ich auch eigehende "Sprachpakete" vom Gespräch, nur eben ohne Inhalt am Doorpi.


    2019-07-04 19:03:02,351 [INFO] [doorpi.sipphone.from_linphone] Linphone core [0x173bfa8] notifying [call_stats_updated]
    2019-07-04 19:03:02,351 [INFO] [doorpi.sipphone.from_linphone] Bandwidth usage for call [0x17f7ac0]:
    RTP audio=[d= 0.0,u= 0.0], video=[d= 0.0,u= 0.0] kbits/sec
    RTCP audio=[d= 0.0,u= 0.0], video=[d= 0.0,u= 0.0] kbits/sec
    2019-07-04 19:03:02,352 [INFO] [doorpi.sipphone.from_linphone] Thread processing load: audio=0.000000 video=0.000000

    Sehr Mysteriös das ganze, da wünsche ich mir fast ISDN zurück, X.25 konnte ich besser lesen...;-);-);-)

    Hallo Korky,


    ich nutze einen Telekom - Hybrid-Anschluß. Dahinter ist eine Unifi Firewall.
    In Summe habe ich auf meinem Anschluß (Ein Trunk ist es ja nicht) 5 Rufnummern. Zwei der Rufnummern sind direkt auf dem Speedport registriert, eine Weitere am PC (Nicht am Speedport angemeldet sondern direkt tel.t-online.de) und eine vierte Rufnummer ist auf dem DoorPi direkt registriert.


    Am PC funktioniert alles einwandfrei. Wenn ich vom PC auf dem Doorpi anrufe, habe ich Sprachverständigung. Jedoch hängen PC und Doorpi im gleichen IP-Subnet und ich kann nicht garantieren, ob der Sprachdatenstrom trotz Providerregistrierung nicht doch im lokalen Netz bleibt.
    Vom iPhone rufe ich mit der nativen App (also ganz normales GSM) den Doorpi an. Es kommt eine Verbindung zustande, die nach 10Sek. mit einem BYE vom Netz auslöst. Wenn ich in diesen 10 Sekunden am Handy makele, kommt am Doorpi die bekannte "Ein Teilnehmer hat das Gespräch vorrübergehend verlassen..." Ansage aus dem Mobilfunknetz. Selten hatte ich schon nach dem Makeln eine Sprachverbindung... warum auch immer.


    Wenn ich übrigens vom Handy den PC anrufe, der wie gesagt im gleichen Subnetz wie der Doorpi hängt, geht das sofort. Sagt mir, das es nicht an meiner LAN/Firewallkonfiguration liegt. Ich nutze am PC PhonerLite.


    So richtig reproduzierbar ist das alles grad nicht... Und im SIP Protokoll ist leider auch keine klare Ursache erkennbar.

    Es scheint ein Codec Problem zu sein. Wenn ich mit einem PC über das Netz anrufe (App PhonerLite), geht es. MIt einem iPhone nicht.


    Im Sip-Header sieht die Codec-Section bei Phoner so aus:


    v=0
    o=- 1801568110 3014767174 IN IP4 192.168.2.1
    s=SIPPER for PhonerLite
    c=IN IP4 192.168.2.1
    t=0 0
    m=audio 7070 RTP/AVP 8 0 3 9 18 101
    a=rtpmap:8 PCMA/8000
    a=rtpmap:0 PCMU/8000
    a=rtpmap:3 GSM/8000
    a=rtpmap:9 G722/8000
    a=rtpmap:18 G729/8000
    a=fmtp:18 annexb=yes
    a=rtpmap:101 telephone-event/8000
    a=fmtp:101 0-16
    a=ssrc:1108112642
    a=sendrecv

    Und wenn ich mit dem iPhone anrufe, sieht es so aus:


    v=0
    o=- 1400937498 3024008617 IN IP4 192.168.2.1
    s=-
    c=IN IP4 192.168.2.1
    t=0 0
    a=sendrecv
    m=audio 7070 RTP/AVP 109 104 110 9 102 108 105 100 8 0
    b=AS:80
    a=rtpmap:109 EVS/16000
    a=fmtp:109 max-red=0; br=5.9-24.4; bw=nb-wb; cmr=1; ch-aw-recv=-1
    a=rtpmap:104 AMR-WB/16000
    a=fmtp:104 mode-set=0,1,2; mode-change-capability=2; max-red=0
    a=rtpmap:110 AMR-WB/16000
    a=fmtp:110 octet-align=1; mode-set=0,1,2; mode-change-capability=2; max-red=0
    a=rtpmap:9 G722/8000
    a=rtpmap:102 AMR/8000
    a=fmtp:102 mode-change-capability=2; max-red=0
    a=rtpmap:108 AMR/8000
    a=fmtp:108 octet-align=1; mode-change-capability=2; max-red=0
    a=rtpmap:105 telephone-event/16000
    a=fmtp:105 0-15
    a=rtpmap:100 telephone-event/8000
    a=fmtp:100 0-15
    a=ptime:20
    a=maxptime:40
    a=sendrecv
    a=rtpmap:8 PCMA/8000
    a=rtpmap:0 PCMU/8000

    Offenbar fehlt der passende Codec für das iPhone. Weiß jemand, welcher das ist?

    Hm. Ich hänge hier immernoch.


    Ich möchte einen eingehenden Call vom Handy annehmen können.


    Wenn ich mit dem iPhone den DoorPi anrufe, ist der Anruf ca. 10 Sekunden offenbar verbunden, es ist aber nichts zu hören. Danach wird die Verbindung getrennt


    SIP-Protokoll sehe ich alles, was sein soll... Invite - ok - ACK...


    aber nach dem OK passiert offenbar nichts in Linphone:



    2019-07-03 08:57:19,432 [ERROR] [doorpi.sipphone.from_linphone] audio_stream_start_from_io: No decoder or encoder available for payload telephone-event.


    Wo liegt mein Denkfehler?

    Hallo zusammen,


    Ich benötige mal einen Hinweis. Ich habe zwei Nutzungsfälle, bei denen ich am PiFace einen Ausgang so lange schalten möchte, wie ein Signal am Eingang anliegt.


    Konkret soll immer dann, wenn der Dämmerungssensor wenig Licht erkennt, die Tastenbeleuchtung eingeschaltet werden.
    Eventgesteuert geht das für eine Zeit ( z.B.: out:Beleuchtung,1,0,10) aber wie geht das so lange ein Signal am Eingang anliegt?


    Danke für einen Hinweis!

    Mein Installationsweg, getestet mit Buster Lite


    Installation Raspberry
    --------------------------
    Image von https://www.raspberrypi.org/downloads/raspbian/ laden und mit Win32DiskImager auf eine Micro-SD "brennen"
    Nach Boot mit User pi und Kennwort Raspberry (Achtung, amerikanische Tastatur, z und y vertauscht!!) anmelden


    sudo su und raspiconfig ausführen und die Grundeinstellung vornehmen


    Installation DoorPi
    --------------------------
    sudo su


    apt-get remove python-pip python-rpi.gpio


    apt-get install python-dev


    apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade


    easy_install pip || (wget https://bootstrap.pypa.io/ez_setup.py -O - | sudo python) && sudo easy_install pip


    pip install linphone4raspberry python-daemon


    pip install doorpi


    Erster Start: doorpi_cli --trace


    Nextion Keyboard einfügen
    --------------------------
    from_nextion.py nach /usr/local/lib/python2.7/dist-packages/doorpi/keyboard kopieren


    RDM6300 Keyboard einfügen und UART bearbeiten
    --------------------------
    from_RDM6300.py nach /usr/local/lib/python2.7/dist-packages/doorpi/keyboard kopieren


    nano /boot/cmdline.txt

    Erste Zeile: dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
    Ersetzen durch: dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
    [/i]


    nano /boot/config.txt
    [/i]
    Hier trägt man folgende Zeilen ein:

    dtoverlay=pi3-disable-bt
    enable_uart=1
    force_turbo=1

    Speichern, schließen und neustarten.


    Installation MJPG Streamer:
    --------------------------
    Die im Lexikon hinterlegte Anleitung hat einen Fehler produziert und nicht funktioniert. Anbei der Weg, wie es unter Stretch funktioniert hat:


    Anleitung: https://github.com/cncjs/cncjs…-Setup-&-FFMpeg-Recording


    Wenn man den mjpg_streamer beim booten automatisch gestartet haben möchte der sollte folgende Datei anlegen:

    • sudo nano /etc/init.d/mjpg_streamer

    Mit diesem Inhalt.



    Shell-Script


    • #!/bin/sh
    • # /etc/init.d/mjpg_streamer
    • ### BEGIN INIT INFO
    • # Provides: mjpg_streamer
    • # Required-Start: $all
    • # Required-Stop: $all
    • # Default-Start: 2 3 4 5
    • # Default-Stop: 0 1 6
    • # Short-Description: MJPG_Streamer_autostart
    • ### END INIT INFO
    • start()
    • {
    • modprobe bcm2835-v4l2
    • sleep:2
    • echo "Starting mjpg-streamer..."
    • /usr/local/bin/mjpg_streamer -i "input_uvc.so -r 1280x720 -d /dev/video0 -f 30 -q 80" -o "output_http.so -p 9000 -w /usr/local/share/mjpg-streamer/WWW" >/dev/null 2>&1 &
    • }
    • stop()
    • {
    • echo "Stopping mjpg-streamer..."
    • kill -9 $(pidof mjpg_streamer) >/dev/null 2>&1
    • }
    • case "$1" in
    • start)
    • start
    • ;;
    • stop)
    • stop
    • ;;
    • restart)
    • stop
    • start
    • ;;
    • *)
    • echo "Usage: $0 {start|stop|restart}"
    • ;;
    • esac
    • exit 0

    Nun muss man noch das script ausführbar machen.


    • sudo chmod +x /etc/init.d/mjpg_streamer


    Mit diesem Befehl wird die eben erstellte Autostart-Datei in den Autostart eingetragen:

    • sudo update-rc.d mjpg_streamer Defaults



    Pushover mit Bild
    -----------------------------


    Shell Script zur Snapshotaufnahme

    #!/bin/bash
    wget http://127.0.0.1:8080/?action=snapshot -O snapshot.jpg
    python pushoverb.py

    Phyton Script zum Pushover mit Bild Versand


    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    import requests
    r = requests.post("https://api.pushover.net/1/messages.json", data = {
    "token": "a78jnxfovzzj4i4mh8keqmegjs695h",
    "user": "umJSytLkp71HJZqXxBDJCt8W6B7rd6",
    "message": "Türklingel"
    },
    files = {
    "attachment": ("image.jpg", open("snapshot.jpg", "rb"), "image")
    })
    print(r.text)


    Moin zusammen,


    hier eine kurze Beschreibung meines Projektes. Ich werde versuchen, immer mal wieder "Merkwürdigkeiten" hier zu dokumentieren, damit Andere nicht so lange suchen müssen wie ich.


    Und wenn jemand Input oder Ideen hat, bin ich sehr dankbar.


    -----------------------------------------


    Herleitung:


    Ich wohne in einem Zwei-Familien Haus gemeinsam mit meinen Eltern. Wir teilen uns einen Eingangsbereich mit Türsprechstation, jedoch hat jeder seine eigene Klingel. Bisher ist das über eine Auerswald TK-Anlage mit entsprechender Torstation gelöst. Ausgehend von dem Fakt, das auf dem Festnetz eh nur noch Oma anruft und die Anzahl der Endgeräte (wer braucht denn noch Fax??) in den letzten Jahren drastisch gesunken ist, habe ich die verbliebenen zwei Telefone (je Partei eines) direkt auf den Speedport geklemmt und möchte die TK-Anlage abschalten.


    Auf der Suche nach Ersatz für eine Türsprechstelle (die letzte verbliebene Anwendung auf der TK-Anlage) bin ich dann an meine Grenzen gestossen. Ich habe kein Gerät im Bereich bis ~1.000€ gefunden, das meine Wünsche umgesetzt hätte:


    Wunschliste "Muss"


    - 2 Klingelknöpfe am Tor
    - Gemeinsames Innengerät mit hohem WAF
    - Kamerabild auf das Innengerät
    - Separate Innen-Wecker / Klingeln je Partei
    - Benachrichtigung auf´s iPhone
    - Öffnen von Tür und Einfahrttor per RFID
    - Helligkeitssensorgesteuerte Beleuchtung


    Wunschliste "Könnte"


    - Interaktives Display am Tor
    - Öffnen Tor per iPhone vorhalten (NFC/BLE)
    - Verbinden mit dem Tor aus der Ferne
    - Sprechen mit dem Paketboten
    - Tor öffnen
    - "Briefkastensensoren" mit Einwurfbenachrichtigung


    -----------------------------------------
    Im Moment bin ich am Experimentieren. Meine Bauteile:


    - Raspberry Pi 3b+
    - PiFace digital2
    - RDM 6300 RFID-Leser (Gleicher Tag wie die Alarmanlage)
    - RC522 NFC-Leser
    - Nextion-Display
    - Raspberry-Kamera mit Fisheye-Linse
    - Knöpfe, LED´s, etc.


    Meine aktuellen gedanklichen Baustellen:


    1.) SIP-Telefonie: Aufgrund eines Hybridanschlusses bin ich an einen Speedport gebunden. Und wenn ich überlege, wie oft ich in den Jahren den Router gewechselt habe, will ich die Klingel unabhängig von einer Fritzbox betreiben. Auch eine Asterisk will ich nicht aufsetzen sondern die Klingel direkt per SIP beim Provider registrieren. Das hakt noch.


    2.) Innenstation: Ich hab noch keine Idee, wie ich die Innenstation realisiere. Ich hätte gern ein Tablet / Touchscreen, das Eventgesteuert aufwacht und dann das Bild der Torkamera anzeigt. Zusätzlich müssen zwei Schaltflächen oder Tasten vorhanden sein, um das Tor zu öffnen. Bisher ist das (ohne Video) in der alten Anlage mit einem Telefon und Tastenkombination gelöst, die Erfahrung zeigt, das es Dort keine Sprachverbindung braucht. Die Tastenkombination war zu aufwändig, so das meine Eltern immer mit dem Schlüssel zum Tor gelaufen sind. Das muss also ganz einfach werden.



    Ich nutze mal den nächsten Post, um nach und nach meine Installationsschritte zu dokumentieren. Werde also immer erweitern.

    Danke Sven!


    Eingehend ist es vielleicht der richtige Hinweis, das probiere ich. Nur mit der Rufnummer scheint es zu funktionieren.
    Dann passiert aber nichts und nach ca. 10 Sekunden löst es aus. Muss ich da noch Events definieren, damit ich mit der Polycom sprechen kann? Könntest Du Deine komplette Doorpi.ini posten?



    Abgehend versuche ich die ganze Zeit, mein iPhone zu erreichen;-)

    Hallo zusammen,


    ich stricke grade meinen Prototypen zusammen und stoße auf ein SIP-Problem.


    Ich würde gern den Doorpi direkt beim Provider (Telekom) als SIP-Endgerät registrieren. Nach vielem Probieren funktioniert das auch, die Kommunikation wird aufgebaut, es kommt jedoch eingehend wie ausgehend keine Verbindung zustande, obwohl ich den "Ruf" sehe:


    1.) Eingehend


    2019-06-28 06:37:33,670 [DEBUG] [doorpi.sipphone.linphone_lib.CallBacks] is_admin_number (sip:+49160xxxxxxx@ims.telekom.de)
    2019-06-28 06:37:33,671 [WARNING] [root] section AdminNumbers not found in configfile
    2019-06-28 06:37:33,671 [TRACE] [doorpi.conf.config_object] get_keys for section AdminNumbers returns []
    2019-06-28 06:37:33,672 [DEBUG] [doorpi.sipphone.linphone_lib.CallBacks] sip:+49160xxxxxxx@ims.telekom.de is not an adminnumber
    2019-06-28 06:37:33,672 [TRACE] [doorpi.action.handler] fire Event OnCallReject from doorpi.sipphone.linphone_lib.CallBacks asyncron
    2019-06-28 06:37:33,673 [DEBUG] [doorpi.sipphone.from_linphone] [PYLINPHONE] >>> pylinphone_Core_instance_method_decline_call(0x75827500 [0x9de210], 0x76d17df0 [0xa0ab20], 2)
    2019-06-28 06:37:33,674 [INFO] [doorpi.sipphone.from_linphone] channel [0xa12308]: message sent to [UDP://tel.t-online.de:5060], size: [406] bytes
    SIP/2.0 403 Forbidden
    Via: SIP/2.0/UDP 217.0.21.2:5060;branch=z9hG4bKg3Zqkv7i66gwdzcrtn67x721tfsmi8hob
    From: <sip:+49160xxxxxxx@ims.telekom.de;user=phone>;tag=h7g4Esbg_p65541t1561696653m488495c845925960s1_3594997545-1359138989
    To: <sip:+493xxxxxxxx@telekom.de;user=phone>;tag=B6Ljx9u
    Call-ID: p65541t1561696653m488495c845925960s2
    CSeq: 1 INVITE
    User-Agent: (belle-sip/1.4.2)
    Supported: outbound



    2.) Ausgehend


    2019-06-28 06:36:58,364 [INFO] [doorpi.sipphone.from_linphone] channel [0xa12308]: received [395] new bytes from [UDP://tel.t-online.de:5060]:
    SIP/2.0 606 Not Acceptable
    Via: SIP/2.0/UDP 192.168.1.113:5060;branch=z9hG4bK.YKoat4R67;rport
    From: "DoorPi" <sip:03xxxxxxx@tel.t-online.de>;tag=QENrfP~Za
    To: <sip:0160xxxxxxx@tel.t-online.de>;tag=h7g4Esbg_p65541t1561696618m236819c845844589s1_3559739564-2019247265
    Call-ID: k8WFIrY4B9
    CSeq: 21 INVITE
    Contact: <sip:sgc_c@217.0.21.2;transport=udp>
    supported: timer
    Content-Length: 0


    Ich habe bereits alle möglichen Codecs ausprobiert und Video in der Konfig disabled, nichts funktioniert.


    Hat jemand einen Tip für mich?