Skip to content
This repository has been archived by the owner on Aug 11, 2018. It is now read-only.

team4909/2018-Core

Repository files navigation

The Green Alliance

Team 4909's 2018+ Scouting System.

The Green Alliance Scouting Platform has been designed from the ground up to enable teams to share data beyond any event, district, or region. This influx of data is especially beneficial to teams at higher levels of play as they have more data to reference in strategic decisions and picking alliance partners. TGA consists of a cross-platform application and a community of FIRSTers willing to gather scouting data for the collective.

Installation

Raspberry Pi 3 Configuration (for offline TGA usage only)

  1. Install Raspbian Lite (not Desktop) to your Raspberry Pi 3

  2. Run sudo raspi-config to configure the correct keyboard layout and WiFi network (if not using ethernet)

  3. Run curl -sL http://thegreenalliance.team4909.org/INSTALL.sh | sudo -E bash - on the Pi

    Please read the resulting output as it provides important information regarding configuration.

  4. For Bluetooth usage, pair up to six Android devices using the Terminal on the Pi OS

Android Devices (for online/offline TGA usage, enables Bluetooth -> Pi)

  1. Enable Installing via APK File
  2. Download & Install APK from https://goo.gl/xoWPmL

Browser-based Scouting/Analysis Devices (Laptop/iOS devices)

Visit thegreenalliance.team4909.org, and wait for the alert saying that the webpage has been cached. The app will save itself on your device and update whenever it is connected to the internet.

Note: this only occurs when there is a newer version of the site not yet cached

Supported Hardware

The Green Alliance tries to accomodate the workflows of most teams by supporting a variety of configurations.

Recommended Hardware

Supported Devices

  • Hybrid(Online/Offline) Usage
    • Android Devices(v4.1+) Connected to Raspberry Pi 3
      • Connected via Bluetooth 4.0+ (max. of six devices)
    • Laptops(w/ Chrome) Connected to Raspberry Pi 3
      • Connected via Ethernet switch
  • Online Usage Only
    • Devices (Laptop/Tablet/Phone) Connected to Cloud CouchDB Server
      • Connected via Event WiFi or Cellular

Platform Architecture

Syncing within the TGA Platform

All devices run either CouchDB or PouchDB to store and sync data. The Bluetooth transfer protocol uses the pouchdb-replication-stream project to tunnel the API calls between the Kindle Fires and the Raspberry Pi CouchDB server.

When connected, devices will connect and sync data to reach eventual consistency.


EDIT:

Due to time constraints, the Bluetooth transfer protocol will not support bidirectional communication for the 2018 competition season.


Hosted Infrastructure

Offline Usage

All data will be replicated locally in PouchDB or CouchDB, while the website will be cached for offline access using HTML5 AppCache

Third-Party Data

To help scouts, TGA will reference third-party APIs to obtain team names, event schedules and official match results using the TBA API v3 and FMS Events API v2. If internet access is not available or should circumstances change, manual override will also be supported.

Accessing the Database

To leverage the data collected by TGA for additional analysis, you may replicate from the TGA CouchDB server using your existing credentials. The data is stored in a JSON format.

TGA CouchDB Server: tga-cloud.team4909.org:5984

If you need credentials, please contact us at team4909@gmail.com

Data Transaction Mechanisms

  • Cellular Data / Event WiFi (Device <-> Cloud)
  • Bluetooth SPP (Tablets <-> Pi)
  • Ethernet (Laptops <-> Pi)

Bugs / Feature Requests

Please create a GitHub issue for any bugs or new feature requests.

Community