Raspberry GPIO ansteuerung vom 7" Display

Hallo,
gibt es eine möglichkeit GPIO´s vom Touchdisplay zu steuern?
ich habe 2 Relais angeschlossen die ich gerne angesteuert hätte, ohne alles auf Schalter umbauen zu müssen habe ich gedacht das es vielleicht eine Option gibt, im System Buttons hinzuzufügen die extra für die Raspberry ansteuerung sind?
falls dies möglich ist wäre ich im jede hilfe dankbar.

Comments

  • Meinst wohl beim server auch wenn das hier unter host gepostet ist.
    Ja klar ist möglich. Steht im manual unter advanced configuration. Über eine Datei extcommands.xml kann man externe Skripte aufrufen und das auf Buttons im UI legen. Such im Forum nach extcommands.xml dann findest du dazu auch jede menge zusätzlich.
  • Super danke :smile:

    Aktuell habe ich aber noch ein kleines Problem. Ich weiß nicht ob es sporadisch kommt oder ob es am homing liegt. Und zwar kommt bei mir meistens nach dem homing die Meldung "error printer stopped! Reset printer to continue.
    Im log steht" until you have hit the emergency stop or restart the printer. "
    " printer halted, kill() called!"
    Wir bekomme ich das weg? Liegt das aktuell an der z Asche? Weil X und y homing funktioniert einwandfrei aber die z achse bewegt er kein Stück. Kabel sind überprüft und richtig verdrahtet. Lief auf dem mks robin nano auch. Habe jetzt zum skr 1.4 turbo gewechselt. Die Ansteuerung von octoprint lief ohne Probleme.

    Und was mir aufgefallen ist, sobald ich im Menü auf bewegen druck und den Druckkopf bewegen möchte, fährt er automatisch ohne das ich was gedrückt habe auf z max bis gegen den Rahmen. Habe den Drucker sofort süß geschaltet.

    Bzw wo kann ich mein gpio 16 & 26 auf output setzen? Weil sie jedes mal auf input stehen in meiner raspcontroller app. Das lief vorher auf octoprint auch ohne Änderung.

    Und eine kleine Frage habe ich noch, lässt sich auch ein slash screen einfügen? Ich habe bei der core Version mehrere Anleitung versucht aber ohne Erfolg. Ich hatte vorher ein schönes Boot video

    Ich hoffe das war jetzt nicht allzu viel :wink:

    Aber ich bin in der Materie ein kleiner neu einsteiger, ich war anfangs schon mit marlin leicht am Limit, aber die raspberry settings sprengen den Rahmen, da es einfach weitreichend ist und man ohne kennen de Befehle aufgeschmissen ist.
  • printer halted, kill() called! kommt von der Drucker Firmware. Es war also die Entscheidung des Druckers und muss auch da gelöst werden. Vermute mal einer der tests beim homen hat nicht funktioniert und zur sicherheit hat die Firmware sich selbst deaktiviert.

    >Und was mir aufgefallen ist, sobald ich im Menü auf bewegen druck und den Druckkopf bewegen möchte, fährt er automatisch ohne das ich was gedrückt habe auf z max bis gegen den Rahmen. Habe den Drucker sofort süß geschaltet.

    Welches menü wo? Wir senden Befehle eigentlich erst wenn eine Richtung angeklickt wurde.

    > Bzw wo kann ich mein gpio 16 & 26 auf output setzen? Weil sie jedes mal auf input stehen in meiner raspcontroller app. Das lief vorher auf octoprint auch ohne Änderung.

    Input ist der default zustand weil da am wenigsten passieren kann. Du must einmal die outputs definieren in einem Skript. Vorzugsweise eins das beim hochfahren gestartet wird. In /usr/local/Repetier-Setup/bin gibt es eins, komm grad nur nicht auf den namen.

    > Und eine kleine Frage habe ich noch, lässt sich auch ein slash screen einfügen? Ich habe bei der core Version mehrere Anleitung versucht aber ohne Erfolg. Ich hatte vorher ein schönes Boot video
    /usr/local/Repetier-Setup/templates da gibt es splashscreen.png in den neuen images.
  • Die Bewegung macht er automatisch wenn ich im Hauptmenü auf bewegen tippe (manuelle Steuerung vom Druckkopf)
    Das mit dem splash screen ist als png hinterlegt, kann ich trotzdem ein Video nehmen?
  • Denke nicht das Video geht. Wir nutzen fb zum anzeigen, kannst ja checken was die können. 

    Das mit dem Bewegen kann ich noch nicht nachvollziehen. Bei 800x480 pixel ist der hoch button nach dem wechsel an der gleichen stellen wie der hoch button. Könnte dein Display daraus 2 klicks machen? Eins zur auswahl und eins für hoch.
    Was passiert beispielsweise wenn du im Hauptmenü links bewegen klickst. Ist der identische aufruf nur halt nicht über dem hoch button.
  • Das mit der automatischen Bewegung hat sich jetzt nach einem Neustart alleine repariert.

    Das die z achse nicht läuft, hat sich auch geklärt, Stepper driver hat sich verabschiedet ( keine 24h Stunden Betrieb gehabt.. Tmc 2209 v1.2)

    Was ich die Tage mache

    Gpio auf out setzen
    Splash screen video (wenn möglich) ..meinst du mit fb, fbi?

    Gpio Bedienung über das overlay Menü.

    Ich muss mal schauen ob ich es hin bekomme.
    Wie gesagt ich bin im raspberry ein totaler Noob.
    Wäre super wenn ihr einen Youtube channel hättet, wo man mal Tipps, Tricks und Kniffe lernen kann

    PS. Wenn ich sage Noob, dann meine ich das ich nur Bahnhof verstehe.
    Ich bemühe mich dann mal das die tage zum laufen zu bekommen.
    Danke erstmal für den klasse Support.
  • In /usr/local/Repetier-Setup/bin gibt es ein skript runAtBoot - da kannst du die gpio Befehle für auf out setzen einbauen. Wird als root ausgeführt also keine berechtigungsprobleme. Aber auch user repetierserver der Skripte ausführt gehört zur gruppe gpio und kann die pins setzen. Also einfach skript unter /var/lib/Repetier-Server/scripts packen und in extcommands.xml verlinken dann sollte es klappen.
  • Ach ja fbi hört sich richtig an.
  • Das klingt schon mal gut, mit FBI habe ich das schon zum laufen bekommen gehabt, zwar auf einem anderen OS aber sollte klappen.
    Soweit ich weiß benötigt man dann nur noch den omxplayer, der dann als erstes bootet und das Video anzeigt.
    Danke erstmal für die schnelle und ausführliche Hilfe :)

    Ich denke mal das sich der Wechsel auf repetier host echt gelohnt hat.
  • soweit so gut ich habs geschafft das mir die befehle Mainboard an,Mainboard aus, Licht an und Licht aus angezeigt werden.
    leider sind die buttons noch ohne funktion.

    in "cd /var/lib/Repetier-Server/scripts" hab ich

    #!/bin/bash
    gpio -g mode 16 out
    gpio -g write 16 1


    sudo nano Mainboardoff.sh

    #!/bin/bash
    gpio -g mode 16 out
    gpio -g write 16 0


    sudo nano Lichton.sh

    #!/bin/bash
    gpio -g mode 26 out
    gpio -g write 26 1


    sudo nano Lichtoff.sh

    #!/bin/bash
    gpio -g mode 26 out
    gpio -g write 26 0

    und in cd /var/lib/Repetier-Server/database/extcommands.xml habe ich 

    <command>
            <name>Mainboard EIN</name>
            <execute>bash /var/lib/Repetier-Server/scripts/Mainboardon.sh </execute>
        </command>
        <command>
            <name>Mainboard AUS</name>
            <execute>bash /var/lib/Repetier-Server/scripts/Mainboardoff.sh </execute>
        </command>
    <command>
            <name>Licht Ein</name>
            <execute>bash /var/lib/Repetier-Server/scripts/Lichton.sh </execute>
        </command>
        <command>
            <name>Licht AUS</name>
            <execute>bash /var/lib/Repetier-Server/scripts/Lichtoff.sh </execute>
        </command>
    eingefügt. aber wie gesgagt leider noch ohne funktion. muss ich noch per chmod rechte freigeben oder etwas zusätlich installieren?

    geschaltet werden sollten hoffentlich demnach GPIO 16 und 26.
  • Setz das x bit für deine skripts, also chmod a+x dateiname
    Dann lass bash weg in execute. Oder gib den kompletten pfad /bin/bash in execute an. Lösch noch das letzte Leerzeichen auch wenn ich nicht glaube das es stört.

    Hast du wiring-pi eigentlich installiert:
    sudo apt-get install wiringpi

    ansonsten gibt es die gpio befehle nicht. Werd es im nächsten image automatisch mit beilegen.
  • welche datei muss ich als x bit setzen?
    extcommands.xml sollte ja throretisch durch die anderen befehle schon freigegeben sein oder?
    das leerzeichen habe ich weg gemacht aber bringt keine änderung mit sich.
    wiring pi sagt er 0 installiert 0 erneuert xyz dateien vorhanden...also sollte installiert sein.

    ich habe es mit chmod a+x Lichton versuch wäend ich in cd /var/lib/Repetier-Server/scripts war aber dann bekomme ich das ich keine rechte habe. sudo bringt keine änderung.
    super wäre wenn es im hauptmenü ein dropdown reiter geben würde wo man nur noch eine bezeichnung eingeben muss und seinen gpio auswählen braucht.
    kommen später noch plugins dazu? ich würde mein drucker auch gern wieder fernsteuern können?
  • x bit auf die skripte damit die ausführbar werden.
    ls -l
    zeigt die Dateien mit berechtigungen. Da sollten dann 3 x erscheinen.
    Wenn du die manuell aufrufst sollten sich die pins ändern als erster test.
    >ich habe es mit chmod a+x Lichton versuch wäend ich in cd /var/lib/Repetier-Server/scripts war aber dann bekomme ich das ich keine rechte habe. sudo bringt keine änderung.
    heist das Skript nicht Lichton.sh ? Endungen müssen mit angegeben werden.

    Die Befehle erscheinen im Hauptmenu ode rim Druckermenu wenn du noch slug mit angibst.

    >kommen später noch plugins dazu? ich würde mein drucker auch gern wieder fernsteuern können?
    Server ist doch remote. Was meinst du also damit?
  • Mit den plug-ins meine ich sowas wie ein Ui-customizer (andere buttons, buttons verschieben, Farben einstellen, etc....)
    Oder eine Printoid Anbindung zum fernsteuern des Druckers
    Okay, ich habe es oben Endung versucht. Ich probiere es gleich noch mal mit.
  • edited January 2021
    so jetzt bin ich echt am ende. :'(
    rechte (RWX=lesen schreiben ausführen) habe ich verteilt für die dateien extcommands.xml, Mainboardon.sh, Mainboardoff.sh, Lichton.sh und Lichtoff.sh.

    NICHT vergeben sind die rechte sticky-bit, UID und GID.

    wiringpi(v2.50) ist wie gesagt installiert.


    die datei in /var/lib/Repetier-Server/database/extcommands.xml beinhaltet 

    <config>
    <!--
           If you want to run external commands, enter them in this configuration with
           full path. You will see them in the main menu. Copy this file into the
           <storage>/database directory.

           Security consideration: The reason there is no online editor for this is simply
           security. The commands you enter here are executed with the privileges of the
           daemon running the server. If you would allow online configuration, a hacker could
           simply add any command he needs to hack your system.
        -->
    <command>
    <name>Shutdown Server</name>
    <execute>sudo /sbin/shutdown -h now</execute>
    <confirm>Really shut down the server?</confirm>
    <!-- Define if command should show up in local printer interface, default true.-->
    <local>true</local>
    <!-- Define if command should show up in remote printer interface, default true.-->
    <remote>true</remote>
    <!-- Define if command should show up only for users with print permission, default true.-->
    <print-permission>true</print-permission>
    <!-- Define if command should show up only for users with add files permission, default false.-->
    <add-permission>true</add-permission>
    <!-- Define if command should show up only for users with del files permission, default false.-->
    <del-permission>true</del-permission>
    <!-- Define if command should show up only for users with configuration permission, default false.-->
    <config-permission>true</config-permission>
    </command>
    <command>
    <name>Reboot Server</name>
    <execute>sudo /sbin/shutdown -r now</execute>
    <confirm>Really reboot the server?</confirm>
                    <!-- Define if command should show up in local printer interface, default true.-->
                    <local>true</local>
                    <!-- Define if command should show up in remote printer interface, default true.-->
                    <remote>true</remote>
                    <!-- Define if command should show up only for users with print permission, default true.-->
                    <print-permission>true</print-permission>
                    <!-- Define if command should show up only for users with add files permission, default false.-->
                    <add-permission>true</add-permission>
                    <!-- Define if command should show up only for users with del files permission, default false.-->
                    <del-permission>true</del-permission>
                    <!-- Define if command should show up only for users with configuration permission, default false.-->
                    <config-permission>true</config-permission>
    </command>
    <execute name="shutdown" allowParams="false" sync="false">sudo /sbin/shutdown -h now</execute>
    <execute name="reboot" allowParams="false" sync="false">sudo /sbin/shutdown -r now</execute>
    <command>
            <name>Mainboard EIN</name>
            <execute>/var/lib/Repetier-Server/scripts/Mainboardon.sh</execute>
    <confirm>Mainboard einschaten?</confirm>
        </command>
        <command>
            <name>Mainboard AUS</name>
            <execute>/var/lib/Repetier-Server/scripts/Mainboardoff.sh</execute>
    <confirm>Mainboard ausschaten?</confirm>
        </command>
    <command>
            <name>Licht EIN</name>
            <execute>/var/lib/Repetier-Server/scripts/Lichton.sh</execute>
    <confirm>Licht einschaten?</confirm>
        </command>
        <command>
            <name>Licht AUS</name>
            <execute>/var/lib/Repetier-Server/scripts/Lichtoff.sh</execute>
    <confirm>Licht ausschaten?</confirm>
        </command>
    </config>

    __________________________________________
    /var/lib/Repetier-Server/scripts/
    __________________________________________
    Mainboardon.sh

    #!/bin/bash
    gpio -g mode 16 out
    gpio -g write 16 1


    Mainboardoff.sh

    #!/bin/bash
    gpio -g mode 16 out
    gpio -g write 16 0


    Lichton.sh

    #!/bin/bash
    gpio -g mode 26 out
    gpio -g write 26 1


    Lichtoff.sh

    #!/bin/bash
    gpio -g mode 26 out
    gpio -g write 26 0

    auch wenn es blöd klingt, der bug mit der uhrzeit ist echt nerfig  ;)

    den standartscript habe ich gestrichen.dort sind keine änderungen vorgenommen,ist nur zum überliegen ob ich für das script auch die richtige position gewählt habe.
    falls ich da jetzt noch ein fehler habe würde ich mich über korrektur freuen
  • Du hast nicht gesagt was klappt und was nicht. Funktionieren die Skripte als user pi? Funktionieren sie als user repetierserver?
    sudo -u repetierserver /var/lib/Repetier-Server/scripts/Lichton.sh

    Erscheinen sie in der Oberfläche?
    Gibt es eine meldung in /var/lib/Repetier-Server/logs/server.log?

    Die rechte scheinen korrekt von der Beschreibung aber zeig mal was
     ls -l  /var/lib/Repetier-Server/scripts/
    ausgibt, dan kann ich es sicher sagen. Wobei wenn der obige sudo befehl klappt sind sie richtig gesetzt.
  • Ich habe die Lösung gefunden.
    Wiring pi ist mit v 2.50 "veraltet" und benötige ein Update auf Version 2.52

    Ich habe das hier durchgeführt und jetzt funktioniert es einwandfrei


    cd /tmp
    wget https://project-downloads.drogon.net/wiringpi-latest.deb

    sudo dpkg -i wiringpi-latest.deb


    Danke für euch gute Hilfe, ich wünsche einen schönen Start Richtung Wochenende
  • Danke. Hab fürs nächste image jetzt auch die neueste Version genutzt. Erklärt vielleicht warum einige mit pi 4 probleme hatten.
Sign In or Register to comment.