When trying to use GPIO with ruby using various gems (wiringpi, pi_piper, ruby-gpio, rpi_gpio) I get a "Permission Denied" error trying to run a script to control GPIO pins. I am using RVM to manage gemsets and versions, so using sudo will not help me at all. Is there someway to allow communication on the GPIO pins?
(ssh) pi@raspberrypi : ~/ruby/gpio/led_flash
[127] % ./led_flash.rb
/home/pi/.rvm/gems/ruby-1.9.3-p551/gems/ruby-gpio-0.0.2/lib/ruby-gpio.rb:111:in `initialize': Permission denied - /sys/class/gpio/gpio17/direction (Errno::EACCES)
from /home/pi/.rvm/gems/ruby-1.9.3-p551/gems/ruby-gpio-0.0.2/lib/ruby-gpio.rb:111:in `open'
from /home/pi/.rvm/gems/ruby-1.9.3-p551/gems/ruby-gpio-0.0.2/lib/ruby-gpio.rb:111:in `write'
from /home/pi/.rvm/gems/ruby-1.9.3-p551/gems/ruby-gpio-0.0.2/lib/ruby-gpio.rb:27:in `as'
from ./led_flash.rb:6:in `block in <main>'
from /home/pi/.rvm/gems/ruby-1.9.3-p551/gems/ruby-gpio-0.0.2/lib/ruby-gpio.rb:82:in `instance_eval'
from /home/pi/.rvm/gems/ruby-1.9.3-p551/gems/ruby-gpio-0.0.2/lib/ruby-gpio.rb:82:in `access'
from ./led_flash.rb:5:in `<main>'
Script in question
#! /usr/bin/env ruby
require 'ruby-gpio'
GPIO.access(led: 17, button: 18) do
led.as :out
button.as :in
led.off
button.async.watch_once_for(1) do
if led.read == 1
led.off
else
led.on
end
end
sleep
end