Skip to content

espaciosoa/inmap-app

Repository files navigation

InMap - Indoors Signal Mapper (Android App)

Measuring

An indoors LTE/5G signal measurement application for Android that uses Augmented Reality and initial geolocation to approximately geolocate cell signal measurements made in local space.

The application uses the TelephonyManager, an Android System API to obtain data regarding signal strength of the cell it is connected to. The TelephonyManager API provides different instances of CellSignalStrength ( e.g., CellSignalStrengthLTE, CelSignalStregnthNR, etc. )

All provided values are saved as a JSON string that is sent to a backend server measurements.espaciosoa.com that centralizes the storage of all the measurements for later visualization.

How it works

The application consists mainly of a single Augmented Reality screen (video-see through) that allows measuring points in the surroundings of the user, visualizing the measured points (via coloured spheres indicating the measured points in context) and sending the measured data to the backend server.

Using the app

Step 1: Open Measuring activity and hold still the phone in front of you. The camera will open and it will estimate the rotation and position of the device to later account for them when converting from local to world coordinates. You can optionally set a new origin by tapping on the screen and placing a 3d object that will be used as new center of coordinates.
Step 2: Measure LTE/5G signal strength. Click on Start measure and move around your environment to measure cell signal in your surroundings. By default, measurements are taken on a fixed period basis (e.g., 1s) but you can also trigger measurements at a given point by clicking "Instant measure". Users can see the trace of the points they have measured by checking the spheres being generated as breadcrumbs. The color depends on the signal strenght (level).
Measure Measure
Step 3: Finish the measuring session and send the data to the backend. Once completed, the user will be prompted with the possibility to start another measurement session.

Compiling the application

Make sure the application has the basic configurations properly setup, matching the backend server configuration. You can set up /app/build.gradle with something like the following

//...
   buildTypes {
        getByName("debug") {
            // Main app configuration constants
            buildConfigField "boolean", "SECURE", "true"
            buildConfigField "String", "BASE_URL", "\"your.server.com\""
            buildConfigField "String", "TOKEN", "\"YOURTOKENHERE\""
            buildConfigField "boolean", "USE_SELF_SIGNED", "false"
        }
    ///...

Tech Stack

Android Studio

ar-core AR- CORE


InMap - Indoors Signal Mapper Suite

App screenshot Web screenshot Pi-measurements screenshot
🔗 Android App 🔗 Web visualizer 🔗 Precise measurement module for Raspberry-Pi

About

InMap-app - Augmented Reality powered Android application for indoors LTE/5G measurement

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published