Giter Club home page Giter Club logo

keep-distance-app's Introduction

Project to keep social distance (CORONA)

The main idea was to enable people staying in distance by automated digital measures and alerts. Target group could be workers or police officers running around in teams while having the focus on observing the area.

Approaches

  • Building an APP and observing the GPS signals
    • discarded, GPS is maybe not useful for a range of 2 meters
  • Building an APP using direct WLAN communication
    • discarded, seams to be not feasible currently, effort unknown
  • Building an APP using Bluetooth signal strength
    • accepted, feasible and attractive, because no additional tech needed

Logical requirements for the Bluetooth approach

  • there must be an correlation between the signal strength and the distance between the devices
  • the signal must have an relevant precision in the range of 0-3 meters
  • everyone involved needs an Bluetooth device to be trackable

Milestones for the prototype

First of all we need to figure out, that the logical requirements we have are fulfilled. All milestones are set to this main goal.

  1. Get an running Android-APP deployed to a mobile device
  2. Get access to the Bluetooth functionality and a list of surrounding devices
  3. Get detailed information about the devices over RSSI displayed
  4. Make Tests with a mobile device for multiple ranges and ensure the correlation
  5. Optimize the usability
  6. Detect other use-cases and improvements

Evaluation

I have build the app and made some tests with other devices to get data. The research data can be found in the project_doc directory. The results have shown, that there is a correlation between signal strength and distance. But the correlation can not used to ensure the distance, because of temporary shifts in the signal strength probably depending on the environment, the mobile device status and the status of the tracked device.

The time for one single detection request on my phone was 5 seconds in average. This is why I can not make multiple requests and take an average of the strength.

Result

The prototype is working, but it does not fit the requirements. The basic technology seams to be not usable as it was implemented and I have no idea how to improve this. I totally underestimated the importance of the time for the measurement. To keep a relevant track of an moving process you need to measure at least every second I think. If you need to take an average of multiple measurements to ignore peaks and deviations, then the time must be a fraction of a second. Out of the box is there no bluetooth device I know, that can find and pair that fast. So the results match the observations in everyday life. For improvements you need to dive deeper into Bluetooth and the protocols.

Conclusion

I had a lot of learnings about android APP development, JAVA and Bluetooth in the last two days and maybe I get an other idea for a project. On my research I found a lot of tutorials which described exactly what I tried to figure out. Therefore I suspected that other developers failed before me, because I have never heard of a working app using Bluetooth RSSI for distance calculation xD

Thanksgiving

A lot of thanks to the YouTube tutorial from "Good Morning" https://www.youtube.com/watch?v=xarmrbRA4E0

keep-distance-app's People

Contributors

8qfx1ai5 avatar

Stargazers

Michael Salzman avatar Maher avatar Em avatar paramvir singh avatar Tino S. aka "Nox" avatar

Watchers

James Cloos avatar  avatar

Forkers

meparam

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.