Giter Site home page Giter Site logo

joe-knows's Introduction

Joe Knows

logo

Joe Knows is a beacon-driven app and sensor system which enables visually impaired individuals to navigate public transit safely and effectively.

Table of Contents

Introduction

This is a beacon and iOS app system for users of the Metro West Regional Transit Authority (MWRTA) who are visually impaired. The system guides users to various stations which are closest to them, first using audio direction feedback, then upon getting closer to the desired destination, vibration feedback based on proximity. The app is screen reader accessible and high contrast to make it easy to use for users who are visually impaired.

Motivation

The MWRTA currently lacks a tool to empower its community members who are blind or visually impaired. The RIDE, the MWRTA's door-to-door paratransit service, offers a solution to people who can’t drive but is still inconvenient for those who wish to travel independently. This system is named Joe Knows, after Joe Weisse, a visually impaired commuter who often travels into Boston. It was created to enable Joe and others like him to accurately and safely navigate to various public transit stops without the aid of others.

Features

  • Determine a user's current location and visualize it on a map
  • Display closest transit stops to a user
  • Navigate to given location to within a foot of actual transit stop destination (as opposed to the typical 30 foot radius from GPS navigation)
  • Navigate to the user's home to within a foot of intended destination

screenshots

Requirements

  • iOS 8.0+
  • XCode 10.2.1+

Installation

  1. Clone this repository to your local machine using https://github.com/maiam6242/Joe-Knows.git
  2. Open the project in XCode and install the MapKit framework (if it not already installed)

Since Joe Knows is an app for iOS, this process must be done on a Mac computer

Deployment

This system is built to be used with Adafruit Feather 32u4 Bluefruit LE beacons, although with a very small amount of modification can be adapted to be used with any BLE emitting devices. Any devices must be added to the fillMap method of the Beacon Set class (shown below) with a location name, unique identifier and longitude and latitude coordinates.

static func fillMap(){
  BeaconSet.beacon["Adafruit Bluefruit LE 3A6A"] = beaconData(n: "Kansas Street and Route 27 Bus Stop", a: "3A6A", c: -71.356469, f: 42.292805)
  BeaconSet.beacon["Adafruit Bluefruit LE 3A92"] = beaconData(n: "Natick Center Commuter Rail", a: "3A92", c: -71.347075, f: 42.285806)
  BeaconSet.beacon["Adafruit Bluefruit LE 321C"] = beaconData(n: "Natick Common Bus Stop", a: "321C", c: -71.347132, f: 42.284214)
  BeaconSet.beacon["Adafruit Bluefruit LE 84BA"] = beaconData(n: "Moran Park/Downtown Bus Stop", a: "84BA", c: -71.347826, f: 42.285716)
  BeaconSet.beacon["Adafruit Bluefruit LE 0703"] = beaconData(n: "Coolidge Gardens Bus Stop", a: "0703", c: -71.347077, f: 42.280864)
  BeaconSet.beacon["Adafruit Bluefruit LE 9851"] = beaconData(n: "Senior Center Bus Stop", a: "9851", c: -71.337094, f: 42.287485)
  BeaconSet.beacon["Adafruit Bluefruit LE 6E45"] = beaconData(n: "Joe's House", a: "6E45", c: -71.353893, f: 42.282489)            
}

Once these values are changed or values are added, the software will change to provide directions to the specified new beacon locations.

It is also important to note that we powered the beacons with 500 mAh Li-Polymer Batteries. These batteries are durable and can operate within a temperature range of -20 degrees Celcius to 60 degrees Celcius. Each battery can also power a beacon for a few years.

Said beacons and batteries can be placed in these enclosures. These enclosures serve to provide a friendly and fairly weatherproof exterior. They are 3D printed from black PLA filament. For extra protection, we also placed the beacons and batteries in small plastic bags inside of these enclosures.

Beacon Enclosure

Feedback

We would love to hear feedback on this project! Feel free to email us or submit an issue. If you are interested in contributing to this project or chatting about it in general, please don't hesitate to email us here!

Team

Maia Materman @maiam6242
Annie Tor @ator1
Corey Cochran-Lepiz @coreyacl

Acknowledgments

Thanks to Caitrin Lynch and Ela Ben-Ur for their support throughout this process. Also, thank you to Paul Ruvolo for helping us navigate Swift. Most importantly, thank you to Joe and Fran Weisse for co-designing this system with us and giving us feedback throughout this project.

joe-knows's People

Contributors

maiam6242 avatar ator1 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.