[BeoCreate Noise/Knacken Fix] GPIO access possible via Max2Play?

Max2Play Home Forums SD-Card Imaging and getting started [BeoCreate Noise/Knacken Fix] GPIO access possible via Max2Play?

Viewing 8 posts - 1 through 8 (of 8 total)
  • 10. März 2018 at 19:14 #34310

    Hello,

    is there a possibility to let a GPIO-command be executed directly at startup via Max2Play? If so, how can this be done?
    I am an absolute programming-noob, so please excuse if this is a dumb question…

    The commands i need to be executed are:

    gpio mode 2 out
    gpio write 2 0

    Thank you and with best regards,

    Marc

    13. März 2018 at 19:29 #34407

    Anyone out there? 😉

    15. März 2018 at 10:49 #34438

    Hi Marc,

    Sorry about the late response. This is a difficult question as there are multiple routes to go and if you are a programming noob, all have their challenges.

    Max2Play is based on Raspbian and since this request is not connected to any Max2Play Plugins or features, you should have quicker success checking out stack exchanges on what you want to achieve.

    This should steer you in the right direction

    You can use our Remote Control Plugin for SSH access

    27. März 2018 at 10:33 #34796

    edit:
    @Admin oder Mod:
    Evtl kann jemand den Titel dieses Threads noch erweitern und mit „Knacken von Beocreate unter Max2Play beheben“ ergänzen? Dann findet man das evtl leichter.

    Sooohoo… Geschafft. Weil es sonst etwas aufwendig wird, antworte ich mal auf deutsch.
    Hier was ich gemacht habe:

    Beim Beocreate gab es in der Beta das Problem, dass die Lautsprecher beim Einschalten auf maximaler Lautstärke zwei Mal laut geknackt haben. Und ich meinte, wirklich laut, die Amplitude des Lautsprechers war auch enorm. Die Lösung dazu war, den Mute-Pin gebrückt lassen und einfach NACH dem Booten per GPIO das Mute abzuschalten.
    So kann man das Kacken umgehen.

    Um das auch mit Max2Play zu erreichen habe ich hier nach dem GPIO gefragt. So, gemacht habe ich jetzt folgendes (vielleicht für andere Linux-Noobs wie mich interessant):

    Max2Play mit Fernseher, Maus und Tastatur angeschlossen booten lassen.

    Dann habe ich per Klick ganz links unten und dann unter „Systemwerkzeuge“ das Root-Terminal gestartet.
    Beim ersten Öffnen pro Session muss man hier das Admin-Passwort eingeben: max2play

    In der dann gestarteten Konsole habe ich „sudo mc“ eingegeben um den Midnight-Commander mit Admin-Rechten zu starten. Die benötigt man um die entsprechende Datei zu ändern.

    Es öffnet sich der Midnight-Commander (Total-Commander-Klon). Dort klickt man zwei mal doppelt auf die beiden Punkte ganz oben um in der Verzeichnisstruktur nach oben zu springen. Hier findet man dann das Verzeichnis „/etc“, in das man wiederum per Doppelklick kommt.
    Dort gibt es eine Datei „rc.local“, diese ist mit einem Stern vor dem Dateinamen und in gelber Schrift hervorgehoben.

    Diese markiert man durch einmaligen Klick, dann unten im Menü auf „Bearbeiten“ klicken.

    In der geöffneten Datei kann man dann ganz unten, aber ÜBER der der Zeile „exit 0“ folgende Dinge eintragen:

    #Set Mutepin to disabled after boot
    gpio mode 2 out
    gpio write 2 0

    Die erste Zeile ist nur ein Kommentar, der vom System nicht beachtet wird. Aber so weiß man auch in ein paar Jahren mal noch, was man da eingetragen hat 😉
    Die nächsten beiden Zeilen sorgen dafür, dass das durch den Jumper gesetzte Mute-Signal aufgehoben wird.

    So, nun drückt man STRG+O (Buchstabe O, nicht null) um die Änderungen zu speichern.
    Man wird nach dem Dateinamen gefragt, hier aufpassen, dass tatsächlich „/etc/rc.local“ dran steht und nicht zB „/etc/rc.local.save“.
    Mit Enter bestätigen.

    Das wars schon.
    Beim nächsten Start wird am Ende auch die Datei rc.local ausgeführt, und diese schreibt dann die Änderungen auf die Mute-Pins, sodaß der gesetzte Jumper auf den Mute-Pins aufgehoben wird und man auch Sound abspielen kann.
    Diese Deaktivierung des Jumpers findet aber so spät statt, dass das Knacken der Lautsprecher beim Einschalten schon vorbei ist.

    Dieses „Problem“ entsteht natürlich nur, wenn man das Beocreate mit Max2Play betreibt, in seinem eigenen Image ist dieser Befehl schon berücksichtigt.

    Evtl hilft das ja mal einem anderen Linux-Noob, der das Beocreate-Board mit Max2Play betreiben möchte und sich am Knacken beim Start stört.

    editedit:
    Es geht auch ohne Tastatur, TV und Maus am Raspberry direkt:
    Den Midnight-Commander kann man auch in dem Remote Control-Plugin auf dem Max2Play.Interface (http://max2play) starten, habe ich gerade gesehen.
    Einfach das „Remote Control Plugin“ installieren, starten, auf Fullscreen umstellen und dort „sudo mc“ eingeben.
    Man muss dann zwar per Tastatur navigieren, aber das geht auch gut. (im MC ist der Befehl „Bearbeiten“ die Taste F4)

    • This reply was modified 6 years ago by Spartan117.
    • This reply was modified 6 years ago by Spartan117.
    • This reply was modified 6 years ago by Spartan117.
    29. März 2018 at 18:37 #34907

    Gnaaaaa…
    FAST perfekt.
    Von vielleicht 15 Starts bisher ist es bei zwei davon noch passiert, dass nach 2-3min doch noch ein Knacken aufgetreten ist.
    Kennt jemand einen Befehl/eine Möglichkeit, wie ich die beiden Befehle in der Datei rc.local zeitlich noch etwas verzögern könnte?

    Da es nur ab und zu auftritt muss es ja fast um wenige Sekunden gehen, die mir bereits weiterhelfen sollten, meine ich.

    Jemand eine Idee?

    6. Mai 2018 at 22:19 #35525

    Hi guys,
    I have the same problem. Adding the gpio commands in rc.local does not avoid the annoying noise.
    I’m a Linux noob but plan is to implement the idea of Spartan117. I tried to delay the execution of the gpio commands like this:
    – I created a new script /etc/MuteDisable which contains

      #!/bin/sh
      # shell script to disable mute
      sleep 10
      gpio mode 2 out
      gpio write 2 0

    – I tried executing the script directly from the command line and it works (after 10 seconds the sound it turned on)
    – In /etc/rc.local I added the line (before exit 0 😉 )
    /etc/MuteDisable
    But this does not seem to work.
    Since I am noob I think the problem is caused by this incorrect line.

    Can anybody help me?

    Edit 7 May 2018: I found the mistake. I did not grant execution rights for the script. 🙁
    chmod 755 /etc/MuteDisable
    did the job. Now it works fine!

    Cheers MaxAy

    • This reply was modified 5 years, 11 months ago by MaxAy.
    • This reply was modified 5 years, 11 months ago by MaxAy.
    7. Mai 2018 at 10:41 #35533

    Why don’t you just add your commands directly in the rc-local-file instead of a new script-file?

    7. Mai 2018 at 17:49 #35561

    Hi Spartan117,
    yes you’re right I could have done that but I might re-use the called script.
    Anyway thanks you for your suggestion.

Viewing 8 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic.

Register here