Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Rastreador GPS para Coche Fiable con Mapa en Tiempo Real en Thinger.io

Componentes y suministros

Arduino Leonardo×1(serial hardware dedicado)
Placa desarrollo SIM900×1
Módulo GPS u-blox NEO-6M×1
Antena GPS×1
Resistencia 220 Ω×2
LED (genérico)×2
Placa soldable 7×5 cm×1(para LEDs; opcional)
Módulo step-down 12V a 5V×1(alimentación desde batería/coche)
Lector tarjeta SD Adafruit×1(5V compatible)
Tarjeta microSD×1

Herramientas y máquinas necesarias

Aplicaciones y servicios online

Sobre este proyecto

Empezó como "idea de rastreador GPS" y terminó como "rastreador GPS multipropósito". Mi primer proyecto, curva de aprendizaje empinada; ¡acepto sugerencias y mejoras!

Va en el coche con estas funciones:

Aprende rápido las limitaciones de memoria del Arduino; optimicé código y usé librerías ligeras.

Componentes clave

Librerías necesarias

¿Por qué no la librería Thinger.io?

Aunque es fácil y está en el IDE, consume ~80% flash en Leonardo, sin espacio para el resto. Usamos HTTP POST directo.

Comandos SMS

Todos en mayúsculas:

Configurar NeoGPS

Modifica GPSPort.h en la librería (ruta instalación):

#ifndef GPSport_h
#define GPSport_h
#define gpsPort Serial1
#define GPS_PORT_NAME "Serial1"
#define DEBUG_PORT Serial
#endif

Define el serial al GPS. Para Mega: Serial2, Serial3, etc.

Nota sobre precisión: GPS no es exacto para acumular distancia; deriva aunque estés parado. Para esta app la precisión es secundaria. El software solo suma distancia para movimientos >10 m en 15 s (derivas menores se ignoran). Distancia en línea recta; la real depende de curvas. Muestreo cada 15 s (reducible para más precisión).

Configurar PetitFS

Librería FAT ultraligera con restricciones: no crea archivos, no expande, no actualiza timestamp, no anexa (reescribe entero), un solo archivo abierto. ¿Por qué usarla? Tamaño: la librería SD estándar ocupa ~12% más. Con sus rarezas, hace lo que necesitamos: leer/escribir un valor.

Modificaciones en librería:

Preparar tarjeta SD (formato FAT32 con "SD Card Formatter" oficial). Crea dist.txt y settings.txt en la tarjeta antes de usarla (la librería es muy exigente con formato). Usa los archivos adjuntos del proyecto (ya tienen formato correcto). dist.txt = distancia acumulada (ej. "0"). settings.txt = distancia trigger notificación SMS (en metros).

Preparar placa SIM900

Ajustes de código

Integración Thinger.io

  1. Crea cuenta, "bucket" (base de datos) y "device" HTTP.
  2. En device → callback → settings: "write bucket" apunta a tu bucket.
  3. En device → callback → overview: anota method URL y authorization header (string largo sin "Bearer").
  4. En código, reemplaza URL y authorization key en postDataThinger(). Cambia https:// a https:// (SIM900 no soporta SSL). Thinger.io acepta sin SSL.
  5. Si todo va bien, monitor serie muestra +HTTPACTION: 1,200,0 (OK). 400 = error (URL, auth, firmware).
  6. Dashboard Thinger.io: widget mapa usando el bucket como fuente.

¿Más datos? Añade campos al JSON en sprintf(httpContent...): {"longitude":%s,"latitude":%s,"date":"%s %s"}. Sintaxis estricta.

Caja 3D

STLs adjuntos: tapa alta (más espacio, agujeros cerrados → taladrar 3 mm tras imprimir), tapa compacta, base con recortes conectores, trabas SIM900 (con y sin agujeros). Imprime 0.2 mm sin soportes. Tornillos M3. Placa LEDs (7×5 cm) y GPS en tapa superior; usa separadores pequeños. Placa MPU pegada con cola caliente en base.

Conexión a batería/coche

Muchas formas; mi solución: conectado a circuito "mechero" que se enciende/apaga con el coche (no drena batería parado). Si quieres online siempre, cablea a batería o pon power bank intermedio. No muestro cableado exacto (varía por coche). Usé step-down "barato" 12V→5V (9-20V entrada) con 2 USB hembra; Arduino y SIM900 cada uno en un USB. Consumo ~110 mAh en actividad GSM (más en mala cobertura).

Problemas conocidos

Código principal (GPS_tracker_Leonardo_v2.ino)

Incluye: NeoGPS, GPSport, TimeLib, PetitFS. Define pines SIM900 (TX=8, RX=9, PWR=7), UTC_OFFSET, número por defecto. Variables: SMS, ubicación, distancia, tiempo. setup(): pines, seriales, init SD, enciende SIM900, configura GSM/GPRS. loop(): lee GPS, actualiza distancia cada 15s (si >10m y <10km), escribe SD y POST Thinger cada 2 min, check trigger SMS, procesa SMS entrantes (POS, GETKM, RESETKM). Funciones auxiliares: SIM900power(), updateSIM900(), extractSenderNumber(), sendSMS(), connectGPRS(), postDataThinger(), initializeSD(), updateTime().

Piezas personalizadas y cajas

STLs: tapa alta, tapa compacta, base, trabas SIM900. Archivos dist.txt y settings.txt para SD.

Esquemático

Esquema de conexiones completo.

Proceso de manufactura

  1. Fabricación de Tablas de Planchar: Diseño, Materiales y Proceso Productivo
  2. Construcción y Diseño de Tablas de Surf: De Raíces Polinesias a la Innovación Moderna
  3. Integración de datos de sensores en Raspberry Pi: Guía práctica
  4. Dominando la Placa PSoC 6 Pioneer con Shield IoT Add-On: Guía para Desarrolladores
  5. Los Riesgos de Conducir con Poco Refrigerante (Anticongelante) en el Motor
  6. Aprovechando Sistemas de Integración Internos para Manufactura de Precisión
  7. Raspberry Pi presenta MCU RP2040 y placa Pico de $4
  8. Seguimiento de Activos Exterior GPS: Tendencias, Desafíos y Tecnologías Emergentes
  9. Dominando la función map() de Python: sintaxis, ejemplos y mejores prácticas
  10. HashMap en Java: Guía completa con ejemplos prácticos
  11. Acelere la Reutilización de Fármacos contra COVID-19 con BIOVIA Living Map