Skip to content
mchobby edited this page Nov 2, 2012 · 7 revisions

Description des différents méthodes publique de la classe GoGprs.

Code de base

La mise en oeuvre de la librairie est vraiment vraiment simple. Il faut:

  1. Mettre en place une connexion série avec le module SIM900 (connexion série logicielle).
  2. Instancier la classe GoGprs (avec la connexion série comme paramètre).
  3. Appeler execute() aussi souvent que possible

Dans l'exemple SendSMS ci-dessous, nous établissons également une connexion série avec le moniteur Série d'Arduino IDE. Cela permet de recevoir des message de deboggage vraiment utiles pour comprendre ce qui se passe dans le programme.

#include <GoGprs.h>
#include <SoftwareSerial.h>

#define PIN_CODE "7663" // Code PIN de la carte SIM

// Connexion série avec le shield GSM/GPRS
SoftwareSerial mySerial(PIN_GPRS_RX, PIN_GPRS_TX);
// Classe de gestion du shield
GoGprs gsm = GoGprs(&mySerial);

void setup() {
    // Etablir une autre connexion série avec Arduino IDE pour afficher 
    // des messages utiles
    Serial.begin(19200);
      
    // Démarrer la communication avec the shield GSM/GPRS
    gsm.begin( PIN_CODE );
}
    
void loop() {
    // appeler execute() aussi souvent que possible
    gsm.execute();
      
    /* verifie si le module est prêt et enregistré sur le reseau mobile */
    if( gsm.isCallReady() ){
        Serial.println( "ENREGISTRER SUR LE RESEAU MOBILE!" );
        // Donner un peu de temps au GPRS Shield pour que le shield bénéficie d'une 
        // connexion mobile stable.
        // Les SMS envoyés trop vite SMS après l'enregistrement sur le réseau mobile n'arrivent 
        // généralement pas à destination.
        delay( 2000 );
        if( gsm.sendSms( "+32477665544", "GOF GPRS Shield is Great!" ) ) {
            Serial.println( "SMS envoyé" );
        }
        else {
            Serial.println( "SMS pas envoyé!" );
        }

        // Eviter que le scketch continue à envoyer le continuellement le SMS.
        Serial.println( "Programe arreté!" );
        while( true ) ;
    }
    Serial.println( "Non enregistré sur le réseau mobile" );
    delay(500);
}

execute

Méthode traitant les messages entrant produit par le SIM900.

Il permet de prendre en charge les messages spontanément envoyés par le SIM900 et traiter les requêtes qui impliques plusieurs échanges de messages avec le SIM900.

L'idéal est de placer un appel à execute() au début de la fonction loop().

Clone this wiki locally