480 likes | 558 Views
Little League Statistics Tracking System. Group 8: Corey Cowart Nicholas Rimer Sean Martin Brian McCauley Sponsor: Pete McAlindon. Project Goals and Objectives. Replace the currently used dugout score-sheets. Provide an online database for all players on teams using the system.
E N D
Little League Statistics Tracking System Group 8: Corey Cowart Nicholas Rimer Sean Martin Brian McCauley Sponsor: Pete McAlindon
Project Goals and Objectives • Replace the currently used dugout score-sheets. • Provide an online database for all players on teams using the system. • Allow fans to easily follow the teams and players • Provide in depth statistics for scouts and officials.
Possible Benefits • Minimizing the training for score keeping. • Allow parents to remotely follow their children’s games when not present. • Instantaneous data synchronization. • Prevent lost statistic from data sheets being lost. • Better drafting into higher leagues based on real stats rather than superficial figures.
Goals and Objectives Create a device that is ergonomic and similar in size to the existing device. Maintain all functions currently recorded on Umpire indicator. Display values for balls, strikes and outs on the device. Simplify the recording of play data to minimize training time of the current system.
Specifications Choose components that run off 3.3V to simplify power schemes. Have battery life of greater than 15 hours with low battery indication. Have range of over 30ft to connect with coaching tablets. Dimensions no larger than 5” x 3”. Displays able to show digits 0 – 4 for balls, strikes and outs
Current Umpire Device Dimensions of 2.5” x 4” Scroll wheels for selecting numbers of balls, strikes and outs. New digital umpire device will have push buttons for incrementing these counts.
Display Schematic PIC24HJ12GP202 4511 4511 4511
Microcontroller Chosen microcontroller is the PIC24HJ128GP502 21 I/O pins when 18 pins needed. Programmed in C language. Cost effective at $2.24. Programmed on the Microstick development board costing $24.99
Bluetooth Connectivity WT12 from Bluegiga • Connects with all current mobile devices. • Up to 100 meter range. • Small footprint. • Sleep mode with ~370uA current draw.
Power • Device needs to be battery powered. • Multiple Umpires using same device so power options need to be flexible. • All chipsets chosen to use 3.3V. • LD1117V33 can supply up to 950mA of current.
Goals and Objectives Pregame: • Allow a team’s coach to view and edit their team roster within the application. • Create batting and fielding lineups for upcoming games. • Display season and overall statistics for each player in a detailed view. • Allow for database search on player creation to keep tracking stats as players change teams.
Goals and Objectives In-game: • Immediately reflect any change in state from the umpire device. • Keep track of all statistics that are currently recorded on the dugout score-sheets. • Account for all possible on field events such as player substitutions, pinch hitting, etc. • Upload all tracked statistics in real time on a play by play basis.
Goals and Objectives Post-game: • Implement a league-wide player search function that displays detailed statistics on all players similar to that in the pre-game interface. • Allow for side-by-side team comparisons for any other team in the league that is implementing the system. • Present in-depth team statistics for any other team implementing the system in the league.
Database Access • Local SQLite vs Online S3 Servers • ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("fname", fname)); nameValuePairs.add(new BasicNameValuePair("lname", lname)); nameValuePairs.add(new BasicNameValuePair(stat, "" + amount)); InputStream is = null; try { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://eustis.eecs.ucf.edu/~br726629/editStats.php"); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent();
Program Life Cycle • Baseline: Android v2.2 • Optimized for 1024x600, high • pixel density screen. • Does not interfere with any of the • built-in android buttons. • Developed in eclipse IDE using • the ADT Android plug-in.
Class Layout • 6 main activities. • All inherit from Android’s Activity class. • Each will have corresponding xml files to specify UI layout. • Pass Intents for inter-app communication.
Data Structures • Additional data classes will be used to facilitate data clarity within the app. • A local database will be utilized to ensure that player and lineup data is not lost when the app’s onDestroy() method is called.
Hardware Implementation • Viewsonic G Tablet • Android 2.2 (Froyo). • ~10 hours of battery life using internet connection. • Large screen for less cluttered layout of prototype.
Goals and Objectives Communicate with the database Provide information for games, teams and players. Regularly update stats from the database Be quick and user friendly
Goals and Objectives • Communicate with the database • Provide information for games, teams and players. • Regularly update stats from the database • Be quick and user friendly
Objectives • Organize and store data to optimize access speed. • Maintain and backup current and previous games. • Source client recognition and validation. • Minimize bandwidth. • Migrate data between multiple databases.
Objectives • Organize and store data to optimize access speed. • Maintain and backup current and previous games. • Minimize bandwidth. • Migrate data across multiple tables.
Specifications • Independent team, game, and play records. • Implemented in MySQL. • Remote cloud server (via Amazon).
Local vs. Remote Local: + Direct control + Customizable + Faster - Expensive - Maintenance Remote: - Limited Options - Accessibility - Bandwidth + Cheaper + Self-maintaining Decision: Remote
Database Types • Coach • Names, team coaching. • Seasonal record (Wins/Losses). • League.
Database Types • Team • All teams in the league. • Season team stats. • Player stats. • Player information and roster.
Database Types • Game • Current and past seasonal games. • Individual inning stats. • Dates. • Final score and winner.
Database Types • Play • All plays for every game. • Type of play, players involved. • Inning occurred, base changes. • Outs, strikes, and balls.