Wednesday, August 27, 2014

Baseball Scoreboard - Update to display Box Scores

Overview

In previous posts (1 2), I discussed having programmed all of the graphical hooks to support real time box scores but had been unable to implement due to a lack of freely available sports feeds.  By leveraging some resources Mike Metral uncovered in building his sports ticker, I was able to finally implement the functionality fully.  (More including video of the finished update after the jump)



Monday, August 18, 2014

Baseball Scoreboard - Start Here

   NOTE:  This is currently my 14th post on the subject of the baseball scoreboard.  Previous posts have covered each component of the scoreboard and what it took to create that part.  This post is intended to introduce the subject with references to the other 13 posts, depending on where your particular interests lie.


Background


    For  almost four years now, I’ve been scoring baseball games via GameChanger (https://www.gamechanger.com).   For those who don’t know, it’s a fantastic tool for scoring games.  The scorekeeper scores via an iOS/Android app that streams wirelessly to an internet server where fans who couldn’t make it out to the game can watch its progress.
    Last year at one of our games, I was put in the position of having to score via GameChanger while also operating the scoreboard at the game.  While I was able to pawn off scoreboard duties to an eager kid, in the back of my head I got this idea that it would be great if the GameChanger app could also update the team scoreboard.  At this beginning of this season, I decided to give scoreboard building a try (see results after the jump).

Baseball Scoreboard - Bill of Materials

    All said and done, the whole project cost a little under $400.  About twice what I was expecting to spend but still not unreasonable, all things considered.  For those interested in what went into the scoreboard, the bill of materials is included after the jump.

Baseball Scoreboard - Using the Scoreboard

    As I got to the all-in-one quick start, I quickly realize that I hadn't written anything about how to actually use the scoreboard.  This post will give a real quick introduction on using the scoreboard.

Baseball Scoreboard - All-in-One Quick Start Guide

    For those who don't want to dig through 9 different posts in order to figure out how to construct your own scoreboard, I put this all-in-one quick start guide together.  If you follow this from start to finish, you should be able to set up your own scoreboard in a minimum amount of time (Guide starts after the jump).

Sunday, August 17, 2014

Baseball Scoreboard - Things I'd Like to Improve

    While quite a bit of development has gone into this project thus far, there are still some things I see as shortcoming.  After the jump, I'll go through the things that I see as needed improvements.  If you see anything I may have missed, please feel free to chime in in the comments below.

Saturday, August 9, 2014

Baseball Scoreboard - The Web Server

    If you have followed along with the blog posts thus far, your scoreboard now is functional, but there may be some things you wish you could do above and beyond the basics (at least that was the case for me).  To provide a venue for accomplishing those routine tasks, I stood up a web server.  Quick start guide starts after the jump.

Friday, August 8, 2014

Baseball Scoreboard - The Parser

    While I'm presenting the parser near the end of this development, the initial work on this portion of the scoreboard occurred more than a year ago at the conclusion of last season when I was still toying with the idea of the project.  After initialization, the parser steps through the following loop:

  1. Wait for a file containing POST data,
  2. Unzip the gzipped POST data,
  3. Parse the resulting JSON to recover the game state (score/inning, etc),
  4. Send the appropriate serial command to the scoreboard,
  5. Parse the serial response until the ready prompt is received,
  6. Move the POST data file to the output directory

Before we step through how each part works, the quick start guide (starts after the jump):

Thursday, August 7, 2014

Baseball Scoreboard - The Transparent Proxy

    If you'd asked me at the start of this project how long I thought this portion would have taken me, I probably would have said a day or two.  Reality didn't work out that way for me.  Instead, I spent more than a month iterating through failures and then making the modifications to get tinyproxy (the transparent proxy of choice) to do what I needed it to.  But before we get to a recap of what I did, a quick start guide (after the jump).

Wednesday, August 6, 2014

Baseball Scoreboard - Network Configuration within the Control Box

    In this blog post, I'll discuss how to set up the networking for the control box.  If you do this correctly, by the end, you'll be able to join the WiFi access point (AP) in the control box and surf the internet via 4G (yes, I'm aware that the 4G hotspot does that on its own, but we're building to something here).  This post will cover the easy stuff first (selection and configuration of WiFi and 4G) and move onto the more complex (configuration of the Raspberry Pi).  But first, for those who are impatient, the quick start guide starts after the jump.

Friday, August 1, 2014

Baseball Scoreboard - Control Box Overview

   While the scoreboard gets all of the attention, all of the heavy lifting happens within the control box.  The control box is responsible for providing internet to the scorer while passively listening in on the GameChanger communications and relaying the score to the scoreboard.  Here's an overview of how data flows through the control box:

(More after the jump…)