Skip to content
Evan Carmi edited this page Feb 23, 2012 · 15 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