Skip to content

Emulator of indoor location using machine learning models

License

Notifications You must be signed in to change notification settings

ATNoG/indoor-location-emulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Indoor Location Emulator For Machine Learning Models

The indoor-location-emulator is a project that was designed to compile and provide a set of synthetic data from a simulated environment that would allow for the application, study, and evaluation of a set of real characteristic factors, and that would allow the creation of real automatic learning models in the future, using Machine Learning techniques, to be applied in a context of asset localization and prediction in an indoor environment, using passive RFID tags and the RSSI values obtained from RF antennas. Use a decoupled architecture with pluggable location modules, allow users to create routes, evaluate movement and train ML models. The communication between system modules is done through the MQTT protocol over websockets.

The mapping of indoor spaces was carried out through the plugin map-gl-indoor.

Main Modules

Inside the src directory are disposed the main modules:

  • frontend: This module includes the frontend processing of Indoor Location Emulator (based on Mapbox GL JS) [Developed with HTML, Vanilla Javascript & CSS].
  • backend: This module includes the backend processing of Indoor Location Emulator [Developed in Python].
  • ml-models: This module includes Machine Learning scripts [Developed in Python].
  • static-files: This module includes the Static Files objects used in Emulation.

For the communication of the system modules, an MQTT broker mosquitto was configured. Feel free to use a similar approach or any other MQTT broker.

Documentation

Documentation was created individually for each module and aggregated into a page that can be accessed here.

Deployment

The docker-compose.yml file include the setup for:

  • An image of nginx to serve frontend and static-files modules.
  • An image of eclipse-mosquitto to setup MQTT broker.
  • A reference to generate an image for backend module to an individual container.
  • A reference to generate an image for ml-models module to an individual container.

The src/mosquitto directory includes the eclipse-mosquitto configuration files used in communication of the Emulator modules (deployable via docker compose).

  • Install docker and docker-compose (Example Tutorial: here).
  • Then on project root directory, on command prompt execute: docker-compose up -d
  • To have a look on deployed containers, on command prompt execute: docker ps -a

Demo

After the deployment is completed nginx, mosquitto, backend and ml-models containers must be up, then it is possible run a demo of the emulator at: http://localhost:8080.

About Project

This work is supported by the European Regional Development Fund (FEDER), through the Competitiveness and Internationalization Operational Programme (COMPETE 2020) of the Portugal 2020 framework [Project SDRT with Nr. 070192 (POCI-01-0247-FEDER-070192)].

About

Emulator of indoor location using machine learning models

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published