Arduinoに接続されたセンサー(水分)の1つからの出力をページに表示したいと思います。
次のスクリプトでは、1 秒ごとに値 (数値) が返されます。
require 'dino'
board = Dino::Board.new(Dino::TxRx.new)
sensor = Dino::Components::Sensor.new(pin: 'A0', board: board)
on_data = Proc.new do |data|
puts data
sleep 1
end
sensor.when_data_received(on_data)
sleep
非同期出力を表示するためのSinatra
APIやスクリプトとして使えると思います。Javascript
だから、これはそのようなものでなければなりません
%w(sinatra dino haml).each do |lib|
require lib
end
board = Dino::Board.new(Dino::TxRx.new)
sensor = Dino::Components::Sensor.new(pin: 'A0', board: board)
sleep 1
get '/' do
haml :index
end
get '/moisture' do
on_data = Proc.new do |data|
{ moisture_value: data }
sleep 1
end
sensor.when_data_received(on_data)
end
それをどのように処理すればよいか、ヒントや簡単な良いパターンを教えてください。
恐竜用のサンプル シナトラ アプリを見つけました: https://github.com/austinbv/dino_cannon