Giter VIP home page Giter VIP logo

garmin-mybus-app's Introduction

MyBus Garmin watch app

This is a Garmin watch application, written in Monkey-C that helps you keep track of the bus arrivals on your nearest bus stops.

It currently works only for London as it makes use of the TFL's unified API that can be found here

The application is using the internal GPS of the watch to pick up your current location. It then makes two requests:

  • The first request returns the bus stops within a radius (selected by the user) of your location.
  • The second request returns the buses and their prediction times for the stop that you select.

All traffic goes through a proxy service which filters TFL responses before it forwards them back to the watch. The service can be found here

This way I can handle a lot bigger TFL responses without the watch crashing, which should get rid of the errors that occur when there are many bus stops around.

Installation

I have recently removed this app from the garmin store. For best performance, it was using an additional service hosted in heroku to filter massive responses that could not be handled by the watch. If you still want to install you will have to build the project and upload it to your watch.

Supported devices

The app has been tested on a Garmin fenix3 watch.

It should be functional on any fenix 3, fenix 5 and Chronos series and might as well run on more Garmin watches, depending on screen dimensions.

Issues

  1. The application currently supports bus stops only within London since it is only using TFL's API. However, it is very easy to extend it by plugging in a class that extends APIRequest. See RequestAPIs/Samples for more information.

  2. The accuracy depends on the information returned by the TFL's endpoints. After multiple tests, I found that using a small radius (<20m) won't return results even though there might be bus stops within that range. That being said, I have made the radius configurable by the users so that they can increase it and broaden the search.

Acknowledgements

This application is Powered by TfL Open Data and contains OS data © Crown copyright and database rights 2016

Authors

Chris Liontos

garmin-mybus-app's People

Contributors

kolitiri avatar

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.