-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add sinatra sample #8
Comments
it is not working for me always (sometimes does:)) but mostly i got error: |
thank you for report. I'll check it. |
on Linux OS, dissable nonblocking IO arduino = ArduinoFirmata.connect '/dev/tty.usb-device-name', :nonblock_io => false |
I have been playing around with this gem and have been having trouble with the sinatra script. $:.unshift File.expand_path '../lib', File.dirname(__FILE__)
require 'rubygems'
require 'sinatra'
require 'eventmachine'
require 'arduino_firmata'
arduino = ArduinoFirmata.connect nil, :nonblock_io => true
arduino.pin_mode 13, ArduinoFirmata::OUTPUT
get '/' do
redirect './on'
end
get '/on' do
arduino.digital_write 13, true
"<p><a href='./off'>LED OFF</a></p>"
end
get '/off' do
arduino.digital_write 13, false
"<p><a href='./on'>LED ON</a></p>"
end This is the code I'm currently using, which does end in a sinatra page and supposed connection altough the led doesn't light up when I go to /on. I did remove :eventmachine => true because it was causing an error but I don't think it was even used in this code. I have also tried setting :nonblock_io to false but then the ruby script just gets stuck at this line: And I have gotten blink led to work. Does it have to do with the fact that I dont have a loop or do I need to use a special firmata for the arduino besides standard_firmata? |
The sinatra example it only works if I connect to the arduino each call like: get '/on' do
arduino = ArduinoFirmata.connect
analog = arduino.analog_read(0)
arduino.digital_write 13, ArduinoFirmata::HIGH
"<p>analog : #{analog}</p><p><a href='./off'>LED OFF</a></p>"
end
get '/off' do
arduino = ArduinoFirmata.connect
analog = arduino.analog_read(0)
arduino.digital_write 13, ArduinoFirmata::LOW
"<p>analog : #{analog}</p><p><a href='./on'>LED ON</a></p>"
end which is not correct. |
control arduino via HTTP
The text was updated successfully, but these errors were encountered: