🛠 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.

Objectifs

Mettre en réseau la MKR GSM 1400 : initialiser le module u-blox SARA-U201 (attention : pas un TOBY, la rumeur communautaire est fausse), débloquer la SIM, s'enregistrer sur le réseau, mesurer le signal et ouvrir une connexion à commutation de paquets GPRS avec l'APN de l'opérateur. C'est le prérequis de tous les tutoriels SMS, HTTP et MQTT.

Matériel

Code complet

#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 réseau
  while (gsmAccess.begin(PINNUMBER) != GSM_READY) {
    Serial.println("Enregistrement réseau en cours...");
    delay(2000);
  }
  Serial.println("GSM_READY : enregistre sur le réseau");

  // 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 données PDP)
  while (gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD) != GPRS_READY) {
    Serial.println("Attach GPRS échoue, retry...");
    delay(3000);
  }
  Serial.println("GPRS_READY : connexion données etablie");
}

void loop { delay(1000); }

Vérification attendue

La console affiche « GSM_READY » (l'enregistrement peut demander plusieurs dizaines de secondes à froid), puis l'opérateur et un RSSI négatif réaliste (par exemple -65 à -107 dBm ; 99 ou -1000 = pas de carte SIM ou pas d'antenne), enfin « GPRS_READY ». L'antenne doit être déployée et orientée, jamais posée sur du métal (recommandation Arduino).

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels