Différences entre les versions de « Un programme pour recevoir des SMS sur l'ESP32 »

De Wiki de Mémoire Vive
Aller à la navigation Aller à la recherche
Ligne 1 : Ligne 1 :
Cette fois le programme est plus "opérationnel", il s'agit de recevoir des SMS sur le module ESP32-SIM800. Ainsi, on pourra envoyer des commandes depuis un tel pouvant déclencher des actions sur l'ESP32.
Cette fois le programme est plus "opérationnel", il s'agit de recevoir des SMS sur le module ESP32-SIM800. Ainsi, on pourra envoyer des commandes depuis un tel pouvant déclencher des actions sur l'ESP32.


Voici le code, qui s'appuie sur la bibliothèque AsyncSMS.  
Voici le code, qui s'appuie sur la bibliothèque AsyncSMS. Ce code envoie un accusé de réception "BIEN RECU".


Nous pourrons revenir sur tout cela en atelier, avec de plus amples explications.
Nous pourrons revenir sur tout cela en atelier, avec de plus amples explications.
Ligne 29 : Ligne 29 :
   Serial.println(number);
   Serial.println(number);
   Serial.println(message);
   Serial.println(message);
  // envoyer un message d'acquittement à l'émetteur
  String numberString = String(number); // Convertir en String
  Serial.println(numberString.c_str());
  smsHelper.send(numberString.c_str(), "BIEN RECU", 10);
}
}



Version du 4 décembre 2023 à 22:06

Cette fois le programme est plus "opérationnel", il s'agit de recevoir des SMS sur le module ESP32-SIM800. Ainsi, on pourra envoyer des commandes depuis un tel pouvant déclencher des actions sur l'ESP32.

Voici le code, qui s'appuie sur la bibliothèque AsyncSMS. Ce code envoie un accusé de réception "BIEN RECU".

Nous pourrons revenir sur tout cela en atelier, avec de plus amples explications.

// Please select the corresponding model

// #define SIM800L_IP5306_VERSION_20190610
// #define SIM800L_AXP192_VERSION_20200327
// #define SIM800C_AXP192_VERSION_20200609
  #define SIM800L_IP5306_VERSION_20200811



#include "AsyncSMS.h"
#include "utilities.h"

#define SerialMon Serial
#define SerialAT  Serial1


AsyncSMS smsHelper(&SerialAT, 115200);

void messageReceived(char * number, char * message) {
  //Do something with your message
  Serial.println("Message received");
  Serial.println(number);
  Serial.println(message);
  // envoyer un message d'acquittement à l'émetteur
  String numberString = String(number); // Convertir en String
  Serial.println(numberString.c_str());
  smsHelper.send(numberString.c_str(), "BIEN RECU", 10);
}

void setup() {
  // Set console baud rate
  SerialMon.begin(115200);

  // Set GSM module baud rate and UART pins
  SerialAT.begin(115200, SERIAL_8N1, MODEM_RX, MODEM_TX);

  setupModem();
  smsHelper.init();
  smsHelper.smsReceived = *messageReceived;
}

void loop() {
  smsHelper.process();
}