Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Tree [51400e] master /
History



File Date Author Commit
blinkoncommand 2010-07-12 oostendo oostendo [51400e] make it stop blinking after a parameterized num...
README.markdown 2010-06-28 oostendo oostendo [aae7de] add project description to readme
hudson_serial.py 2010-06-28 oostendo oostendo [81038a] initial checkin

Read Me

The Hudson Lamp project is a quick and dirty way to add a physical dimension to the hudson test suite. It uses Hudson's RSS feed, an arduino, and a sparkfun relay kit to blink a red globe lamp when tests have failed.

About Hudson

Equipment:

  • Sparkfun relay control kit
  • Globe Ceiling Fixture
  • Red 25 watt light bulb
  • 2 AC cables, cut to length
  • Two or three prong outlet
  • standard nail mount electric box
  • Arduino Decimilia (or compatable)
  • A mac or linux computer you can leave plugged in near the arduino.

Instructions

There are a number of ways of doing this, I opted to convert the globe ceiling fixture into a wall lamp since it matches hudson's red light graphic. You should have some working knowledge of arduino and basic wiring skill.

  • Step 1: Create an arduino-controllable relay box. The definitive instructable outlines the process fairly well, but you may want to save some time and use a product like the Power Tail

  • Step 2: Program your arduino with the "blink" example, and connect the relay box to Pwr, Gnd, and Ctrl -> pin 13. Connect a lamp or other AC powered device and it should blink.

  • Step 3: Mount your lamp, attach it to one of the AC cables, and install a red light. Plug the AC cable into your relay box.

  • Step 4: Check out the git repo, and install the blinkoncommand.pde firmware on your arduino. Move the control pin from 13 to 12 (13 carries TX/RX so it gets some noise if you're communicating on serial all the time). You should be able to open the serial console and send "1" and "0" to control the blinking state.

  • Step 5: easy_install pyserial and feedparser, and edit hudson_serial.py with your appropriate feed data and serial port location. The easiest way to get your serial is to copy paste from "ls /dev/tty.usb*". You can test the script either by breaking some tests, or by changing the "entries" offset to a previous test run that failed.

  • Step 6: Schedule hudson_serial.py to run every few minutes.