I'm coding on Rpi3 using python3. When trying to run a code, containing a gpiozero
lib - it fails when running on RpiZero, while succeeds on Rpi3.
RpiZero contains gpiozero
lib
Trying to find the reason- I simplified the code into:
#import LocalSwitch
import time
import gpiozero
from signal import pause
#time.sleep(3)
for x in range(10):
print(x)
a = gpiozero.Button(11)
#b = gpiozero.Buzzer(4)
pause()
EDIT 1 OS installed:
Linux rpi2 4.9.59+ #1047 Sun Oct 29 11:47:10 GMT 2017 armv6l GNU/Linux
EDIT 2 - Run as SU
Runs as needed
yields this error:
guy@rpi2:~/Documents/github/Rpi/SmartHome $ python3 tst.py
0
1
2
3
4
5
6
7
8
9
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gpiozero/pins/pi.py", line 71, in pin
pin = self.pins[n]
KeyError: 11
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "tst.py", line 13, in <module>
a = gpiozero.Button(11)
File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 95, in __call__
self = super(GPIOMeta, cls).__call__(*args, **kwargs)
File "/usr/lib/python3/dist-packages/gpiozero/input_devices.py", line 303, in __init__
pin, pull_up, bounce_time, pin_factory=pin_factory
File "/usr/lib/python3/dist-packages/gpiozero/mixins.py", line 338, in __init__
super(HoldMixin, self).__init__(*args, **kwargs)
File "/usr/lib/python3/dist-packages/gpiozero/input_devices.py", line 95, in __init__
pin, pull_up, pin_factory=pin_factory
File "/usr/lib/python3/dist-packages/gpiozero/mixins.py", line 164, in __init__
super(EventsMixin, self).__init__(*args, **kwargs)
File "/usr/lib/python3/dist-packages/gpiozero/input_devices.py", line 46, in __init__
super(InputDevice, self).__init__(pin, pin_factory=pin_factory)
File "/usr/lib/python3/dist-packages/gpiozero/devices.py", line 375, in __init__
pin = self.pin_factory.pin(pin)
File "/usr/lib/python3/dist-packages/gpiozero/pins/pi.py", line 73, in pin
pin = self.pin_class(self, n)
File "/usr/lib/python3/dist-packages/gpiozero/pins/rpigpio.py", line 101, in __init__
GPIO.setup(self.number, GPIO.IN, self.GPIO_PULL_UPS[self._pull])
RuntimeError: No access to /dev/mem. Try running as root!
Any ideas why ??
RuntimeError: No access to /dev/mem. Try running as root!
. Try to run this program as root – bierschi Mar 01 '18 at 07:38