« Un programme pour recevoir des SMS sur l'ESP32 » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| 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 à 21: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();
}