Beiträge von HomeLab

    Vermutlich hat Du eine alte Version erwischt für die es keine Windows 10 Treiber gibt.


    Treiber gibts hier: http://www.prolific.com.tw/US/…uct.aspx?p_id=225&pcid=41


    Da steht folgender Hinweis:


    NOTE:
    Windows 8/8.1/10 are NOT supported in PL-2303HXA and PL-2303X EOL chip versions.
    Run PL2303 CheckChipVersion tool program in Windows XP/Vista/7 to check chip version.
    Windows XP, 2000, 98 and Windows ME driver technical support is discontinued.
    Prolific recommends to use PL-2303HXD (HX Rev D) or PL2303TA chip.

    Folgende Befehle müssen zum ein-/ausschalten in der Ausgangs config stehen


    [nextion_OutputPins] (wakeup und sleep können beliebig umbenannt werden hat hier keinerlei Bedeutung
    wakeup = sleep=0
    sleep = sleep=1


    um das Display aufzuwecken dann


    [EVENT_OnKeyPressed_onboardpins.29]
    10 = out:sleep=0,1

    Zu [EVENT_OnMediaNotRequired] habe ich nicht getestet, wenn ich das richtig verstehe wird das Event nach jedem abspielen ausgeführt. Wäre für den Zweck somit nicht geeignet. Könnte man evtl. mit einem Python Skript lösen, wartet darauf das etwas passiert und wenn nicht müsste die Seite aufgerufen werden.


    Den Punkt haben ich gefunden danke!


    Der Bewegungsmelder kann direkt an einem Eingang am Piface angeschlossen werden, wie das dann in der doorpi.cfg / Piface konfiguriert wird bin ich überfragt, bisher habe ich immer alles direkt verkabelt. Müsste von der Konfiguration identisch zu einem "echten" Klingelknopf über einen Taster sein.


    Der Sensor ist zum Direktanschluss gebaut, sobald Spannung anliegt liegen am Ausgang des Sensors 0V an, bei erkannter Bewegung schaltet dieser auf 3.3V (Der Pegel müsste PiFace reichen um ein "high" zu erkennen, da können sicher andere mehr dazu schreiben)

    Der Sensor heißt HC-SR501 PIR Infrarot Sensor, eBay Link als Beispiel. (Meiner lag in der Schublade vor langem gekauft direkt in China für um die 1,80€
    Der Anschluss ist Simpel, am Raspberry GND und 5V abgreifen, der Sensor gibt direkt 3.3V aus (Bitte vorher messen gibt garantiert verschiedene Varianten!)


    Eingang am Raspberry verwende ich Pin 29, sieht dann in der config so aus:


    [EVENT_OnKeyPressed_onboardpins.29]
    10 = out:sleep=0,1


    Der Sensor kann in der Auslösezeit und Empfindlichkeit justiert werden, dabei darauf achten das kein Dauersignal am RPi anliegt.

    Selbstverständlich, ich habe die Daten die nichts im Internet verloren haben in den Grafiken rausgeworfen, ansonsten entspricht die HMI Datei im Anhang der im Video. Ich verwende das 7" Display, läuft somit nur noch auf dem 5", belegt ~3,6MB Speicher, im Editor kann man alles simulieren und einfach auf das eigene Design anpassen.


    Das Design (bis auf das Tastenfeld und die Seite mit dem automatischen Brandmelder) ist nicht von mir ich hab mich da krum gemacht sah nie nach etwas aus.. dann kam mir die Idee eine frei verwendbare Visitenkartenvorlage umzubauen. Damit geht es dann einfach, Design anpassen und z.B. mit dem Grafikprogramm Gimp in die einzelnen "Taster" schneiden und im Nextion Editor wieder zusammensetzen.


    Noch als Hinweis um auf Page 0 den Reiter "Preinitialize Event" zu erreichen muss das große Hintergrundbild gelöscht werden (wenn es eine andere Möglichkeit bei bildfüllenden Grafiken gibt bitte um Info)


    Ich ergänze zur Vollständigkeit im Beitrag oben noch die Steuerzahlen der weiteren Taster


    Ergänzend zum Anhang:
    Designed by: free-business-card-templates.com
    free downloadable business card templates for both personal or commercial use

    Dateien

    Ich habe mittlerweile mein Eletronic Assembly rausgeschmissen und dafür das Nextion eingebaut. Ich verwende die GPIOs und kein PiFace die Befehle z.B. öffnen müssen dementsprechend angepasst werden.


    Demo Video:
    https://youtu.be/SwA5gt21b_E


    Umsetzung:
    Display an USB seriell Adapter direkt am RPi3 angeschlossen /dev/ttyUSB0 mit 9600 BAUD


    Angepasstes USB_Plain Keyboard von WAL https://www.doorpi.org/forum/t…ild/?postID=3190#post3190


    Keyboard im Verzeichnis /usr/local/lib/python2.7/dist-packages/doorpi/keyboard/from_nextion.py abgelegt


    Anpassungen in /usr/local/etc/DoorPi/conf/doorpi.ini


    [keyboards]
    onboardpins = gpio
    nextion = nextion


    [nextion_InputPins]
    123456785 = out:Tueroeffner,1,0,3 (Pineingabe, die Zahl wird vom Display übertragen der Stern wird als 5 übertragen)
    54542121 = call:**610 (Irgendeine Zahl vom Display übertragen die dann den Ruf auslöst)
    87875454 = call:**59 (Bei mir ein Anrufbeantworter der am ISDN Bus der Fritz Box hängt)


    [nextion_OutputPins]
    wakeup = sleep=0 (Display aufwecken)
    sleep = sleep=1 (Display einschlafen)
    show_pad0 = page 0 (Seite 0 anzeigen)
    show_pad1 = page 1
    show_pad2 = page 2
    show_pad3 = page 3
    show_pad4 = page 4


    [EVENT_OnKeyPressed_onboardpins.29] (Eingang Bewegungsmelder, weckt das Display auf)
    10 = out:sleep=0,1


    [onboardpins_InputPins]
    11 = call:**610


    [onboardpins_OutputPins]
    36 = Tueroeffner


    (Im Video habe ich DTMF zur Demonstration verwendet, das könnte auch ein RFID Reader, GPIOs, Filesystem, Homematic, FHEM, OpenHab .. etc zum steuern sein.)
    [DTMF]
    "0" = out:page 0,1
    "1" = out:page 1,1
    "2" = out:page 2,1
    "3" = out:page 3,1
    "4" = out:page 4,1
    "5" = out:sleep=1,1
    "6" = out:sleep=0,1


    Übergabe der Befehle vom Nextion Display an Doorpi:
    Page 0 Preinitialize Event:


    thsp=45 (Display geht nach 45 Sekunden ohne Touch eingabe in den sleep Modus)
    ussp=45 (Wenn 45 Sekunden kein serieller Befehl empfangen wird schaltet das Display in den sleep modus)
    thup=1 (Display wacht auf sobald es berührt wird, es könnte z.B. im Sommer der Bewegungsmelder nicht funktionieren)
    dims=100 (Standard Dimmwert nach Neustart)


    Page 0 "Grafik Klingelknopf"
    print "54542121" (Übergabe der virtuellen Zahl an Doorpi, ruft die **610 an, wichtig die Zahl muss in Anführungszeichen stehen)


    Page 1 "Pin Eingabe" Zwei Textfelder in einem werden die "X" angezeigt im versteckten die Zahlen angereiht und mit dem Stern übertragen


    Zahl "1" (Auf 8 Stellen begrenzt)
    if(va0.val<8)
    {
    t0.txt=t0.txt+"1"
    t1.txt=t1.txt+"X"
    va0.val=va0.val+1
    }


    Zahl "2"
    if(va0.val<8)
    {
    t0.txt=t0.txt+"2"
    t1.txt=t1.txt+"X"
    va0.val=va0.val+1
    }
    Zahl "3"
    if(va0.val<8)
    {
    t0.txt=t0.txt+"3"
    t1.txt=t1.txt+"X"
    va0.val=va0.val+1
    }


    . . .
    die weiteren Zahlen sollten selbsterklärend sein.


    Der string wird dann mit dem Stern, der zusätzlich eine Zahl anfügt hier die "5" auf einmal übergeben
    Zeichen "Stern"
    t0.txt=t0.txt+"5"
    print t0.txt
    t0.txt=""
    t1.txt=""
    va0.val=0


    Grafik "Eingabe löschen"
    t1.txt=""
    t0.txt=""
    va0.val=0


    Link zur Nextion Doku:
    http://wiki.iteadstudio.com/Nextion_Instruction_Set

    bin noch nicht dazu gekommen zu testen, gibt in der nfcpy Doku einen Hinweis:


    Direkt über nfc-poll wird er gefunden und funktioniert bei jeder Abfrage (auch nach dem reboot).
    Tagtool meldet "reader not found", das könnte der Ansatz sein: (komme erst morgen Abend zum testen.. Pi ist dummerweise ausgesteckt..)


    Zitat

    This is sold by Adafruit as “PN532 NFC/RFID Controller Breakout Board” and can directly be connected to a serial port of, for example, a
    Raspberry Pi (the device path shown is for the Raspberry Pi’s UART, when using a USB/UART bridge it would be usb:USB0:pn532). Note that
    the serial link speed is only 115200 baud when connected at /dev/ttyAMA0 while with a USB/UART bridge it may be up to 921600 baud (on Linux
    the driver tries to figure this out).


    https://media.readthedocs.org/pdf/nfcpy/latest/nfcpy.pdf

    Jetzt bin ich einen Schritt weiter, auch wenn ich mir nicht alles erklären kann..


    der RDM6300 funktioniert am UART der PN532 nicht, warum -keine Ahnung- . .


    Ich frage mich gerade warum wir überhaupt versuchen den UART des RPi 3s umzubiegen, ich habe gerade aus einer Kiste einen USB Adapter herausgezogen (den PL2303 habe ich vor langer Zeit für 1,50€ bei eBay gekauft, hier ein Beispiel )


    USB UART Adapter einstelcken, prüfen ob Adapter erkannt wird:


    dmesg | grep tty

    Code
    1. [ 0.000000] Kernel command line: 8250.nr_uarts=1 dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2709.boardrev=0xa02082 bcm2709.serial=0xd094b4ed smsc95xx.macaddr=B8:27:EB:94:B4:ED bcm2708_fb.fbswap=1 bcm2709.uart_clock=48000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
    2. [ 0.001338] console [tty1] enabled
    3. [ 1.958129] 3f201000.uart: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
    4. [ 4.564905] usb 1-1.3: pl2303 converter now attached to ttyUSB0

    dann die /etc/nfc/devices.d/pn532_uart_on_rpi.conf auf connstring = pn532_uart:/dev/ttyUSB0 angepasst


    die PN523 UART on RPI Config auf connstring = pn532_uart:/dev/ttyUSB0 umgestellt, neu gestartet und läuft :)


    Ich mach einen Haken an das Thema und verwende den USB Adapter (Daran wollte ich ursprünglich das Display hängen, jetzt kommt ein zweiter Adapter an den RPi3, geht problemlos)


    Code
    1. [ 4.564905] usb 1-1.3: pl2303 converter now attached to ttyUSB0
    2. [ 1875.610319] usb 1-1.5: FTDI USB Serial Device converter now attached to ttyUSB1

    Ich bin mittlerweile auch auf dem Stand, dass ich mein TFT von Electronic Assembly gegen das einen Bruchteil kostende Nextion tauschen werde (Noch ist die Frontplatte nicht gefräst, es gibt zwar von Nextion ein Display in der selben Größe, in der Praxis passt das mechanisch dann doch nicht..)


    @AndyGR42
    evtl. das Problem hier? https://www.doorpi.org/forum/t…ys0/?postID=2497#post2497


    Wird zeit das ich bald Urlaub habe, komme nur am Wochenende Stundenweise zum bauen..

    Eine Idee zur Erweiterung des Funktionsumfanges und zur einfacheren Interaktion mit den verschiedensten Hausautomationssystemen wäre die Integration des MQTT Protokolles in DoorPi. Verschiedene Internet of Thing Dienste verwenden das Protokoll und ist in dem Bereich an jeder Ecke zu finden.


    Das Protokoll funktioniert nach dem Publisher / Subscriber Prinzip. Bsp. Doorpi meldet an den MQTT Broker "es klingelt" und alle Geräte die diesen Kanal abonniert haben reagieren darauf.


    Weitere Infos:
    Wiki: https://github.com/mqtt/mqtt.github.io/wiki
    Client Libraries: https://github.com/mqtt/mqtt.github.io/wiki/libraries


    Off Topic:
    Mosquitto MQTT Broker: http://mosquitto.org
    Grafisches Tool um Hardware, Online Service und APIs miteinander zu vernetzen: http://nodered.org/

    ... und lässt sich problemlos von Jedermann einrichten, wenn im Webfrontend nur der Token eingegeben werden muss geht das in wenigen Minuten.


    Der Workflow ist ebenso unschlagbar, die Nachricht mit Bild wird auf das Handy gepushed (nicht getestet, nach Beschreibung an mehrere Empfänger), ein klick und die Tür ist geöffnet, man muss ja nicht immer mit dem vor der Tür sprechen wenn man weiss wer davor steht.


    Super interessant wäre es auch das Protokoll MQTT einzubauen ;)
    Damit wäre DoorPi sehr einfach in nahezu alle Home Automationssysteme einzubinden.

    Hänge gerade an einem ähnlichem Thema mit dem RPi 3, allerdings mit dem PN532 Reader, hatte ursprünglich die Anbindung via SPI getestet. Nachdem SPI nicht unterstützt wird (am RPI funktioniert die Verbindung) habe ich auf den UART umgebaut und erst einmal völlig unbedarft, Pins herausgesucht angeklemmt und die Port Einstellung wie am RPi 2 vorgenommen. Konnte nach jedem reboot einmalig einen Tag auslesen und bekam dann immer die Meldung kein Reader gefunden.


    Google gefragt:
    "My GPIO-connected UART device is broken on Pi 3, why?


    The mini-uart is now routed to GPIO14/15 as the PL011 UART is now
    used for bluetooth communications. The mini-uart doesn't have a separate
    clock divisor and uses the core clock frequency. Changes in core clock
    (e.g. through throttling or idle/load frequency changes) will result in
    arbitrary modification of the effective baud rate. There's no easy way
    around this, but as a workaround there is a pi3-disable-bt devicetree
    overlay in latest rpi-update firmware which reverts this change."


    Link: https://www.raspberrypi.org/fo…ewtopic.php?f=63&t=137932


    Ich kann das gerade nicht testen, habe vermutlich meinen Reader und evtl. Raspi gekillt, oder er funktioniert mit UART nicht (Das Oszi zeigt am Reader / Raspi an RX/TX nichts an.. liegen dauerhaft ~3V an)



    Evtl. bringt dich das auf die richtige Spur:


    Firmware checken / bei mir war 4.1.19 drauf, nach dem update 4.4.9


    uname -a



    sollte die Firmware nicht aktuell sein, Update auf neue Version durchführen
    sudo apt-get update
    sudo apt-get install git
    sudo wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-updatesudo rpi-update
    sudo reboot


    danach dann folgendes eingeben um Bluetooth davon abzuhalten sich an den Port zu binden (Betriebssystem muss aktuell sein, sonst fehlt evtl. der Befehl Zeile 605: https://github.com/raspberrypi…ster/boot/overlays/README)


    sudo systemctl disable hciuart


    zudem noch in der config.txt den "alten" UART wiederherstellen


    sudo nano /boot/config.txt [und die beiden Zeilen als letztes eintragen]
    dtoverlay=pi3-disable-bt
    force_turbo=1



    Folgendes in Datei hciuart.services ändern: ttyAMA0 in ttyS0
    sudo nano /lib/systemd/system/hciuart.service



    Neu starten

    Genau, wegen der etwas höheren Geschwindigkeit.


    Die Idee dahinter war auch größere Datenmengen auslesen zu können um für die Zukunft gerüstet zu sein. Ein späterer Umbau auf SPI ist dann aber auch kein Hexenwerk.


    Aktuell nicht machbar, die Grundidee dahinter auslesen des Personalausweises vergleich des gespeicherten Fotos mit dem Videobild und wenn das passt dann Freigabe (sofern berechtigt)

    Ich bin bezüglich der Umsetzung nicht im Thema, eine Idee wäre es über Telegram Steuerbefehle zurück zu senden.


    Als Beispiel Steuerung 3D Drucker mit Octoprint über Telegram
    https://github.com/fabianonlin…ram/blob/stable/README.md


    Die ersten Gedanken:
    - Tür öffnen (oder Freigabe für RFID Reader ... oder automatische Türöffnen an/aus)
    - Status DoorPi
    - Rufumleitung auf Handy an/aus (Klingelsperre)
    etc..


    Die Bedienung ist komfortabel, da im Chat nur der Befehl angeklickt werden muss (Geht dann auch vom PC aus, somit hätte man eine verschlüsselte Fernbedienung ohne VPN für Jedermann)