eastein / chatlight

Analyze an IRC chatroom and light up a representative light sculpture
6 stars 1 forks source link

What's This?

This is an IRC bot that analyzes traffic on a channel and uses it to output to a light art installation to physically and visually bridge the gap between the virtual world and the physical one.

Dependencies

Programs

chatlight

This program connects to an IRC channel, analyzes by keywords, and produces json messages over a ZeroMQ PUB socket (bound) that describe the state of the channel and related events.

watch_reports

The watch_reports program connects to the ZeroMQ PUB socket that chatlight publishes on and converts the json messages to instructions for running the 2 blink counters for each light on the physical sculpture. These instructions are sent over serial in a binary checksummed format to the arduino.

chatlight (arduino)

The arduino sketch listens on the serial input and also operates the blinkers. It defaults to a "scan" that makes a red light move back and forth along the top (to show that it has not got instructions yet).

Example

These both run in parallel.

./watch_reports tcp://127.0.0.1:23000
./chatlight irc.example.org nick34231 \#channel tcp://0.0.0.0:23000

TODO

  • usage for both programs

Tests

To run unit tests, use:

nosetests -vv tests