Posts

Showing posts with the label Extreme Feedback

Aruino + Servo + Ikea Dekad = Freemometer

Image
After some group success with the Continuous Integration build lights, I wanted an "extreme feedback"  way to graphically show our production traffic either through transaction metrics or through server utilization. People understand gauges and alarms so I wanted to incorporate both of those features into some type of device. The end result is a USB controlled dial gauge with real alarm bells and a single red/green LED status light. The total build cost about $53. It contains a text command console that accepts ASCII strings over the COM port.  The command console extends control over the LED, the servo motor and the bell motor to the connected host.  Hardware Design I know how to do the basic electronics but nice packaging has always been a problem. Ikea came to the rescue here with the $7.00 Dekad alarm clock with a metal case and alarm bells with an external hammer. The case is pretty good size was originally made for their wind up clock. It i...

Talking to a Bluetooth Arduino RGB Lamp from C# for Continuous Integration

I previously posted some C# code that I use to gather build status information in a Continuous Integration environment. No CI environment is complete without the Big Red Build  light. In case I'm using a custom dual RGB LED lamp controlled by an Arduino.  This build light communicates through a SparkFun BlueSmirf Bluetooth adapter in it that appears as a COM port on a Windows PC after pairing. The BlueSmirf talks to the Arduino over it's RX/TX pins making it simple to communicate with on the Arduino using it's Serial libraries.  There are newer versions of the BlueSmirf that appear as HID devices for driverless communication but I still like the simplicity of the COM interface and haven't upgraded yet. The ArduinoRGB.cs  C# class accepts a serial port as a constructor and provides a simple API for turning on the various RGB combinations along with programmable blink rates. The API supports multiple RGB lamps in a single device.  TheArduino Uno has 6 PWM ports,...

Gathering TFS Build Information for Continuous Integration

Image
I've moved to a new .Net based project where we use TFS as our build system.  The project is pretty large with 150 developers and over 65 deployable applications, programs and NuGet packages.  The CI, systems integration and stable branch builds results in over 200 different builds on the TFS server.  I'm mostly interested in the Continuous Integration builds, 65 build,s that I'd like to monitor. I really don't want to manage 65 lights, even though that's an excuse for a new hardware project. In this case I'll treat the 65 builds as if they are a single composite build tied to a single status light.  I'll do the same with each of the branch / target types so that I have 3 sets of 65 builds to monitor. The first step is to write some C# code that talks to TFS to get the status of the builds I'm interested in. Microsoft provides a .Net compatible library for communicating with TFS in the Microsoft.TeamFoundation set of libraries. This provides a s...