Je travaille sur un projet avec un module SIM808 monté sur un shield Arduino.
Je souhaite envoyer un SMS automatiquement au démarrage.
Voici ma configuration :
Arduino Uno
SIM808 avec antenne GSM connectée
Broches TX du SIM808 sur D10 et RX sur D11
Utilisation de SoftwareSerial
Problème :
Le message ne s'envoie pas. Le moniteur série montre "SMS envoyé", mais rien ne part.
Voici le code utilisé :
#include <SoftwareSerial.h>
SoftwareSerial sim808(10, 11); // RX = 10, TX = 11
void setup() {
Serial.begin(9600); // Moniteur série (PC)
sim808.begin(9600); // SIM808
delay(1000); // Attente initiale
Serial.println("Initialisation SIM808...");
// Démarre la communication
sendCommand("AT");
delay(1000);
// Désactive l’écho des commandes
sendCommand("ATE0");
delay(1000);
// Définit le mode texte pour SMS
sendCommand("AT+CMGF=1");
delay(1000);
// Spécifie le numéro de téléphone
sendCommand("AT+CMGS=\"+33612345678\""); // Remplace par ton numéro
delay(1000);
// Contenu du SMS
sim808.print("Message automatique depuis l'Arduino !");
delay(500);
// Envoi du SMS (CTRL+Z ou 26 en ASCII)
sim808.write(26);
delay(5000);
Serial.println("SMS envoyé !");
}
void loop() {
}
void sendCommand(String command) {
sim808.println(command);
Serial.print("Commande envoyée : ");
Serial.println(command);
}
De plus avec l'interconnexion que j'ai fait j'ai mis le jumper du sim808 sur D0/D1, mais même dans le moniteur en série quand je téléverse un sketch pour taper les commandes ATde façon manuelles, je n'ai pas de réponse.
voici des images de mon cablage :
le module seul avec un USB UART répond aux commandes AT correctement, mais c'est la connexion serial entre le module et l'arduino qui pose problème. Avec le câblage pas de réponses aux commandes AT
Sur la photo tu connectes la UNO par des fils sur les barrettes jaunes du module SIM 808. Pour avoir la connexion avec les lignes Rx/Tx du module il faut que le sélecteur soit dans la position "UART select"
Le sélecteur est en haut à droite du schéma.
Rx/Tx va sur le CP2102, utilisé lorsqu'en position "USB Arduino"
SIM_Rx/SIM_Tx vont sur les barrettes jaunes (P1, P2, P4 sur le schéma). Si tu n'as aucun cavalier entre P1 et P2 ou P4 et P2, tu peux effectivement raccorder des Tx/Rx externes sur les barrettes P1 et P4 mais il faut que le sélecteur soit dans la position "UART select" sinon RxD et TxD sont en l'air et le SIM808 ne reçoit aucun signal.
je comprends bien, mais je penses c'est mieux d'utiliser la superposition avec le shield parce que même dans le site du constructeur utilise l'empilement. Dans ce cas ou je dois mettre le cavalier ?
Il y a le selecteur avec le cavalier mais aussi un autre selecteur qui peut se mettre sur (USB,none qui est le milieu, ou D0/D1). avec la superposition, est ce que je dois mettre ce selecteur sur D0/D1 ?
Oui et pas de cavalier sur les barrettes jaunes uniquement un fil sur SIM_RX et un autre sur SIM_TX pour aller vers la UNO. Sans oublier un GND entre les deux évidemment.
J’ai suivi les instructions du document, mais il montre uniquement comment utiliser le module avec un câble UART. Or, moi je veux téléverser le code sur l’Arduino, superposer le shield SIM808, alimenter l’ensemble, et que le message s’envoie automatiquement.