[Tuto] Module GSM SIM800L - Recevoir un SMS et le lire

Posté sur: oct. 14, 2015

Catégories: Arduino

Tags: arduino , gsm , sim800l , sms

Pour voir le montage et la prise en main de ce module SIM800L, vous pouvez suivre le tuto sur cette page: Tuto SIM800L - Montage et prise en main

Le programme suivant reçoit et affiche dans le moniteur série les SMS contenus sur la carte SIM, à l'aide des commandes AT :

SoftwareSerial sim800l(7,8);    // RX, TX
boolean sms;

void setup(){      // début du setup
   // Démarrage du modem
   sim800l.begin(9600);
   // Initialisation de la communication série
   Serial.begin(9600);
   delay(500);   // Délai pour la connexion
   sms = true;
}

void loop(){    // Début du loop
   if(sms==true){
      receivesms();
      sms = false;
   }
   // affichage dans le moniteur série des commandes AT + réponse
   if (sim800l.available()>0){
      Serial.write(sim800l.read());
   }
}

void receivesms(){
   Serial.println("Receiving text message...");
   sim800l.print("AT+CMGF=1r");  // Configure le mode SMS
   // Affiche tous les messages
   sim800l.print("AT+CMGL="ALL"r");
   delay(1000);
   sim800l.println();
}

En fonction de vos besoin vous pouvez remplacer AT+CMGL="ALL" par :

  • AT+CMGL= "REC READ" : Affiche tous les messages lus
  • AT+CMGL= "REC UNREAD" : Affiche tous les messages non lus.

Si vous désirez supprimer les SMS contenus sur la carte SIM, il faut exécuter la commander AT+CMGD :

  • AT+CMGD =1 : supprime les SMS déjà lus
  • AT+CMGD=2 : supprime les SMS lus, et envoyés
  • AT+CMGD=3 : supprime les SMS lus, envoyés et non envoyés
  • AT+CMGD=4 : supprimes tous les SMS (lus, non lus, envoyés et non envoyés)

Attention ! Pour pouvoir afficher correctement l'ensemble du contenu de vos messages, vous devez modifier votre librairie Arduino SoftwareSerial.

Trouvez le fichier SoftwareSerial.h et modifiez la ligne de commande :

  #define _SS_MAX_RX_BUFF 64 // RX buffer size

En :

  #define _SS_MAX_RX_BUFF 256 // RX buffer size

Récapitulatif des commandes AT nécessaires pour lire et supprimer des SMS:

Commande Réponse Info
AT+CMGL= "REC UNREAD" +CMGL : , "REC UNREAD","<n° de tél>,"", Affiche tous les SMS non lus
AT+CMGL= "REC READ" +CMGL : , "REC READ","<n° de tél>,"", Affiche tous les SMS lus
AT+CMGL= "STO UNSENT READ" Enregistre les SMS non envoyés
AT+CMGL= "STO SENT READ" Enregistre les SMS envoyés
AT+CMGL="ALL" +CMGL : , "ALL","<n° de tél>,"", Affiche tous les messages
AT+CMGD=1 Supprime les SMS déjà lus
AT+CMGD=2 Supprime les SMS lus et non envoyés
AT+CMGD=3 Supprime les SMS lus, envoyés et non envoyés
AT+CMGD=4 Supprime tous les SMS (lus, non lus, envoyés et non envoyés)

Commentaires

  • didiersee
    juil. 4, 2018
  • Admin
    juil. 4, 2018
  • didier
    juin 10, 2018
  • David G
    févr. 9, 2018
  • michel
    déc. 25, 2017
  • michel
    déc. 25, 2017
  • nadjib
    août 14, 2017
  • mva
    juil. 24, 2017
  • lucas
    juil. 17, 2016
  • Model GSM SIM800L - DIYMaroc Blog
    avril 13, 2016

laissez un commentaire

Se connecter