Nextion Display als interaktives Namensschild

  • Steht dort doorpi_cli,

    dort steht doorpi_cli 2x drin.
    494 ? ... doorpi_cli
    502 ? ... doorpi_cli
    (manche anderen stehen aber auch 2 x drin)


    Habe dann 2x doorpi gestoppt.
    Dann nicht mehr aufgeführt.


    Und dann wieder sudo /etc... start


    Und doorpi_cli ist wieder 2 x drin.
    Ist das richtig so ???????



    Kann es sein, dass ich dieses 2 x als daemon (Autostart) installiert habe ?

  • Guten Morgen,


    ich komm nicht weiter!


    Vorne heißt es, Doorpi läuft doppelt.
    Jetzt heißt es, es ist richtig wenn es 2 x drin steht.


    Wenn ich nun --trace eingebe, bekomme ich die Fehlermeldung: "operational error: database is locked"


    Wenn Doorpi nur 1 x läuft; dann kommt diese Fehlermeldung nicht.


    Fazit:
    Warum soll es dann normal sein, wenn doorpi 2 x läuft ?
    Versteh ich nicht !
    2 x erzeugt doch dann eine Fehlermeldung.



    Nochmal:
    Es scheint doch hier mehrere zu geben, bei denen dieses Nextion Display läuft.
    Ich habe Raspi 2 und piface.
    Könnt ihr mir ne kurze Anleitung geben, was wohin soll.


    mfg
    bahnuhr



    P.S.
    mit dem nextion Editor komm ich klar (glaub ich).
    Habe mal meine hmi angehängt. Diese soll auf der code seite bei druck auf enter den Text im Textfeld senden an den raspi.
    Und dieser code soll dann die tür öffnen (wie bei wal)


    Mueller2.zip

  • Dann habe deinen Code in eine Datei "from_nextion.py" geschrieben und diese dann kopiert in den Ordner Keyboard.
    (Hoffe das war richtig).

    Äh, nein, sorry. Das kam wohl falsch rüber. Mit diesem Stück Code kannst Du, unabhängig vom DoorPi, testen ob Du überhaupt mit dem Display kommunizieren kannst. Aufzurufen aus der Shell: (sudo) python nextion.py


    0x70 gibt z.B. ein String Wert zurück, der mit "get" gesendet wurde (den muss man aber im Nextion erst programmieren!)


    Die Events und Rückgabewerte sind ja ganz gut dokumentiert.

    • Offizieller Beitrag

    @bahnur
    Die Anbindung von Display befindet sich in der Entwicklung und noch nicht endgültig getestet.
    Wenn du es jetzt schon nutzen willst, dann setzt das eine gewisse Grunderfahrung im Linux und Python Umfeld voraus.
    Die Entwickler für diesen Bereich haben mit ihren eigenen Teststellungen genug zu tun und werden nicht parallel dazu noch Support leisten.
    Ich würde dir empfehlen, diese Anbindung um zwei bis vier Wochen zu verschieben. Dann werden die Entwicklung vermutlich weit genug vorgeschritten sein.

  • Die Anbindung von Display befindet sich in der Entwicklung und noch nicht endgültig getestet.
    Wenn du es jetzt schon nutzen willst, dann setzt das eine gewisse Grunderfahrung im Linux und Python Umfeld voraus.
    Die Entwickler für diesen Bereich haben mit ihren eigenen Teststellungen genug zu tun und werden nicht parallel dazu noch Support leisten.
    Ich würde dir empfehlen, diese Anbindung um zwei bis vier Wochen zu verschieben. Dann werden die Entwicklung vermutlich weit genug vorgeschritten sein.


    Ok, die Grunderfahrung hab ich halt nicht.
    Werde halt mal abwarten (müssen); denn alleine bekomme ich dies nicht hin.


    Schade, bisher bin ich ganz gut voran gekommen.


    Wenn nichts mehr kommt, dann Ende für mich.


    mfg

  • Vorne heißt es, Doorpi läuft doppelt.
    Jetzt heißt es, es ist richtig wenn es 2 x drin steht.

    Hallo bahnuhr,
    DoorPi startet mit einem Aufruf mehrere Task's (Multitasking), deshalb steht mehrmals doorpi_cli drinnen.
    Das ist doch auch egal, den sobald überhaupt doorpi_cli drinnen steht, ist DoorPi schon gestartet und du kannst/sollst nicht nochmal mit sudo doorpi_cli starten.
    Falls dein DoorPi noch in der Entwicklungsphase ist, würde ich den daemon aus dem Autostart werfen, danach kannst du dir sicher sein das DoorPi nur läuft, wenn du es mit sudo door.... startest.

  • bahnuhr: Immer langsam. Ich bin sicher kein Anfänger, und baue sowohl an der Software als auch an der Hardware nun schon einige Wochen lang herum. So lange wir hier noch keine Liste von Standardlösungen haben, kann das auch nicht anders gehen.


    Also: Etwas Geduld.


    LG


    pah

  • 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

  • Ahaaaaaaaaaaa !


    Ich habs hinbekommen !!!!!!!!!!


    Also:
    from_nextion von wal genommen.
    Die abstract.... nicht geändert (läuft ja bei mir)


    Nextion hatte ich ja schon programmiert.


    Code Eingabe für Garage und Haustür per url_call an Homematic klappt !


    @pah: Geduld hab ich keine


    Ich probier halt gerne und lange (so lange bis es klappt)



    mfg und schönen Abend alle.


    bahnuhr

  • 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

  • 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.