🛠 Se connecter à un réseau GPRS (APN, signal, enregistrement)
Objetivos
Conectar la MKR GSM 1400 a la red: inicializar el módulo u-blox SARA-U201 (atención: no es un TOBY, el rumor comunitario es falso), desbloquear la SIM, registrarse en la red, medir la señal y abrir una conexión de conmutación de paquetes GPRS con el APN del operador. Es el requisito previo de todos los tutoriales de SMS, HTTP y MQTT.
Material
- Placa Arduino MKR GSM 1400
- Antena externa GSM con conector U.FL (obligatorio: nunca encender sin antena)
- Tarjeta micro-SIM activada, sin código PIN, con un plan de datos >
- Batería LiPo ≥ 1500 mAh conectada permanentemente (requisito oficial: los picos de emisión superan lo que el USB proporciona)
- Biblioteca MKRGSM (Gestor de Bibliotecas); núcleo Arduino SAMD Boards
Código completo
#include <MKRGSM.h>
#include "arduino_secrets.h" // onglet Secret de l'IDE
const char PINNUMBER[] = SECRET_PINNUMBER; // "" si aucun code PIN
const char GPRS_APN[] = SECRET_GPRS_APN; // ex. "orange.fr", "sl2sfr", "free"
GSM gsmAccess;
GPRS gprs;
GSMScanner scanner;
void setup {
Serial.begin(9600);
while (!Serial) {}
// 1) Radio + deblocage SIM + enregistrement reseau
while (gsmAccess.begin(PINNUMBER) != GSM_READY) {
Serial.println("Enregistrement reseau en cours...");
delay(2000);
}
Serial.println("GSM_READY : enregistre sur le reseau");
// 2) Operateur et puissance du signal
char op[50];
if (scanner.getOperator(op) == GSM_ERROR) strcpy(op, "inconnu");
Serial.print("Operateur : "); Serial.println(op);
long rssi = scanner.signalStrength;
Serial.print("RSSI (dBm) : "); Serial.println(rssi);
// 3) Attache GPRS (contexte de donnees PDP)
while (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) != GPRS_READY) {
Serial.println("Attach GPRS echoue, retry...");
delay(3000);
}
Serial.println("GPRS_READY : connexion donnees etablie");
}
void loop { delay(1000); }
Verificación esperada
La consola muestra « GSM_READY » (el registro puede tardar varias decenas de segundos en frío), luego el operador y un RSSI negativo realista (por ejemplo, -65 a -107 dBm; 99 o -1000 = sin tarjeta SIM o sin antena), finalmente « GPRS_READY ». La antena debe estar desplegada y orientada, nunca colocada sobre metal (recomendación de Arduino).
Errores frecuentes
- SIM con código PIN no desactivado:
beginfalla en bucle; desactivar el PIN en un teléfono o pasar elSECRET_PINNUMBERcorrecto. - APN incorrecto: el adjunto GPRS falla aunque se encuentre la red; verificar el APN, usuario y contraseña con el operador (algunos exigen un tipo de APN « IoT »).
- Encender sin antena: riesgo de degradación del módulo y ninguna señal.
- Alimentación insuficiente: la placa se reinicia al emitir (picos de corriente de la clase 4, orden del pico a 2 A); conectar la LiPo ≥ 1500 mAh.
- Olvidar que el 3G se corta en muchos operadores: el SARA-U201 recurre a la 2G/GPRS, que a su vez está en proceso de extinción en algunos países — probar la cobertura 2G local.
- Red: las conexiones entrantes suelen estar bloqueadas por el operador (CGNAT), es inútil intentar un
GSMServeraccesible desde Internet.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
gsm-connexion.inoArduinoenvoi-sms.inoArduinohttp-get.inoArduinohttp-post-capteur.inoArduinoheure-gsm.inoArduinoappels.inoArduino