Probleme IMEI modem900

Bonjour,
je suis nouveau sur le forum, et ayant cherché sur google mais sans réponse concluante, je me tourne vers vous.

J’ai acheté un shield GSM900 (pas l’original, un clone) que vous pouvez voir sur le lien suivant :https://www.amazon.fr/GSM900
J’utilise avec le shield un arduino Uno original (pas un clone).

Pour tester le shield, j’ai utilisé le code suivant :

//**********************************************************
// test_modem
// tiptopboards.com - traduction FR 01 12 2014

// Created 12 Jun 2012  by David del Peral  modified 21 Nov 2012  by Tom Igoe
// http://arduino.cc/en/Tutorial/GSMToolsTestModem
//
// Cet exemple teste le bon fonctionnement du Modem du Shield GSM 
// Pas besoin de carte SIM pour cet exemple
// On affiche ensuite le n°IMEI de la puce
//************************************************************
// Important, déplacer les 2 jumpers du Shield  sur TX=2 Rx=3 
// ne pas les laisser sur 0 et 1 (positiion par défaut)
// Sinon ça interfère avec le serial port de l'Arduino

#include <GSM.h>  // librarie GSM
GSMModem modem;  // modem à verifier

// variable IMEI de la puce (chaque puce de shield à un n° différent)
String IMEI = "";

void setup()
{
  // initialise le  port serial de l'Arduino (Rx/Rx sur pins 0 1 )
  Serial.begin(9600);
   
  
  // Démarre le test du modem test (reset et vérifie la réponse)
  Serial.print("Debut du test du MODEM...");
  if(modem.begin()) 
    Serial.println("modem.begin() est OK");
  else
    Serial.println("ERREUR, pas de reponse du modem.");
}

void loop()
{
  // Lire le IMEI du modem 
  Serial.print("Verification du numero IMEI...");
  IMEI = modem.getIMEI();
  
  // Vérifier la réponse IMEI 
  if(IMEI != NULL)
  {
    // Afficher le n° IMEI de ce shield dans le serial monitor
    Serial.println("Lecture IMEI du modem: " + IMEI);
    // reset modem pourvérifierle booting:
    Serial.print("Reset du modem...");
    modem.begin();
    // Verifier une fois de plus  IMEI 
    if(modem.getIMEI() != NULL)
    {
      Serial.println("Le Modem fonctionne correctement");
    }
    else
    {
      Serial.println("Error: getIMEI() failed after modem.begin()");
    }
  }
  else
  {
    Serial.println("Error: ne peut pas lire IMEI");
  }
  // do nothing:
  while(true);
}

Ce code est une traduction du code origine en anglais présent dans l’IDE Arduino.

Sans carte SIM, ce code doit renvoyer l’IMEI de mon shield.
Cependant, il ne renvoie que les informations suivantes :

Debut du test du MODEM...ERREUR, pas de reponse du modem.
Verification du numero IMEI...Lecture IMEI du modem: 0
Reset du modem...Le Modem fonctionne correctement

Il ne lit pas correctement le code IMEI et je ne vois pas d’où le problème pourrait provenir…
Pour information, je pense que la dernière phrase “Le Modem fonctionne correctement” est un problème de codage.

Petite précision, j’ai bien déplacé les ponts du shield de D1 à D8 (RX) et de D0 à D7 (TX).

Quand j’alimente le shield, il y a 2 LED qui s’allume :

  • la LED D3 au dessus de PWR
  • la LED D6 au dessu de NetLight

Lorsque j’appuie sur le bouton PWRKEY, la LED D au dessus de STATUS s’allume, et la LED D6 se met à clignoter (la LED D3 ne change pas).

Merci d’avance pour votre aide.

comment le shield est alimenté? (quelle puissance dispo?)

Bonjour,

Pour l'instant le shield est alimenté par l'Arduino (par le biais de l'USB).
Je pense que les 2A dont le shield a besoin ne sont vraiment indispensable que lors d'une communication par GSM (et pas lors d'une communication Arduino-shield), je me trompe ?

Merci pour ton aide.

si vous avez une carte SIM insérée, il va essayer de se connecter au réseau dès le boot je pense

J'ai déjà essayé avec une carte sim, cela ne fonctionne pas...

De toute façon, le code que je teste ne nécessite pas de carte sim.

Personne d'autre n'a rencontré ce problème ?

Mettez 2A et une carte SIM pour voir…

Très bien merci pour votre réponse.

Je vais tester cela et donnerai des nouvelles.