11 December 2013
In short, this system monitors users engaging in video games and takes camera snapshots of their faces during moments of peak excitement.
In shorter, I take your picture when you yell.
This project initially began as an Arduino-based decibel monitor which I was going to leave in my home to capture events of unusual volume and report them to the 2lemetry platform. What a strange trip it's been.
Starting with that original idea, I sought out how to do the basics: use an Arduino to capture volume. I settled on the Arduino Uno and an electret microphone breakout board (thanks, Dia!). After a crash course on Arduino headers, breadboards, and sketch programming (thanks, John!), I had a light blinking in response to loud events in about ninety minutes. (Thanks to Sparkfun user Julian4 for some code assist!)
The next step was to add in an Arduino MQTT client and start sending these events to the 2lemetry platform, for archiving and real-time alerts. However, I skipped that step and tried to think of something interesting I could trigger in response to a loud noise. I'm not sure how I arrived where I did, but I was thinking of the previous night's session of Samurai Gunn, which had just been released. Kyle and I had an absolute BLAST with the game and I remembered we would frequently shout "OH!" when someone died. Lots of quick, exciting moments. I thought it would be amusing to capture these moments in pictures.
How was I to capture these images? There are several options for cameras on Arduino, but I wanted to involve another recent 2lemetry project which used a Raspberry Pi with attached camera to upload photos to the cloud. It also gave me another reason to include MQTT and the 2lemetry platform. Fortunately, we had a Pi sitting around already configured to use the camera and capture images with a Python script. In almost no time at all, I had my Pi subscribed to an MQTT topic and grabbing images from the camera on receiving a message.
Next up was adding an ethernet shield to the Arduino, dropping in the MQTT library, and firing an MQTT message on that topic to trigger the Pi. Totally easy. After adding Nick's MQTT library to the Arduino IDE, all I had to do was open an included example to get going with the ethernet and MQTT libraries.
Lastly, I wrote a two line HTML page on the Pi to display the most recent image captured on disk and set this to refresh on a 1s timer. Tomorrow, I'll likely add something better than timer refresh to get the images up on screen more directly.
The result is fabulous. The Arduino mic fires an event at loud exclamations, clapping, etc. The latency between the Arduino firing an event and the time the Pi takes a picture is imperceptible to the naked eye. It looks like the Pi is getting a local hardware interrupt and NOT an entire round trip message to the 2lemetry cloud.
I'll be deploying this system for the first time on Friday at the 2lemetry holiday party. There will be a PC running Samurai Gunn with four controllers to capture those "OH" moments. I can't wait to share the results on Saturday!
Pics of the hardware used-
15 August 2013
13 August 2013
I am nearly overwhelmed at the number of people I know who are now attending Gen Con. KYLE, Tim, Amber, Rob L, Andy, Chris C, Kate, Chris H, Loren, and Clint! WHAT.
Games to bring:
- Dungeon Roll
- Netrunner (duh)
- Get Bit
- Love Letter
- Light Speed
- Paint the Line
03 June 2013
A year ago, I'd have told you I don't understand the point of "getting lost." What I mean by that is the mentality of letting go of control and seeing where things lead.
I've been sampling this concept for a couple months now and I must say this robo-heart of mine is seeing stuff in a new light. There's a lot of cool shit out there just waiting to be found.
With respect to the events of tonight's episode, I'll never forget where I was, what I was doing, or how I felt when I read that part of the book. That was two years ago. It remains the most horrific thing I've ever read in fiction.
Tonight, I had a blanket pulled up to my face and Hannah said I started to hyperventilate right before it went down.
Since I started the books after the first season aired, I now have two memories of that event with those same actors. It's strange. Both will haunt me, but the filmed scene will never be as memorable as the book.
03 May 2013
Huzzah! I will be attending the 2013 Android: Netrunner World Championships this fall. Big thanks to Petrie's Family Games, Matt, and Tobin for all of their contributions to the Colorado Regionals event.
Data Raven on R&D/HQ is great at inhibiting the runner... until they decide tags are meaningless and make several runs in a row to find something. Had a minor freak out when I realized I was no longer defended at a critical moment. Runner was about to lose and made 2 runs on R&D to try and find the game-winning agenda, completely disregarding all the text on Data Raven. Lesson learned- DR is great solo defense on R&D against Criminal, but needs an ETR or damage-inflicting Ice to support it later.
My economy-attacking Criminal deck makes use of Cortez Chip, an underplayed card IMO. This card scales in usefulness as the level of competition increases. The more skilled the Corp player, the more often I see that player have exactly the amount of credits they need for their plans. A sudden Cortez Chip can devastate such plans. Used in combination with Forged Activation Orders, a critical piece of Ice can be trashed, opening the way for Gabe.
My NBN Fast Advance deck fell apart when experiencing an agenda drought. Early game, I'm usually ready to start scoring some agendas, but when the deck shuffle yields a drought, I have to find some kind of plan B to keep the runner busy. The worst games for my NBN left me making money while the runner setup his rig. Getting a steady stream of agendas (maybe 1 every 4-5 draws?) is critical to keep the runner pressured. Have to think about how to tweak that deck to keep the runner busy when I'm not scoring agendas right away.