Envoi de SMS par GSM 800L EVB avec Arduino UNO

Salut à tout le monde.J'ai commencé depuis hier un projet. Un système anti incendie qui consiste à mesurer la température l'humidité et la fumée.un SMS est envoyé au propriétaire en cas d'incendie. Le problème c'est que j'arrive faire toutes les mesures mais de dépassement de seuil des grandeurs le SMS n'est pas envoyé.aucun Resultat. J'ai utilisé SIM800L avec ESP32. Je j'ai besoin de votre aide.si vous avez déjà un un projet de ce genre.Merci d'avance

Bonjour, si on n’a jamais fait ce genre de projet tu ne veux pas de notre aides :slight_smile: ?
Si tu ne dis pas ce qui ce passe exactement, il sera difficile de t’aider surtout à distance.

As-tu au moins essayé un code basique pour tester l'envoi d'un SMS?

Autrement pour t'aider ce serait peut-être une bonne idée de mettre ton code. Entre balises tel que demandé dans "Les bonnes pratiques du forum francophone".

Bonsoir tout le monde . MON PROJET :
Thème : Conception d’un système de sécurité anti incendie. Description : Ce système va vérifier s’il y a incendie dans une maison en mesurant la température, l’humidité et la fumée. Il contactera le propriétaire de la maison par SMS en cas d’incendie.
MON PROBLEME: Toutes les grandeurs sont récupérées mais en cas de dépassement seuil le système n'envoi pas le SMS. *le code*

// --------- Inclusion des bibliothèques ---------
#include <DHT.h>              //  Gère la lecture de température et humidité
#include <SoftwareSerial.h>   // Crée un port série virtuel pour le SIM800L

// --------- Définition des broches matérielles ---------
#define DHTPIN 11             // Broche DATA du capteur DHT22
#define DHTTYPE DHT22         //  Type de capteur : DHT22 (ou DHT11 si besoin)
#define MQ2PIN A0             // Broche analogique pour le capteur de fumée MQ-2
#define LED_OK 3              //  LED verte → état normal
#define LED_ALERTE 4          // LED rouge → état d’alerte
#define BUZZER 5              //  Buzzer pour alarme sonore
#define SIM800_RX 7           //  Arduino → TX du SIM800L
#define SIM800_TX 8           //  Arduino → RX du SIM800L (via diviseur de tension)


`

// --------- Création d'objets ---------
SoftwareSerial sim800l(SIM800_RX, SIM800_TX);  //  Port série virtuel pour le module GSM
DHT dht(DHTPIN, DHTTYPE);                      //  Objet pour interagir avec le capteur DHT

// --------- Variables de configuration ---------
String numero = "+22958161156";  // Numéro à contacter par SMS
float seuilTemp = 50.0;          //  Seuil température (°C) déclenchant l’alerte
int seuilFumee = 300;            // Seuil fumée (valeur brute du MQ-2)

// --------- Initialisation (exécutée 1 seule fois au démarrage) ---------
void setup() {
  Serial.begin(9600);            //  Active la communication série (USB) pour debug
  dht.begin();                   // Démarre le capteur DHT
  pinMode(LED_OK, OUTPUT);       //  Configure LED verte en sortie
  pinMode(LED_ALERTE, OUTPUT);   // Configure LED rouge en sortie
  pinMode(BUZZER, OUTPUT);       //  Configure buzzer en sortie

  sim800l.begin(9600);           //  Active la communication série avec le SIM800L
  delay(1000);                   //  Pause pour stabiliser le module GSM

  // --------- Vérification et configuration du SIM800L ---------
  sim800l.println("AT");         //  Commande de base → module doit répondre "OK"
  delay(500);
  sim800l.println("AT+CMGF=1");  //  Met le module en mode SMS texte
}

// --------- Boucle principale (s’exécute en continu) ---------
void loop() {
  float t = dht.readTemperature(); // 🌡 Lit température en °C
  float h = dht.readHumidity();    //  Lit humidité en %
  int f = analogRead(MQ2PIN);      //  Lit la valeur de fumée (0 à 1023)

  // -------- Affichage en temps réel --------
  Serial.print("🌡 Température : ");
  Serial.print(t);
  Serial.print(" °C\t");

  Serial.print(" Humidité : ");
  Serial.print(h);
  Serial.print(" %\t");

  Serial.print(" Fumée : ");
  Serial.println(f);

  // -------- Test des conditions d’alerte --------
  if (t > seuilTemp && f > seuilFumee) {
    digitalWrite(LED_ALERTE, HIGH); //  LED rouge ON
    digitalWrite(LED_OK, LOW);      //  LED verte OFF
    tone(BUZZER, 2000);             //  Active buzzer (2000 Hz)

    //  Envoie d’un SMS d’alerte
    envoyerSMS(" Alerte Incendie! T=" + String(t) + "°C, H=" + String(h) + "%, Fumée=" + String(f));
  
  } else {
    // -------- État normal --------
    digitalWrite(LED_OK, HIGH);     //  LED verte ON
    digitalWrite(LED_ALERTE, LOW);  //  LED rouge OFF
    noTone(BUZZER);                 //  Coupe le buzzer
  }

  delay(2000); //  Pause avant la prochaine lecture
}

// --------- Fonction pour envoyer un SMS ---------
void envoyerSMS(String msg) {
  sim800l.println("AT+CMGF=1");     //  Mode texte pour SMS
  delay(500);
  
  sim800l.print("AT+CMGS=\"");      //  Commande pour envoyer un SMS
  sim800l.print(numero);            //  Numéro de destination
  sim800l.println("\"");
  delay(500);
  
  sim800l.print(msg);               // Écrit le message
  sim800l.write(26);                // Code Ctrl+Z pour envoyer
  delay(3000);                      //  Pause pour laisser le module envoyer
}

`



Merci pour votre aide

Désolé monsieur j'étais en train de modifier la demande . Merci beaucoup . J'ai redemandé avec précision

D'accord c'est compris monsieur .
Je l'ai déjà fait.
Merci beaucoup

Ou est le code et la description du circuit et de son alimentation ?

Ah c’était dans un autre post apparemment

Je viens de regrouper tous les morceaux mais c'est un petit peu dans le désordre.
Désolé.

@vidome_xavier évite d'ouvrir plusieurs fils de discussion sur le même sujet.

Il manque le circuit et la description des alims ainsi que la réponse à la question d’envoi d’un simple sms

Bonsoir

les SIM800L ont ‘l’avenir derrière ‘elles’, la fin de la 2G est pour 2026. De plus le roaming FRee Orange a, il me semble, pris fin.

Pour utiliser sans soucis les cartes SM800 EVB je faisais deux choses :

relier VDD à 5V , nécessaire sur cette carte pour alimenter en 5V le circuit d’adaptation de niveaux logiques des signaux Tx et RX.

Ajouter un condensateur electrolytique de forte valeur directement sur l’arrivée de l’alimentation de la cartes EVB, nécessaire pour garantir au SIM800 que les pics d’appels de courant seront satisfaits.

En votant ma photo en gros plan je remarque que le condensateur aurait mérité d’être ressoudé , mais comme l’heure est à la 4G la carte est à la retraite !

Il n’y a pas de quoi être désolé, c’est pour toi que je dis ça.
Comme les autres l’on indiqué, malheureusement tu n’a pas encore donné assez d’information :frowning:

Dans ton code tu ne récupère pas le retour des différentes commandes que tu envois.
Donc tu ne sais pas laquelle n’a pas marché?
Cela te permettrais aussi de savoir que la commande est fini et que tu puisses passer à une autre.