Nextion Display als interaktives Namensschild

  • Ich hab schon öfter Sachen bei Fabb-It drucken lassen. Die Drucken so ziemlich alles mit allen Materialien etc. und bieten auch eine Oberflächenbehandlung an. Außerdem eine gute Beratung hinsichtlich Material und Verfahren, was gerade für so filigrane Teile wie den Nextion Rahmen nicht ganz unerheblich ist. Bevor die Mist drucken, rufen die lieber den Kunden an.

  • Hier die HMI-Datei und das Keyboard zum testen.

    Hallo Wal,


    ich brauch nochmal Hilfe.


    Habe die Datei "from_nextion.py" eingefügt in "/usr/local/lib/python2.7/dist-packages/doorpi/keyboard"
    Hoffe das war richtig !?


    Sobald ich nun in die doorpi eintrage:


    [keyboards]
    nextion = nextion


    hängt sich alles auf. Meine Türtasten funktionieren nicht mehr.
    Geschweige denn mein Code auf dem Nextion.


    Folgende Fragen:
    Wo müssen die Dateien hin ?
    Wo finde ich die log Datei ?


    Danke im Voraus.


    mfg
    bahnuhr

  • Ja, das Keyboard hast du in den richtigen Ordner kopiert.
    Die HMI-Datei mit dem Nextion-Editor laden und in das Display übertragen.
    Nutzt du das piface oder den gpio vom Raspberry ?
    Hast du den gleichen Fehler wie ich ?
    Falls ja, nutze den Workaround AbstractBaseClass.zip von hier :
    https://www.doorpi.org/forum/t…e-usb-plain-keyboard-bug/
    Das Nextionkeyboard ist vom usb-plain Keyboard abgewandelt.
    Wo die Log-Datei ist weiß ich auch nicht, ich nutze Putty um auf den DoorPi zuzugreifen, da lass ich mir einen Log erstellen.
    Putty loggt die komplette Terminalsitzung.

    Gruß
    Wal


    Kaum macht man es richtig, funktioniert es auch !

    3 Mal editiert, zuletzt von Wal () aus folgendem Grund: AbstractBaseClass.zip als Anhang zugefügt

  • Hallo, guten Morgen,


    ich habe raspi und piface.
    Am piface habe ich 2 Taster und ich benutze FB 7490 (Das mit dem Telefon hab ich hinbekommen)
    Sonst bisher nichts.
    In der raspi config habe ich seriell freigeschaltet (will noch rfid 6300 benutzen; hab ich schon hier liegen - aber noch nicht probiert)


    Können denn die Anderen mal sagen wie sie den Nextion zum Laufen bekommen haben.
    Eine kleine Anfänger freundliche Darlegung wäre gut.


    Danke im Voraus.


    mfg
    bahnuhr

  • Schau mal Post 15 in diesem Thread. Wenn Du 2 UART brauchst kannst Du auch ein USB Adapter nehmen.


    Ansonsten kannst Du das Nextion erst mal am PC anschließen und mit dem Editor starten. Dort kannst Du auch sehen wie das Teil über UART kommuniziert. Ich hoffe, dass ich in den nächsten Tage ein Beispiel Python Script fertig bekomme und hier posten kann.

  • Ich nutze wie oben geschrieben ein USB/Seriell-Wandler, der gleiche mit dem ich das Nextion programmiere.
    Am Raspi ist sonst nicht's zu machen, da der Wandler als ttyUSB0 gleich erkannt wird.
    Nur die Dateien einfügen und das Nextion programmieren.
    Ohne Änderung der AbstractBaseClass.py, funktionieren bei mir die Eingänge vom piface nicht, die Ausgänge (blinking_led) funktionieren.

  • Ohne Änderung der AbstractBaseClass.py, funktionieren bei mir die Eingänge vom piface nicht, die Ausgänge (blinking_led) funktionieren.

    Was hast du da geändert ?



    Am Raspi ist sonst nicht's zu machen, da der Wandler als ttyUSB0 gleich erkannt wird.

    Wo sieht man das ?



    Fazit:
    Habe diesen USB seriell-wandler über ebay gekauft:



    Am win7 PC musste ich einen Treiber installieren, damit das Gerät korrekt erkannt wurde.
    Dann im Editor eine View erstellt und mit diesem Teil auf das display übertragen. Hat wunderbar geklappt.



    Fazit:


    Schau mal Post 15 in diesem Thread. Wenn Du 2 UART brauchst kannst Du auch ein USB Adapter nehmen.

    Das hab ich auch probiert. Klappt nicht.



    Hat jemand noch ne Idee, woran das liegen könnte.


    mfg

  • Stecke den Wandler in den RPI und schaue unter /dev, ob du ein Device ttyUSB0 hast.
    Hier vor und nach dem einstecken :

    Code
    walter@raspberrypi:~ $ ls /dev/ttyU*
    ls: Zugriff auf /dev/ttyU* nicht möglich: Datei oder Verzeichnis nicht gefunden
    walter@raspberrypi:~ $ ls /dev/ttyU*
    /dev/ttyUSB0
    walter@raspberrypi:~ $


    Die AbstractBaseClass.py habe ich dir in der Antwort 44 als Download zur Verfügung gestellt.


    Edit:Dein Wandler habe ich hier auch rumliegen, er wird als ttyUSB0 erkannt.


    EditEdit: try except in die AbstractBaseClass.py eingefügt.


    Gruß
    Wal


    Kaum macht man es richtig, funktioniert es auch !

    2 Mal editiert, zuletzt von Wal () aus folgendem Grund: Wandler vorhanden

  • Habe deine "abstract .. py" ausgetauscht in dem Ordner "/user/local/lib/python2.7/dist-packages/doorpi/keyboard"


    Danach neu gestartet.


    Mit "ls /dev/ttyU*" überprüft ob Anschluss funktioniert hat.
    Meldung: /dev/ttyUSB0
    Also klappt.


    Problem:
    Alle Tasten auf dem piface funktionieren nicht.
    Meine angeschlossenen Taster gehen ebenfalls nicht.


    Es sieht als Laie so aus, als ob sich der raspi aufgehängt hat.


    Fazit:
    klappt so nicht.

  • So,
    jetzt hab ich alles wieder rückgängig gemacht.


    Also wieder die "abstract" kopiert
    Nextion vom raspi abgezogen.


    Neu gestartet.


    jetzt geht gar nichts mehr.


    Alles Tasten / Taster gehen nicht.



    Ich mach erstmal Pause.
    Hab jetzt keine Lust mehr.


    Man holt sich hierbei nur den Frust (liegt aber an mir; weil ich mich nicht auskenne ;)


    mfg

  • Hallo,


    eigentlich wollte ich das zum gegenwärtigen Zeitpunkt noch nicht veröffentlichen, aber hier ein par Codezeilen um das Nextion zu lesen (und zum schreiben):



    Das ist alles ohne Gewähr und so zu benutzen wie es ist! :)


    Das Script ließt den Serial Port aus. Wenn das Nextion mehrere Befehle hintereinander sendet stehen die in einer Zeile. Das Zerlegen übernimmt die Funktion nextion_trim. Die einzelnen Blöcke werden dann von nextion_decode ausgewertet. Derzeit aber nur zwei Events. Das kann aber leicht ausgebaut werden.


    Die nextion_write Geschichte hat auch noch Luft nach oben :)


    Du solltest das Display auf jeden Fall vorher am PC anschließen und mit dem Editor programmieren und testen. Dann wird einiges leichter Verständlich.

  • Hallo AndyGr,


    habe alles neu installiert auf der SD.


    Tasten und piface gehen wieder.


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


    Sobald ich nun in die doorpi.ini bei keyboard "nextion = nextion" und den Raspi neu starte habe ich wieder das gleiche Problem.


    Nichts geht mehr.
    Habe dann mal eine trace erzeugt (im Anhang).


    Vielleicht könnt ihr damit was anfangen.


    Bis dahin.


    mfg


    tracelog.txt

  • Wenn du den RPI neu startest, kannst du auf der Console "ps -A" eingeben um alle Task's aufzulisten. Steht dort doorpi_cli, ist doorpi schon gestartet. Danach führt ein "sudo doorpi_cli --trace" zu deinem Fehler.
    Um Änderungen durchzuführen, mußt du erst ein "sudo /etc/init.d/doorpi stop" machen, mit "ps -A" kontrollieren ob doorpi wirklich gestoppt ist, danach die Änderungen machen, jetzt kannst du mit "sudo doorpi_cli --trace" doorpi neu starten.