OSMC raspDAC overlays gpio-shutdown pin 17 &22

Hi,

I’d been trying to get it working using the python3-gpiozero or python-gpiozero libraries, as there are many tutorials online for this method, but it seems I can’t install either of them using apt-get.

That’s when I found this thread, but I think i need to learn some of the basics of how this overlay method works, as I’ve stumbled into it at this debug stage. How do I install / activate this method?

Only thing I’ve had working when it’s shut down is the processor reset button which wakes it up.

Cheers, Scott

What about:

sudo pip3 install gpiozero

You’ll need the python3-pip package for this.

Well, tonight has been a world of pain of dependencies etc… and still I have failed.

Thanks @dillthedog for the tip about pip, that is where I needed to go.

In progressing down this route, I found the following:

gpiozero relies on RPi-GPIO.

RPi-GPIO relies on wheel, and once wheel is installed, still fails to install PRi-GPIO on the next dependency:

  • unable to execute ‘arm-linux-gnueabihf-gcc’: No such file or directory

I then find I can’t just install arm-linux-gnueabihf-gcc either without a million other dependencies.

There’s got to be a better way, this has been a horrid experience.

All the systemd stuff of calling the python script with a unit file was straightforward, and seemed to want to work, but can’t as RPi-GPIO can’t easily be installed.

I even installed python-dev and setuptools as another shot in the dark, but still no joy.

osmc@osmc:~$ sudo pip install RPi.GPIO
Collecting RPi.GPIO
  Using cached https://files.pythonhosted.org/packages/af/2f/407b6e4cc8a0bdf434825a160bba1807991886b63cce16a5f1a6e1f24cdf/RPi.GPIO-0.6.5.tar.gz
Building wheels for collected packages: RPi.GPIO
  Running setup.py bdist_wheel for RPi.GPIO ... error
  Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-J014FR/RPi.GPIO/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpa0132xpip-wheel- --python-tag cp27:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-armv6l-2.7
  creating build/lib.linux-armv6l-2.7/RPi
  copying RPi/__init__.py -> build/lib.linux-armv6l-2.7/RPi
  creating build/lib.linux-armv6l-2.7/RPi/GPIO
  copying RPi/GPIO/__init__.py -> build/lib.linux-armv6l-2.7/RPi/GPIO
  running build_ext
  building 'RPi._GPIO' extension
  creating build/temp.linux-armv6l-2.7
  creating build/temp.linux-armv6l-2.7/source
  arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-Ub3vap/python2.7-2.7.13=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c source/py_gpio.c -o build/temp.linux-armv6l-2.7/source/py_gpio.o
  unable to execute 'arm-linux-gnueabihf-gcc': No such file or directory
  error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
  
  ----------------------------------------
  Failed building wheel for RPi.GPIO
  Running setup.py clean for RPi.GPIO
Failed to build RPi.GPIO
Installing collected packages: RPi.GPIO
  Running setup.py install for RPi.GPIO ... error
    Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-J014FR/RPi.GPIO/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-4xuK6b-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-armv6l-2.7
    creating build/lib.linux-armv6l-2.7/RPi
    copying RPi/__init__.py -> build/lib.linux-armv6l-2.7/RPi
    creating build/lib.linux-armv6l-2.7/RPi/GPIO
    copying RPi/GPIO/__init__.py -> build/lib.linux-armv6l-2.7/RPi/GPIO
    running build_ext
    building 'RPi._GPIO' extension
    creating build/temp.linux-armv6l-2.7
    creating build/temp.linux-armv6l-2.7/source
    arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-Ub3vap/python2.7-2.7.13=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c source/py_gpio.c -o build/temp.linux-armv6l-2.7/source/py_gpio.o
    unable to execute 'arm-linux-gnueabihf-gcc': No such file or directory
    error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
    
    ----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-J014FR/RPi.GPIO/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-4xuK6b-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-J014FR/RPi.GPIO/

Giving up now, as sleep is required, but if @sam_nazarko or @oliv1 have any ideas too, please do suggest them.

I did start making a web page guide on how to do thihs… was just noting down my actions as I went along… had to go back to the top when I ran into the GPIO nonsense, but it may show you the hoops I jumpsed through to get ti close to working before I gave up:
http://scottbouch.com/osmc-gpio-guide.htm

Cheers, Scott.

See GPIO control - need some help - #4 by sam_nazarko

Thanks @sam_nazarko that seemed to work to enable me to use pip to install rpi.gpio.

As it was all in lowercase letters I changed the python script to call in lowercase too, but still it claims:

osmc@osmc:~$ sudo systemctl status power-off-pi.service
* power-off-pi.service - Power Off Pi Service
Loaded: loaded (/lib/systemd/system/power-off-pi.service; enabled; vendor pre
Active: failed (Result: exit-code) since Wed 2019-04-10 06:59:21 BST; 21s ago
Process: 361 ExecStart=/usr/bin/python /home/osmc/power-off-pi.py (code=exited
Main PID: 361 (code=exited, status=1/FAILURE)

Apr 10 06:59:15 osmc systemd[1]: Started Power Off Pi Service.
Apr 10 06:59:21 osmc python[361]: Traceback (most recent call last):
Apr 10 06:59:21 osmc python[361]:   File "/home/osmc/power-off-pi.py", line 7, i
Apr 10 06:59:21 osmc python[361]:     import rpi.gpio as GPIO
Apr 10 06:59:21 osmc python[361]: ImportError: No module named rpi.gpio
Apr 10 06:59:21 osmc systemd[1]: power-off-pi.service: Main process exited, code
Apr 10 06:59:21 osmc systemd[1]: power-off-pi.service: Unit entered failed state
Apr 10 06:59:21 osmc systemd[1]: power-off-pi.service: Failed with result 'exit-
lines 1-14/14 (END)

So I tried it again as RPi.GPIO:

osmc@osmc:~$ sudo systemctl status power-off-pi.service
* power-off-pi.service - Power Off Pi Service
   Loaded: loaded (/lib/systemd/system/power-off-pi.service; enabled; vendor preset: enabl
   Active: failed (Result: exit-code) since Wed 2019-04-10 07:04:12 BST; 2min 0s ago
  Process: 346 ExecStart=/usr/bin/python /home/osmc/power-off-pi.py (code=exited, status=1
 Main PID: 346 (code=exited, status=1/FAILURE)

Apr 10 07:04:11 osmc systemd[1]: Started Power Off Pi Service.
Apr 10 07:04:12 osmc python[346]: Traceback (most recent call last):
Apr 10 07:04:12 osmc python[346]:   File "/home/osmc/power-off-pi.py", line 7, in <module>
Apr 10 07:04:12 osmc python[346]:     import RPi.GPIO as GPIO
Apr 10 07:04:12 osmc python[346]: ImportError: No module named RPi.GPIO
Apr 10 07:04:12 osmc systemd[1]: power-off-pi.service: Main process exited, code=exited, s
Apr 10 07:04:12 osmc systemd[1]: power-off-pi.service: Unit entered failed state.
Apr 10 07:04:12 osmc systemd[1]: power-off-pi.service: Failed with result 'exit-code'.

Such a shame, thought we were so close with that last tip!

The python script is exactly as per here: https://www.instructables.com/id/Simple-Raspberry-Pi-Shutdown-Button/ apart from I’m using GPIO pin BCM 22.

Cheers, Scott.