RSS

Nerding Out….

08 Apr

Ever since Erin and I bought our kegerator, we’ve had a chalkboard to show what was on tap. The board we had was poor quality, as it didn’t take the chalk very well.  To be honest it got tiresome to nicely draw up the names of the beers.  I’d occasionally get lazy and just write the names in a rather messy fashion.

For a while we talked about getting a better chalkboard, but then two things inspired me to go a different route.  One was the electronic board at our favorite local brewshop, Hoptron Brewtique. They had a programmer write up some code that connected to their point of sale system, and using a large screen TV, displayed not only what was on tap, but also (based on data from the POS system) approximately how much beer was left in the keg. A pretty awesome idea.

The second inspiration was the tap list that was created using the Raspberry Pi mini-computer. This was made by a programmer for his home brewery. Now, Hoptron is a business that put quite a bit of money into their setup. But this was done by someone at home on a low budget. If they could do it, why couldn’t I?

It dawned on me that I could and (more importantly) should make something similar. I had an old PC that we were planning to get rid of, and a 19 inch flat panel monitor that we had no use for. I was going to use both to build my own electronic tap board!

Now, I’m a web developer by trade.  I’ve never built a desktop application before. I also didn’t want to go nuts building a complex back-end database (which would require installing Apache or IIS.)  Like I said before, I am lazy.  I wanted this to be light-weight, easy to build and maintain, and uncomplicated. I decided to go with XML files for the data, and an AJAX front-end…all JavaScript.

I designed my interface, took my recipes and labels, and put them in an XML file.  In a seperate XML file, I added some cool beer quotes and facts that would randomly display in rotation with the taps.  And then wrote the JavaScript code to read and display everything.  The result is an attractive, yet easy to work with display. The only special requirement this has is it must be viewed either in Internet Explorer, or an IE emulator in another browser.  The reason behind this is because most browsers do not allow you to read local XML files as part of their security setup.  So to get around this I had to read the XML files using the old ActiveX controls.

The results work beautifully. The monitor is mounted using a TV wall mount.  When you call the main HTML file, it asks you to set the taps.  This info gets stored in cookies (they expire when you close your browser, much like a session variable), and once you click ‘Update’ you’re off to the races.  I made it so it I can easily add more taps with a few minor code changes.  I set my browser to full screen, and it looks great!

 
Leave a comment

Posted by on April 8, 2013 in Homebrewing

 

Leave a comment