Rastreo GPS Instantáneo para Arduino MKR GSM 1400 vía SMS
Componentes
| Arduino MKR GSM 1400 | 1 |
| Antena GSM | 1 |
| Batería LiPo (conector JST) | 1 |
| Tarjeta SIM con datos | 1 |
| Smartphone (para enviar SMS) | 1 |
Descripción
Nota: Este tutorial puede estar desactualizado. Consulta la versión más reciente en la documentación oficial de Arduino.
El MKR GSM 1400 no tiene GPS, pero usa localización por celdas (Cell ID) del módulo u-blox. Al recibir un SMS con la letra "L" (configurable), responde con un enlace Google Maps con la coordenada de la celda actual. Precisión: buena en ciudad (celdas pequeñas), menor en zona rural.
Montaje hardware
- Conecta la antena al conector U.FL.
- Inserta la SIM en la ranura.
- Conecta la LiPo al conector JST (opcional pero recomendada para picos de corriente GSM).
Funcionamiento
- Librería
MKRGSMgestiona SMS y localización (GSM_SMS,GSMLocation). - Al recibir SMS, lee carácter a carácter. Si el primer byte ≠ 76 (ASCII 'L'), descarta.
- Si es 'L': llama a
measureLocation()→ consultalocation.latitude()ylongitude()con precisión < 300 m. - Construye URL:
https://www.google.com/maps/place/LAT,LONG. - Responde al número remitente con ese enlace.
- Apaga módulo GSM y entra en deep sleep 60 s para ahorro energético.
Código completo (sketch)
// include the GSM library
#include <MKRGSM.h>
#include <ArduinoLowPower.h>
char PINNUMBER[] = SECRET_PINNUMBER;
char GPRS_APN[] = SECRET_GPRS_APN;
char GPRS_LOGIN[] = SECRET_GPRS_LOGIN;
char GPRS_PASSWORD[] = SECRET_GPRS_PASSWORD;
GPRS gprs;
GSM gsmAccess;
GSM_SMS sms;
GSMLocation location;
String GSMlatitude = "0.000000";
String GSMlongitude = "0.000000";
void measureLocation() {
unsigned long timeout = millis();
while (millis() - timeout < 45000) {
if (location.available() && location.accuracy() < 300 && location.accuracy() != 0) {
GSMlatitude = String(location.latitude(), 6);
GSMlongitude = String(location.longitude(), 6);
break;
}
}
}
void connectNetwork() {
bool status = false;
gprs.setTimeout(100000);
gsmAccess.setTimeout(100000);
while (!status) {
if (gsmAccess.begin(PINNUMBER) == GSM_READY &&
gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) == GPRS_READY) {
status = true;
} else {
delay(1000);
}
}
}
void setup() {
connectNetwork();
location.begin();
}
void loop() {
measureLocation();
unsigned long timeout = millis();
while (millis() - timeout < 5000) {
if (sms.available()) {
char senderNumber[20];
sms.remoteNumber(senderNumber, 20);
int c = sms.read();
if (c != 76) { sms.flush(); break; } // 'L' = 76
String txtMsg = "https://www.google.com/maps/place/" + GSMlatitude + "," + GSMlongitude;
sms.beginSMS(senderNumber);
sms.print(txtMsg);
sms.endSMS();
break;
}
}
gsmAccess.shutdown();
LowPower.sleep(60000); // 60 s deep sleep
connectNetwork(); // reconectar
}
Uso
- Configura credenciales (PIN, APN, user, pass) en pestaña "Secrets" del Web Editor o en
arduino_secrets.h. - Sube el sketch.
- Espera ~30 s a conexión GSM.
- Desde tu móvil, envía SMS con texto "L" al número de la SIM del MKR GSM.
- Recibirás SMS de respuesta con enlace Google Maps.
Personalización
- Cambia la "contraseña" modificando
if (c != 76)(76 = 'L'). Ej: 65 = 'A'. - Ajusta
location.accuracy() < 300para mayor/menor precisión. - Modifica tiempo de sleep en
LowPower.sleep(60000).
Proceso de manufactura
- Cómo implementar códigos QR en su CMMS: Guía paso a paso
- Maximice el valor: Estrategias para vender o reutilizar equipos pesados usados
- Por Qué un Diseño Ligeramente Mayor Puede Acelerar la Innovación y Reducir Riesgo
- Integre su estación meteorológica con CWOP: Guía práctica
- Dominando la Placa PSoC 6 Pioneer con Shield IoT Add-On: Guía para Desarrolladores
- Etiquete rápidamente piezas impresas en 3D con relleno para grabador: método probado y sencillo
- Descubre cómo Techman Robot automatiza la producción: Webinar sobre Cobots avanzados y sistemas de visión
- 7 Estrategias Comprobadas para Reducir Costos de Producción de PCB
- Impulsar Operaciones Agrícolas con Mantenimiento Proactivo
- Maximice el ROI de sus inversiones en IoT: Una guía práctica
- Por qué los juegos de maletas de fibra de carbono son la mejora definitiva para viajeros