Beacon Path

(Downloads & Documentation at Bottom)

Abstract: Using Beacons and Bluetooth Low Energy users can navigate through a close and complex area, where the accuracy of GPS data is not sufficient. The application uses real-time distance and predefined path data to guide a user to a location, accounting for any wrong-turns along the way.

Application Demonstration

(click to preview in new tab & download content)

LabToClassroom.mp4
ClassroomToOffices.mp4

Behind the Scenes

(some code, console outputs, & map for better understanding)

How scanning works

This is the first actions taken after a user presses Go. The app is starting a current location scan, so that it can find the beacon closest to the user.

For each device found during a current location scan, make a connection and read 3 RSSI values. Then compare the average versus the current closest device. 

After 20 seconds, the program uses the closest device from previous, and creates a path. Starts looking for the next beacon in the path to connect to for reading.

Here is an example of making a connection to the next beacon in the path and routing towards it. Program is averaging the last 3 readings from the device and also tracking if the users moving closer or farther away (for path deviation). 

When a user gets close enough to a beacon, program will move along in the path and begin scanning & reading all over again for the next beacon in the path. Once reaching the end of the path send user to the EndPage!

Here is an example of Path Deviation, the program detected a significant movement away from the beacon, and thus determines that the user is off course and returns to current location scan. Once a new path is generated from the current location the user is back on course.

Presentation Download (.pptx)


User Guides / Documentation

Documented Source Code (.txt)

(Data Flow - Left to Right)

Not used in Final Project: