Shutdown scripts for moOde Audio


The default SSH user name is pi, password moodeaudio


The rest of the instructions are the same as for Raspbian, moOde audio is based on Raspbian.

  • Key in :
    cd /etc
    sudo nano rc.local
  • Copy and paste the following into the nano editor window, just above the last line (before the line exit 0)
    (/etc/irswitch.sh)&
  • Press ctrl+x to exit the editor, y to confirm, enter to save the file
  • Key in
    sudo nano irswitch.sh
  • Copy and paste the following text into the editor window
    #!/bin/bash
    # this is the GPIO pin receiving the shut-down signal
    GPIOpin1=14
    echo "$GPIOpin1" > /sys/class/gpio/export
    echo "in" > /sys/class/gpio/gpio$GPIOpin1/direction
    while true; do
      sleep 1
      power=$(cat /sys/class/gpio/gpio$GPIOpin1/value)
      if [ $power != 0 ]; then
        echo "out" > /sys/class/gpio/gpio$GPIOpin1/direction
        echo "1" > /sys/class/gpio/gpio$GPIOpin1/value
        sleep 3
        sudo shutdown -h now
      fi
    done
  • Press ctrl+x to exit, y to confirm, enter to save the file
  • Key in
    sudo chmod +x irswitch.sh

The following additional script enables the RemotePi Board to cut off the power, after moOde audio has been shut down from the on-screen menu.

  • Key in
  • sudo nano /etc/shutdown.sh
  • Copy and paste the following contents
  • #!/bin/bash
    REBOOT_GREP=$(systemctl list-units --type=target | grep reboot)
    SHUTDOWN_GREP=$(systemctl list-units --type=target | grep shutdown)
    if [ "$SHUTDOWN_GREP" ] && [ ! "$REBOOT_GREP" ]; then
      # the condition above makes sure, that the shutdown sequence is not run on reboot 
      GPIOpin=15
      GPIOpin1=14
      echo "$GPIOpin" > /sys/class/gpio/export
      echo "out" > /sys/class/gpio/gpio$GPIOpin/direction
      echo "1" > /sys/class/gpio/gpio$GPIOpin/value
      sleep 0.125
      echo "0" > /sys/class/gpio/gpio$GPIOpin/value
      sleep 0.2
      echo "1" > /sys/class/gpio/gpio$GPIOpin/value
      sleep 0.4
      echo "0" > /sys/class/gpio/gpio$GPIOpin/value
      echo "$GPIOpin1" > /sys/class/gpio/export
      echo "out" > /sys/class/gpio/gpio$GPIOpin1/direction
      echo "1" > /sys/class/gpio/gpio$GPIOpin1/value
      sleep 4
    fi
  • Press ctrl+x to exit, y to confirm, enter to save the file
  • After saving the file, mark it as executable with
    sudo chmod +x /etc/shutdown.sh
  • Key in
  • sudo nano /etc/systemd/system/irswitch2.service
  • Copy and paste the following text into the editor window
    [Unit]
    Description=RemotePi Board Shutdown Service
    Before=multi-user.target
    Conflicts=shutdown.target
    [Service]
    ExecStart=/bin/true
    ExecStop=/etc/shutdown.sh
    Type=oneshot
    RemainAfterExit=yes
    [Install]
    WantedBy=multi-user.target
  • Press ctrl+x to exit, y to confirm, enter to save the file
  • Key in
    sudo systemctl enable irswitch2.service

  • Reboot one time
  • After reboot you can use the RemotePi Board to power cycle moOde audio

 

The above scripts have been tested and are confirmed to work up to moOde audio 4.4. Although not yet tested, they most likely will work with newer versions as well.

This page was last updated 18-May-2019