beakn v0.3 : DIY Lync Status Light with a RaspberryPi, .NET, Mono and MQTT
I’m continuing to build out “beakn” my DIY Lync Status light. This is what I’m calling a “maker experience” project. I want to know what a maker goes through to build things so I’m building it with as many different platforms as possible. I’ve built it with Arduino and Netduino. Version 0.1 brought us a USB connected light. Version 0.2 introduced Ethernet and MQTT. Version 0.3 includes the following:
- RaspberryPi running a .NET Console app via Mono
- Upgraded my breadboard to a custom shield.
Up until a few days ago I didn’t realize (or it didn’t click) that we could run .NET applications on RaspberryPi. I’ve heard about Mono, but haven’t really have a chance to play with it enough for it to sink in. MS Open Tech released ConnectTheDots.io (a site to help people get up and going with IoT devices and Azure) this week and in that they have a RaspberryPiGateway – which uses a .NET console app and Mono. I saw that. It clicked – and of course I had to give it a try for beakn, which led to this post.
I just did a post on “How to run .NET on RaspberryPi with Mono”, so start there to see how things work and then come back to build the beakn. I also recommend that you read through the v0.1 and v0.2 posts before moving on so you can see how we got to this point.
The “beakn” has three main components
1. A Windows desktop application that sends messages to an MQTT broker when your Lync status changes
2. An MQTT broker to receive the Lync status messages
3. A hardware app that responds to MQTT messages and sets the right LED. Red=Busy, Yellow=Away, Green=Free
#1 and #2 above have changed very little with this version and #3 is now a RaspberryPi instead of an Arduino or Netduino.
Here’s how to get v0.3 setup on your own.
Step 0: Get the beakn Hardware setup
1. Ping Pong Ball
2. Cardboard box
3. Breadboard or protoboard. I’m now using a protoboard instead of breadboard. Mainly because I was taking this thing apart so many times and it was become a pain to get everything setup each time.
4. RaspberryPi Model B or any model with Ethernet
5. 3 10mm LEDs
6. Some Jumper wires. Number of wires depends on how you build.
7. 220ohm resistor
Everything (except the RaspberryPi is the same as v0.2 so please read through that first.
Connect the LEDs like so:
Board Pin 12: Red
Board Pin 16: Yellow
Board Pin 18: Green
Put a 220ohm resistor on the cathode. See photos and circuit diagram for possible setup.