Shield GSM/GRPS pour Arduino (SIM900)

Utilisation de capteurs et composants électroniques avec Arduino.
Une fiche de tutoriel pour chaque.

Shield GSM/GRPS pour Arduino (SIM900)

Messagepar tiptop » Jeu 9 Jan 2014 00:49

Shield GSM/GRPS pour Arduino, à base de puce SIM900.

Utilisation du réseau de téléphonie mobile, envoi de SMS ou de données, et accès à internet avec une carte Arduino.
Image

Composants utilisés

Principe de fonctionnement
Ce shield prêt à l'emploi ajoute à votre carte Arduino des fonctionnalités de téléphonie mobile : téléphonie en appel et réception, envoi et réception de SMS, accès à internet, envoi et réception automatiques de données.

La librairie GSM.h et ses exemples
On dispose de nombreux exemples dans l'IDE Arduino qui sont fournis avec la librairie <GSM.h>, déjà installée (dans la version 1.0.3).
Image

Dans le menu File / Examples / GSM on dispose ainsi de :
  • 1) GSMPaschubeClient
  • 2) GSMPaschubeClientString
  • 3) GSMTwitterClient
  • 4) GSMWebClient
  • 5) MakeVoiceCall
  • 6) ReceiveSMS
  • 7) ReceiveVoiceCall
  • 8) SensSMS
  • 9) Tools
    BandManagement
    GSMScanNetworks
    PinMamangement
    TestGRPS
    TestModem
    TestWebServer

Le programme BandManagement vérifie la bande configurée dans le modem et permet d'en changer.

Le programme GSMScanNetworks affiche le numéro IMEI du modem et regarde s'il est connecté. Si c'est le cas, il affiche le numéro de téléphone associé à la carte. Puis il scanne les réseaux voisins et affiche leur niveau de réception (sur une échelle 0-31).
Il faut une carte SIM, et passer son PIN en paramètre si elle en en un.
http://arduino.cc/en/Tutorial/GSMToolsGsmScanNetworks

Le programme PinMamangement permet de changer ou retirer le numéro PIN d'une carte SIM insérée dans le shield GSM.

Le programme TestGRPS teste la capacité du shield GSM à se connecter à un réseau GRPS. Il demande les informations APN depuis le moniteur série et essaye de se connecter au site arduino.cc

Le programme TestModem essaye le modem du shield GSM. Cet exemple ne requiert pas de carte SIM. Il cherche le numéro IMEI de la puce (c'est le numéro d'identification unique d'un appareil mobile).

Le programme TestWebServer affiche la requête du client et l'adresse IP du serveur.



Prise en main préliminaire du Shield GSM
Image.Image

  • Monter l'antenne sur le shield et la visser (facultatif pour les essais).
  • Brancher le shield sur la carte Arduino Uno.
  • L'Arduino est alimentée ici par le port USB de l'ordinateur.

Image

Jumpers
Par défaut (réglage usine) les 2 jumpers de la carte GSM sont positionnés sur 0 et 1.
Ce réglage interfère avec le port série (Tx / Rx) qui sert à téléverser les programmes dans l'Arduino.
Il faut impérativement décaler de 2 positions ces jumpers sur TX=2 , RX=3 pour pouvoir téléverser dans la carte Arduino et utiliser le débugage dans le Serial monitor.

LED et boutons

Appuyer en continu pendant 2 secondes l'interrupteur du shield marqué "SIM900 power".
La LED rouge du shield GSM clignote en attente.
Elle s'allume en continu quand le modem est allumé (P = Power on).

Les deux autres LEDs du shield (Status et Network) clignotent brièvement, puis Status s'allume en continu en vert (S = carte GSM OK).
La LED réseau (N = Network) ne s'allume pas (jaune) sans carte SIM dans le shield. Elle clignote en attente.
____________________________________________________________________________________________________________________________

Test préalable de fonctionnement du Modem
Ouvrir le programme File / Examples / GSM / Tools / TestModem dans l'IDE arduino et le charger dans la carte.

Vous pouvez aussi utiliser cette version traduite et commentée en français :
Code: Tout sélectionner
//**********************************************************
// 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("Erruer: ne peut pas lire IMEI");
  }
  // do nothing:
  while(true);
}


Image

Ce code teste le bon fonctionnement du modem du shield GSM, et doit normalement afficher le code IMEI de la puce.
Cet identifiant unique est imprimé sur l'étiquette de la puce Sim900 montée sur le shield (à côté du code barre).
Image
__________________________________________________________________________________________________________________________
Tester le réseau GSM et la carte SIM

Il faut insérer une carte d'abonnement SIM valide dans le lecteur au dos du shield GSM, en faisant coulisser le petit couverte à plat vers la charnière (flèche open) avant de l'ouvrir.
Refermer et verrouiller le couvercle coulissant. Les contacts dorés de la carte sont bien sûr vers le bas. Le coin triangulaire sert de détrompeur.

Monter l'antenne sur le Shield.
Téléverser et lancer le programme File/Examples/GSM/Tools/GSMScanNetworks

Ce programme va lire le numéro de série IMEI de la puce du GSM, et afficher le numéro de téléphone associé à la carte SIM. Il teste ensuite le réseau de téléphonie disponible et affiche son intensité.
_______________________________________________________________________________________________________________________________
Références
tiptopboards - admin
Avatar de l’utilisateur
tiptop
Administrateur du site
 
Messages: 88
Inscription: Mar 13 Aoû 2013 20:38
Localisation: 38

Re: Shield GSM/GRPS pour Arduino (SIM900)

Messagepar petrusfr » Dim 29 Juin 2014 18:17

Bonjour,


j’attends mon shield GSM avec impatience....

Je donnerai mon avis sur ce tuto après l'avoir expérimenté, mais je ne doute pas de sa qualité ;-)

à bientôt

Pierre
petrusfr
 
Messages: 2
Inscription: Ven 27 Juin 2014 14:08


Retourner vers Capteurs et composants

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 6 invités