jwhitehorn / pi_piper

Event driven Raspberry Pi GPIO programming in Ruby
BSD 2-Clause "Simplified" License
694 stars 71 forks source link

Resource Not Available #76

Closed ghost closed 8 years ago

ghost commented 8 years ago

I did this: 'sudo ruby doorcount.rb` and this came out:

/usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:65:in write': Device or resource busy - /sys/class/gpio/export (Errno::EBUSY) from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:65:inexport' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:34:in pin_input' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/pin.rb:58:ininitialize' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper.rb:15:in new' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper.rb:15:inblock in watch' /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:65:in write': Device or resource busy - /sys/class/gpio/export (Errno::EBUSY) from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:65:inexport' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:34:in pin_input' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/pin.rb:58:ininitialize' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper.rb:15:in new' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper.rb:15:inblock in watch' /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:65:in write': Device or resource busy - /sys/class/gpio/export (Errno::EBUSY) from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:65:inexport' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:34:in pin_input' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/pin.rb:58:ininitialize' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper.rb:15:in new' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper.rb:15:inblock in watch'

I am using the latest version of pi_piper and ubidots.

Here is the code I am using:

require 'ubidots'

require 'pi_piper' include PiPiper

savevaluep = 0

@api = Ubidots::ApiClient.new("The Api")

variable = @api.get_variable('The key') while true do watch :pin => 26 do puts'Person Passed' savevaluep = savevaluep + 1 value = variable.save_value(savevaluep) savevaluep = 0 end end

zsyed91 commented 8 years ago

Hey I don't believe sudo ruby xxx.rb works the way you think it does. I suggest trying out rvmsudo instead. That should prevent the stacktrace from happening.

https://rvm.io/integration/sudo

ghost commented 8 years ago

Thank you