Event framework?

I dabble in home automation and am looking for a framework that would
allow me to monitor and react to serial port events. I’m a long-time
Perl user and if anyone is familiar with POE, that’s the type of
framework I’m looking for (an Inversion-of-Control framework where I
have agents running in separate threads monitoring serial ports,
triggering events in the main code). I’ve perused RAA and seen a few
possibilities, but don’t see anything recently maintained. Is there a
good match for the type of thing I’m looking to do?

There are several new home automation technologies available now and
they don’t yet have serial drivers, so I figure it would be a good time
to attempt the switch to Ruby. Besides, I’m moving to Ruby, VA next
month, so I figure I’d better start learning the language! :slight_smile:

  • Mark.

Mark T. [email protected] wrote:

they don’t yet have serial drivers, so I figure it would be a good
time to attempt the switch to Ruby. Besides, I’m moving to Ruby, VA
next month, so I figure I’d better start learning the language! :slight_smile:

  • Mark.

IIRC there was a discussion about this recently. You might find it by
searching the archives at
http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml

Kind regards

robert

Robert K. wrote:

There are several new home automation technologies available now and
they don’t yet have serial drivers, so I figure it would be a good
time to attempt the switch to Ruby. Besides, I’m moving to Ruby, VA
next month, so I figure I’d better start learning the language! :slight_smile:

  • Mark.

IIRC there was a discussion about this recently. You might find it by
searching the archives at
http://blade.nagaokaut.ac.jp/ruby/ruby-talk/index.shtml

From this, I have gleaned the following:

  • Ruby/Event is now dead.
  • IO::Reactor has been stuck at 0.0.6 since 2003 (effectively dead)
  • event-loop looks promising.
  • there are a few others, mostly in alpha stages, that focus on file
    descriptors
  • I have asked a similar question before (Sorry, forgot!) but
    event-loop wasn’t announced at that time.

I think I’ll try out event-loop.

Thanks,

  • Mark.

Yes, I considered Twisted. But it evidently has a VERY steep learning
curve; many experienced Python people are put off by it. If I had to
resort to a non-Ruby solution I’d use POE, but really I’d like to find
a Ruby solution.

Thanks,

  • Mark.

Il 2006-01-03, Mark T. [email protected] ha scritto:

they don’t yet have serial drivers, so I figure it would be a good time
to attempt the switch to Ruby. Besides, I’m moving to Ruby, VA next
month, so I figure I’d better start learning the language! :slight_smile:

If you don’t complain about the language Python community has Twisted
Matrix

Mark T. wrote:

Yes, I considered Twisted. But it evidently has a VERY steep learning
curve; many experienced Python people are put off by it. If I had to
resort to a non-Ruby solution I’d use POE, but really I’d like to find
a Ruby solution.

Thanks,

  • Mark.

There’s another wa;y to register callbacks etc which i haven’t tried
http://phrogz.net/RubyLibs/rdoc/classes/EventTarget.html

also, have you looked at the new Oreilly Twisted book. It has a nice
cookbook-y feel to setting up clients and servers for existing
protocols, rather than rolling your own, altho Amazon review noted it’s
a slim book and testing gets short shrift.