Das hier gezeigte erste Testsetup:
- Simuliert von Seiten des Arduinos als Aktio das eventabhängige Absetzen eines Status via Serial.println (statt eines Messwerts ist hier einfach nur ein zeitabhängiger Trigger verbaut).
- Auf Seiten des Rubyscripts als Reaktio eine einfache Quittierung über puts.
Arduino-Script:
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println("a");
delay(5000);
Serial.println("b");
delay(5000);
}
Ruby-Script
#simplest ruby program to read from arduino serial,
#using the SerialPort gem
#(http://rubygems.org/gems/serialport)
require "rubygems"
require "serialport"
#params for serial port
port_str = "/dev/tty.usbmodem411" #may be different for you
baud_rate = 9600
data_bits = 8
stop_bits = 1
parity = SerialPort::NONE
sp = SerialPort.new(port_str, baud_rate, data_bits, stop_bits, parity)
#just read forever
while true do
sp_string = sp.gets
puts sp_string
if sp_string.to_s =~ /a/ then
puts "A empfangen"
elsif sp_string.to_s =~ /b/ then
puts "B empfangen"
end
end
sp.close #see note 1
Keine Kommentare:
Kommentar veröffentlichen