Volver a proyectos
ANDROID · TELEMETRÍA · SISTEMAS DISTRIBUIDOS
Proyecto individualPrototipo funcional

RemoteScope — Telemetría Android y API REST embebida

Aplicación Android nativa que recopila información técnica del dispositivo y la expone mediante una API REST embebida, permitiendo consultar su estado desde otros equipos conectados a la misma red local.

  • Kotlin
  • Android
  • Room / SQLite
  • NanoHTTPD
  • API REST
  • JSON
  • Autenticación por tokens
Vista conceptual de RemoteScope, aplicación Android de telemetría y API REST embebida.
Resumen del proyecto

El teléfono recopila y expone su propia telemetría

RemoteScope integra recolección de datos, persistencia local y comunicación HTTP dentro de una aplicación Android. Mediante NanoHTTPD, el dispositivo ejecuta una API REST embebida que transforma la información recopilada en respuestas JSON disponibles para otros clientes de la red local.

01

Problema

La información técnica de un dispositivo móvil se encuentra distribuida entre diferentes recursos del sistema. RemoteScope explora una forma local y ligera de centralizarla y hacerla consultable mediante HTTP.

02

Solución

RemoteScope centraliza el estado del dispositivo, persiste registros GPS con Room y expone la información mediante dos endpoints REST autenticados. El servidor se ejecuta en el teléfono y responde dentro de la red local.

Información recopilada

Estado del dispositivo

  • Nivel de batería
  • Estado de conectividad
  • Almacenamiento libre
  • Versión de Android
  • Fabricante y modelo

Telemetría GPS

  • Latitud y longitud
  • Fecha de registro
  • Proveedor de ubicación
  • Precisión
  • Altitud
  • Velocidad

Conexión local

  • Dirección IP del dispositivo
  • Puerto 8080
  • Estado de recolección
  • Actualización periódica del estado

Arquitectura y funcionamiento

  1. 1

    Lectura del dispositivo

    Android consulta sistema, recursos y ubicación.

  2. 2

    Telemetría

    Los valores se organizan en modelos comunes.

  3. 3

    Persistencia local

    Room conserva registros GPS y configuración.

  4. 4

    Servidor embebido

    NanoHTTPD inicia HTTP en el teléfono.

  5. 5

    API REST

    Los endpoints producen respuestas JSON.

  6. 6

    Consulta local

    Otro equipo accede mediante IP y puerto.

Arquitectura diferencial

El teléfono también funciona como servidor

RemoteScope integra un servidor HTTP ligero directamente en el dispositivo Android. Mientras la aplicación está activa, el teléfono funciona como nodo de telemetría y otros clientes de la misma red pueden consultar la información utilizando su IP local y el puerto configurado para la API.

La API no es pública: su disponibilidad depende de la red local, los permisos y la configuración actual del dispositivo.

API confirmada en la implementación

GET/api/device_status

Entrega batería, conectividad, almacenamiento, versión del sistema y modelo.

GET/api/sensor_data

Consulta registros GPS entre start_time y end_time.

Ambos endpoints validan el encabezado de autorización por token o las credenciales configuradas localmente.

Interfaz de monitoreo

La interfaz reúne el control de recolección, la última actualización, el estado del dispositivo en JSON y la configuración necesaria para consultar la API local.

La dirección IP depende de la red y puede cambiar entre dispositivos o conexiones.

  1. 1

    Estado de recolección

    Indica si RemoteScope recopila información y permite iniciar o detener el proceso.

  2. 2

    Información del dispositivo

    Presenta los valores técnicos mediante una estructura JSON legible.

  3. 3

    Configuración de red

    Muestra la IP local, el puerto 8080 y la acción visual destinada a copiar la dirección de conexión.

Funcionalidades destacadas

  • Inicio y detención de la recolección
  • Estado visible del monitoreo
  • Información técnica del dispositivo
  • Respuestas estructuradas en JSON
  • Servidor HTTP embebido
  • API REST local
  • Visualización de IP y puerto
  • Persistencia con Room / SQLite
  • Autenticación por token o credenciales
  • Consulta desde equipos de la misma red
  • Historial GPS por intervalo temporal
  • Arquitectura autónoma ejecutada en el dispositivo
ANDROID ENGINEERING

Aporte técnico

Diseñé y desarrollé RemoteScope como un proyecto individual para explorar telemetría Android, persistencia local, redes y APIs embebidas. La solución integra la recopilación de información del dispositivo, su representación en JSON y la exposición mediante un servidor HTTP ligero ejecutado dentro del teléfono.

  • 01Desarrollo nativo con Kotlin y Android.
  • 02Recolección y persistencia de telemetría.
  • 03Integración de NanoHTTPD y endpoints REST.
  • 04Comunicación segura dentro de una red local.

Competencias demostradas

  • Desarrollo nativo Android
  • Kotlin
  • APIs del sistema operativo
  • Comunicación HTTP
  • Diseño REST
  • Serialización JSON
  • Redes locales, IP y puertos
  • Servidores embebidos
  • Room y SQLite
  • Autenticación
  • Permisos y ciclo de vida
  • Sistemas distribuidos

Tecnologías utilizadas

Aplicación móvil

  • Kotlin
  • Android SDK
  • Interfaz nativa

Telemetría

  • APIs del sistema Android
  • LocationManager
  • Estado de hardware y conectividad

Persistencia

  • Room
  • SQLite
  • DAO

Comunicación

  • NanoHTTPD
  • HTTP
  • API REST
  • JSON

Seguridad

  • Token de acceso
  • Credenciales locales
  • Validación por encabezados

Resultados e impacto técnico

Android + RESTAPI ejecutada en el dispositivo
JSONTelemetría estructurada
Red localComunicación entre equipos
Proyecto individualPrototipo funcional

El prototipo integra almacenamiento, red y sistema operativo; identifica la IP y el puerto del dispositivo, autentica solicitudes mediante tokens y ejecuta un servidor HTTP ligero dentro de la aplicación.

Un dispositivo móvil dentro de un sistema distribuido

RemoteScope demuestra la integración de desarrollo Android, telemetría, persistencia y comunicación HTTP dentro de una misma solución. El proyecto permitió explorar una arquitectura poco convencional en la que el teléfono recopila información y también actúa como servidor, exponiendo sus datos mediante una API REST dentro de la red local.