Pas de communication avec un SIM900 GPRS

Bonjour à tous,

J'ai acheté un shield GPRS à base de la puce SIM900 de Simcom sur http://www.ebay.co.uk/itm/122433689248

Je pense que c'est un V1.0 comme ici GPRS Shield V1.0 | Seeed Studio Wiki

J'ai assemblé ce shield directement sur une carte Uno.
Les cavaliers sont sur D7 D8 (communication série logiciel)
La carte sim est sans code pin
J'allume le shield manuellement
Alimentation en 5v indépendante, commutateur vers externe
Arduino soft 1.0

suivant ce site :

http://wiki.mchobby.be/index.php?title=GeekOnFire_GSM/GPRS_Shield#Charger_le_Sketch_sur_Arduino

Je charge ce code :

#include <SoftwareSerial.h>   
 
SoftwareSerial mySerial(7, 8); 

// relayer la réponse de fromSerial (type SoftwareSerial) vers
//   le port serie d'Arduino (19200baud). Facile le deboggage
void relayResponse( SoftwareSerial &fromSerial ){
  // Attention, il faut attendre que l'UART réponde
  // avant de lire mySerial (temps conseillé= 1sec)
  //
  while(fromSerial.available())
  {
     // Envoi le résultat sur la connexion série
     char c = fromSerial.read();
     Serial.print(c);
  }
} 

void setup()
{
  mySerial.begin(19200);   // GPRS baud rate   
  Serial.begin(19200);     // GPRS baud rate   
  delay(2000);
  mySerial.println("ATDxxxxxxxxx;"); // xxxxxxxxx est le numéro a appeler.  
         
  // NB: Une boucle while serait plus appropriée que la section de code ci-dessous.
  //     Je vous propose d'appeler la fonction suivante: 
  //     relayResponse( mySerial ) 
  if(mySerial.available()) 
  {
    char c = mySerial.read();
    Serial.print( c );
  }  
  
  delay(10000); 
  delay(10000); 

  mySerial.println("ATH"); // Fin d'appel.
  if(mySerial.available()) // Voir commentaire précédent.
  {
    char c = mySerial.read();
    Serial.print( c );
  }    
}
 
void loop()
{
  // Ne rien faire
}

J'allume le shield avec le bouton (sur ce modèle il y a uniquement des leds rouge) :

Led poxer --> ok
Led statut --> permanente
Led net --> clignotement

Si je téléphone au shield, ça sonne.
Un sms est bien reçu (d'après mon gsm)

Moniteur série arduino :

Réglé sur "19.200 Bauds" et "Carriage Return".

Mon problème est que rien ne se passe !!
Je n'ai aucun retour dans le moniteur série ???
J'ai essayé avec différents exemples mais toujours rien dans le moniteur ?

Merci d'avance pour vos conseils.

Pierre

lapenduledargent:
...
Mon problème est que rien ne se passe !!
Je n'ai aucun retour dans le moniteur série ???
J'ai essayé avec différents exemples mais toujours rien dans le moniteur ?

Merci d'avance pour vos conseils.

Pierre

Bonjour
avant de jouer avec des "exemples" piochés ici ou là
il faut déjà voir si une simple commande AT repond "OK" ou pas
utilise un code simple pour "voir"

genre ça

#include <SoftwareSerial.h>
//
SoftwareSerial BTSerial(7, 8); // RX | TX
// RX arduino <--- TX cible
// TX arduino ---> RX cible


void setup()

{
  Serial.begin(115200); // vitesse serial monitor

  BTSerial.begin(19200);  // vitesse software serial cible 
}

void loop()
{


  if (BTSerial.available()) Serial.write(BTSerial.read());


  if (Serial.available()) BTSerial.write(Serial.read());
}

Avec les comms serie , les erreurs les plus courantes sont :

  • les croisements TX et RX
  • les problemes de vitesses

avec le prog ci-dessus
tu ne change que la vitesse du software serial , la vitesse de comm entre l'arduino et ton PC reste fixée à 115200 (valeur à mettre/verifier dans le monitor serie)

Bonjour Artouste,

Merci, il répond !

Je vais poursuivre...

Que me conseils-tu comme librairie qui va bien pour téléphoner et envoyer des sms avec mon shield ?

@ bientôt,

Pierre

lapenduledargent:
Bonjour Artouste,

Merci, il répond !

Je vais poursuivre...

Que me conseils-tu comme librairie qui va bien pour téléphoner et envoyer des sms avec mon shield ?

Bonsoir
Je n'ai pas beaucoup joué avec des modules GPRS sous arduino.
je m'en suis toujours sorti avec de la gestion AT "brute"
envoi/ecoute