Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 21 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,32 @@
**PositionMe** is an indoor positioning data collection application initially developed for the University of Edinburgh's Embedded Wireless course. The application now includes enhanced features, including **trajectory playback**, improved UI design, and comprehensive location tracking.

## Features

- **Real-time Sensor Data Collection**: Captures sensor, location, and GNSS data.
- **Trajectory Playback**: Simulates recorded movement from previously saved trajectory files (Trajectory proto files).
- **Interactive Map Display**:
- Visualizes the user's **PDR trajectory/path**.
- Displays **received GNSS locations**.
- Supports **floor changes and indoor maps** for a seamless experience.
- **Playback Controls**:
- **Play/Pause, Exit, Restart, Jump to End**.
- **Progress bar for tracking playback status**.
- **Redesigned UI**: Modern and user-friendly interface for enhanced usability.
# PositionMe
Indoor poistioning data collection application created for the University of Edinburgh's Embedded Wireless course.

## Requirements

- **Android Studio 4.2** or later
- **Android SDK 30** or later
- Android Studio 4.2 or later
- Android SDK 30 or later

## Installation

1. **Clone the repository.**
2. **Open the project in Android Studio**.
1. Clone the repository.
2. Open the project in Android Studio.
3. Add your own API key for Google Maps in AndroidManifest.xml
4. Set the website where you want to send your data. The application was built for use with [openpositioning.org](http://openpositioning.org/).
5. **Build and run the project on your Android device**.
4. Set the website where you want to send your data. The application was built for use with openpositioning.org.
5. Build and run the project on your device.

## Usage

1. **Install the application** using Android Studio.
2. **Launch the application** on your Android device.
3. **Grant necessary permissions** when prompted:
- Sensor access
- Location services
- Internet connectivity
4. **Collect real-time positioning data**:
- Follow on-screen instructions to record sensor data.
5. **Replay previously recorded trajectories**:
- Navigate to the **Files** section.
- Select a saved trajectory and press **Play**.
- The recorded trajectory will be simulated and displayed on the map.
6. **Control playback**:
- Pause, restart, or jump to the end using playback controls.
1. Install the application on a compatible device using Android Studio.
2. Launch the application on your device.
3. Allow sensor, location and internet permissions when asked.
4. Follow the instructions on the screen to start collecting sensor data.

## Creators

### Original contributors ([CloudWalk](https://github.com/openpositioning/DataCollectionTeam6))
- Virginia Cangelosi (virginia-cangelosi)
- Michal Dvorak (dvoramicha)
- Mate Stodulka (stodimp)

### New contributors
- Francisco Zampella (fzampella-huawei)
9 changes: 5 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
// Top-level build file
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
// NOTE: Only classpath deps (plugins) go here
classpath 'com.android.tools.build:gradle:8.8.0'
classpath 'com.google.gms:google-services:4.4.2'
// classpath "com.android.tools.build:gradle:7.0.4"
//classpath 'com.google.gms:google-services:4.3.15'
classpath "com.android.tools.build:gradle:8.7.2"//for Android studio Ladybug.2024.2.1 Patch1
classpath 'com.google.gms:google-services:4.3.3'
def nav_version = "2.5.3"
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version"
classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1"
Expand Down
8 changes: 8 additions & 0 deletions local.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
## This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Wed Apr 02 22:02:19 BST 2025
sdk.dir=C\:\\Users\\86189\\AppData\\Local\\Android\\Sdk
6 changes: 3 additions & 3 deletions secrets.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#
# Modify the variables to set your keys
#
MAPS_API_KEY=<your Google maps API key>
OPENPOSITIONING_API_KEY=<your openpositioning user API key>
OPENPOSITIONING_MASTER_KEY=<The openpositioning master key>
APS_API_KEY=AIzaSyASQAn8CtCBmVc4rhhipmrVg-giC9Kf9P0
OPENPOSITIONING_API_KEY=rR6xYfpNdQMU-edu9wAt0g
OPENPOSITIONING_MASTER_KEY=ewireless