[Tuto] Module GSM SIM800L - Envoyer un SMS

Posté sur: oct. 14, 2015

Catégories: Arduino

Tags: arduino , gsm , message , sim800l , sms , tuto , tutorial , tutoriel

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 utilise les AT commandes pour envoyer un SMS.

// Importation des librairies
#include 
#include  

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

void setup(){ // Début du setup
 sim800l.begin(9600); // Démarrage du modem
 Serial.begin(9600);	// Initialisation de la communication série
 delay(500);		// Délai pour la connexion 
 sms = true;
 
 if(sim800l.available())
 Serial.write(sim800l.read());
 }
 
 void loop(){	// Début du loop
 if(sms==true){
 sendsms();				
 sms = false;
 }
 }
 
 void sendsms(){
 Serial.println("Sending text message...");
 sim800l.print("AT+CMGF=1r"); // Lance le mode SMS
 delay(100);
 // Entrez votre numéro de téléphone 
 sim800l.print("AT+CMGS="+3367617****"r"); 
 delay(100);
 // Entrez votre message ici 
 sim800l.print("Message ici r"); 
 // CTR+Z en langage ASCII, indique la fin du message
 sim800l.print(char(26));			 
 delay(100);
 sim800l.println();
 Serial.println("Text send"); // Le message est envoyé.
 }

Ou pour modifier les informations (numéro de téléphone, message) dans le moniteur série :

// Importation des librairies
#include 
#include 
SoftwareSerial sim800l(7,8);
boolean sms;

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

void loop(){
 if(sms==true){   // on ne passe qu'une seule fois dans le loop()
 sendsms();
 sms = false;
}
}

void sendsms(){
 // set SMS mode
 Serial.println("SMS sender");
 sim800l.print("AT+CMGF=1r");    // initialise le mode SMS
 delay(100);
 // phone number
 Serial.println("Enter the phone number :");
 char number[20] ;
 readSerial(number);
 sim800l.print("AT+CMGS=");
 sim800l.print(number);
 sim800l.print(""r");
 // message
 delay(100);
 Serial.print("Enter your message to send to : ");
 Serial.println(number);
 char message[200];
 readSerial(message);
 sim800l.println(message);
 sim800l.print(char(26));
 delay(100);
 sim800l.println();
 Serial.print("Message : ");
 Serial.println(message);
 Serial.println("Text send");
 }

int readSerial(char result[]){
 int i = 0;
 while (1)
 {
 while (Serial.available() > 0){
 char inChar = Serial.read();
 if (inChar == 'n')
 {
 result[i] = '';
 Serial.flush();
 return 0;
 }
 if (inChar != 'r'){
 result[i] = inChar;
 i++;
 }}}}

Récapitulatif des commandes AT pour l'envoi d'un SMS

Commande Réponse Info

AT+CMGF=1 OK Configure le mode SMS
AT+CMGS="<numéro de telephone>"  ENTER


> Votre message  CTR+Z

OK Envoi un SMS au numéro indiqué

Commentaires

  • Guicle
    nov. 23, 2018
  • Le jip&eacute;
    oct. 23, 2018
  • Le Jip&eacute;
    oct. 23, 2018
  • Ismail
    août 13, 2018
  • David G
    févr. 9, 2018
  • Mahamadou Djamilou
    mai 3, 2017
  • CCH
    avril 9, 2017
  • Miss
    avril 8, 2017
  • Lucas
    mars 10, 2017
  • fal\'
    janv. 18, 2017
  • ericstar
    mai 14, 2016
  • amine
    mai 11, 2016
  • Vincent
    mai 8, 2016
  • Vincent
    mai 8, 2016
  • Model GSM SIM800L - DIYMaroc Blog
    avril 13, 2016

laissez un commentaire

Se connecter