Skip to content
Aqueous edited this page Feb 23, 2012 · 0 revisions

#Device Simulator Project

Rationale

This project is a step forward to enable local testing of roomtrol-daemon. In short, the project is to write a program in Ruby that simulates the behavior of a projector communicating with roomtrol-daemon on a serial device terminal such as /dev/ttys1.

This project will run as a separate process external from roomtrol-daemon. It will setup a pseudo terminal whose slave roomtrol-daemon will connect to. Thus it will simulate the projector that roomtrol-daemon normally connects to on that given terminal.

To Start
-----
Understand Linux devices
Understand Linux terminals and pseudo terminals and difference between the two
Play with minicom to see how roomtrol-daemon interacts with devices.
http://linux.die.net/man/4/ptmx


Example usage:

$ ./simulator --device_class EpsonProjector

  Slave is on: /dev/pts/5
  Master is on: /dev/ptmx/7
  Slave: PWR=ON
  Master: OK
  Slave: PWR?
  Master PWR=01

*Note: this may not be what an actual conversation looks like


Deadline
----
April 15, 2012 at noon