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
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.
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:in
export' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:34:inpin_input' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/pin.rb:58:in
initialize' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper.rb:15:innew' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper.rb:15:in
block in watch' /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:65:inwrite': 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:in
export' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:34:inpin_input' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/pin.rb:58:in
initialize' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper.rb:15:innew' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper.rb:15:in
block in watch' /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:65:inwrite': 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:in
export' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/bcm2835.rb:34:inpin_input' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper/pin.rb:58:in
initialize' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper.rb:15:innew' from /usr/lib/ruby/gems/1.9.1/gems/pi_piper-2.0.0/lib/pi_piper.rb:15:in
block 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