🛠 Se connecter à un réseau GPRS (APN, signal, enregistrement)

Arduino MKR GSM 1400 · intermediaire · Schéma : IMG-mkr-gsm-1400-intermediaire-1-mkrgsm-reseau-gprs.svg — MKR GSM 1400 avec antenne externe déployée sur connecteur U.FL, carte micro-SIM insérée, et à l'écran l'opérateur détecté avec la puissance du signal.

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

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

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales