Giter Club home page Giter Club logo

metronome's Introduction

Metronome

Improving the train riding experience for all New Yorkers!

With over 5.5 million daily riders, the NYC metro system is both a blessing but also a headache. How many times have you watched an empty subway car pass by you as it rolls into the station, just to be greeted by a jam-packed car? How many times have you moved down the platform in hopes of ending up with an empty car?

Our team wanted to help New Yorkers experience a less crowded and more efficient commute. There are only a few seconds before each train leaves the station, but plenty of wait time on the platform. We sought out to provide commuters real-time ambient feedback about the capacity of the cars on their upcoming train.

Ideal State

Mock-up of our ideal state

We envision a metro experience that would include LED strips on the platform signaling in real-time how full each car from the incoming train is. This status could also be integrated on an on-screen display or even within Google Maps.

Implementation

Architecture Diagram

For our prototype, we created a Flask webapp with routes to simulate when the subway car doors would close. We had a button on the webapp that triggers the security cameras (simulated via Raspberry Pi's with cameras) to take a picture and send it to the Google Cloud Vision API to detect the number of faces. This enabled us to get a rough estimate of how full a car was. This data is then sent up to a Firebase database (used for historical data storage).

The frontend side of our webapp was the display that could be put up on screens at the platform to provide an additional cue.

We used socket.io to trigger the Pi code that took pictures, which would then trigger the UI to automatically update on the Flask frontend.

Raspberry Pi's

On the platform (simulated via a Raspberry Pi with LEDs), we continually pull and parse data from Firebase to determine what colors to display on each LED.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.