Trilateral Access Point Positioning System
We are living in a new world. A world where public thought must focus on healthcare and we all must follow the protocols set by health professionals. Unfortunately, not all members of society have been stringent in following these protocols. How are we doing as a campus community? Can we do better? How can we monitor social distancing in today's society? Can cellphones be used to locate you and your proximity to others?
What is Tapps?
TAPPS physically is an interconnected series of Raspberry Pi 3B+s. Three to be exact. Each with a secondary WiFi connection that can be placed into a "Monitoring" mode. Utilizing the primary,built in, WiFi these devices are connected to a designated control device amongst the three.
In the area of software used we have a few different languages being used between database, functionality , server, and the front-end UI. Overall, it is a NodeJS web application with control of a Linux host.
A series of 3 scanning devices( Alpha, Bravo, Charlie) with established GPS connections reporting WiFi signal strengths to a main collection device ( Bravo). This collection device will store these variables in a MySQL database and then use widely known trilateration algorithms to determine the approximate position of a found device in the scan area. This position as well as those of the connected devices will then be displayed on a map for viewing and updated in real-time.
Concept - Adjusted
Each Pi serves up a NodeJs server. The servers on Alpha and Charlie act as an API gateway to control the attached Wireless Adapter as well as the remote Linux system itself. These devices run scripts on startup to reset,reconnect and initialize their servers. They are connected to a WPA2 secured network via Bravo on their internal stock wireless adapters.
The server on Bravo is more robust in that it acts as the command and control module for the three and serves the UI up to me.
Raspberry Pi 3B+
It’s not a bug – it’s an undocumented feature.
One of the first major issues I faced was that of this network of devices not functioning properly due to their inability to track GPS indoors with my budget ( and Bowman Hall is a lot of concrete). This was after the initial build.
The second crisis was that of my own error before and after erroneous file deletion. In trying to advance my Linux usage skills I ran a command that would delete all files except ones I explicitly stated. It worked GREAT!... Except I had stepped up one directory and deleted my entire project. This was an upsetting mistake without excuse as I know how to utilize GitHub.
The third formidable task came when I was having a difficult time isolating the three needed RSSI (signal strength) measurements. I was on the right track and knew what I was doing enough to reach out to my peers on Stack Overflow. I was able to provide enough info and show confidence in my knowledge that I was rewarded with an assistive answer.
Project Update Videos
Things I'd Correct
Not all the functionality got implemented. The project exists as functional however adjustments must be made for accuracy and consistent reporting
Acquire 3rd wireless adapter equal to counter parts
Do more scientific testing to compare measurements
Adjust the two algorithms to function with proper data
Utilize my 3d printer for mock tactical casings and designs
Where it is Heading
Beyond basic functionality there are many areas of this project I'd like to finish in my own time
Be powered by multiple sources i.e. Solar and 18650 Rechargeable Batteries
Allow more specification from the UI & incorporate an Interface for other pieces of software such as NMAP and TraceRoute
Minimize the Linux OS to only whats needed as to reduce stress on devices