J'envoie et recoit parfaitement des sms
oui 9600 pour Serial et mySerial
#include <SoftwareSerial.h>
//Create software serial object to communicate with SIM800L
SoftwareSerial mySerial(5, 6);
void updateSerial() {
unsigned long startTime = millis();
// Écouter pendant 5 secondes ou jusqu'à réception de données
while (millis() - startTime < 5000) {
if (Serial.available()) break;
}
// Si des données ont été reçues, lire avec timeout de 50ms
if (Serial.available()) {
startTime = millis();
while (millis() - startTime < 50) { // ~5 caractères à 9600 bauds
if (Serial.available()) {
mySerial.write(Serial.read());
startTime = millis();
}
}
} else {
Serial.println("timeout - Il n'y a pas eu de réponse");
}
}
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
Serial.println("Initializing...");
// reset de la carte SIM900
pinMode(9, OUTPUT);
digitalWrite(9, LOW);
delay(1000);
digitalWrite(9, HIGH);
delay(2000);
digitalWrite(9, LOW);
delay(3000);
mySerial.println("AT"); // Check if the module is responding
updateSerial();
mySerial.println("AT+CSQ"); // Check signal quality
updateSerial();
mySerial.println("AT+CCID"); // Confirm SIM card is present
updateSerial();
mySerial.println("AT+COPS=0"); // Enable automatic operator selection (before checking registration)
updateSerial();
mySerial.println("AT+CREG=2"); // Enable detailed network registration status
updateSerial();
mySerial.println("AT+CREG?"); // Check if registered on the network
updateSerial();
}
void loop() {
updateSerial();
}