Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

Crear tu propio servidor para gestionar los relojes infantiles Q50

Reloj Q50

Este repositorio contiene un script de servidor en Python 3 para procesar los mensajes de los relojes GPS infantiles (modelo Q50 y compatibles) y un sistema para gestionarlos.

Repositorio del artículo: Crear tu propio servidor para gestionar los relojes infantiles Q50.

Requisitos

  • Python 3.
  • Base de datos SQLite (incluida en la biblioteca estándar de Python).

Protocolo

Link remains (Heartbeat)

El reloj envía cada 5 minutos un comando de "latido" para informar que está activo. Formato: [CS*YYYYYYYYYY*LEN*LK,A,B,C]

  • CS: Fabricante (ej. 3G).
  • YYYYYYYYYY: ID del dispositivo.
  • LK: Comando de heartbeat.
  • C: Nivel de batería (%).

El servidor responde confirmando la recepción: [CS*YYYYYYYYYY*LEN*LK].

Location order (Solicitud de GPS)

Para ahorrar batería, el reloj no envía la posición continuamente. El servidor debe solicitarla con el comando: [CS*YYYYYYYYYY*LEN*CR]. El reloj responderá confirmando que activará el GPS.

Location data reporting (Reporte de ubicación)

Una vez activado, el reloj envía la posición cada pocos segundos. Formato: [CS*YYYYYYYYYY*LEN*UD,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P] Parámetros clave:

  • C: Validez GPS (A=Válida, V=Inválida).
  • D/E: Latitud y Hemisferio (N/S).
  • F/G: Longitud y Hemisferio (E/W).

Funcionalidad del Servidor

El script reloj_gps.py implementa un servidor socket y utiliza una base de datos SQLite para almacenar los mensajes.

Comandos soportados

El servidor permite conectar usuarios/aplicaciones para gestión mediante los siguientes comandos:

  • ACTIVA: Activa la geolocalización de un reloj específico.
  • LISTA: Muestra los relojes registrados en la BBDD.
  • INFO: Muestra información detallada de un reloj (batería, última ubicación, etc).

Uso

Idealmente, el servidor debe estar expuesto a Internet (o usar ngrok para pruebas locales). Al iniciarse, crea un socket de escucha para recibir conexiones tanto de los relojes como de las aplicaciones de gestión.

Licencia

Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.

About

Script de servidor en python para procesar los mensajes de los relojes Q50 y similares

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages