Ruby EventMachine 串行连接到 arduino?
Ruby EventMachine serial connection to arduino?
我有一个 Ruby 应用程序,它通过 USB(一种 Arduino,非 firmata 类型)连接到串行设备。
我正在探索将 EventMachine 用于非阻塞双向的可能性 I/O 但找不到任何示例。 EvenMachine 支持串行连接吗?我们目前正在使用我们自己的非阻塞 IO 框架,我不想重新发明轮子。
目前,所有控制都是通过串行端口 gem 通过串行对象完成的。我相信它是 Ruby.
中 IO Class 的子类
require 'eventmachine'
class Sender < EventMachine::Connection
def receive_data(data)
puts "Just got: #{data}"
end
def unbind
puts "Disconnected! Did you unplug the device?"
EM.stop
end
end
EM.run do
serial = SerialPort.new '/dev/ttyACM0'
# We can do polling here to give the thread a chance to send outbound msgs.
EventMachine::PeriodicTimer.new(2) { serial.puts "Hello!" }
EM.attach serial, Sender
end
我有一个 Ruby 应用程序,它通过 USB(一种 Arduino,非 firmata 类型)连接到串行设备。
我正在探索将 EventMachine 用于非阻塞双向的可能性 I/O 但找不到任何示例。 EvenMachine 支持串行连接吗?我们目前正在使用我们自己的非阻塞 IO 框架,我不想重新发明轮子。
目前,所有控制都是通过串行端口 gem 通过串行对象完成的。我相信它是 Ruby.
中 IO Class 的子类require 'eventmachine'
class Sender < EventMachine::Connection
def receive_data(data)
puts "Just got: #{data}"
end
def unbind
puts "Disconnected! Did you unplug the device?"
EM.stop
end
end
EM.run do
serial = SerialPort.new '/dev/ttyACM0'
# We can do polling here to give the thread a chance to send outbound msgs.
EventMachine::PeriodicTimer.new(2) { serial.puts "Hello!" }
EM.attach serial, Sender
end