envoyer un SMS avec un SIM 800L

Bonjour,

Tout d'abord je m'excuse si ce topic a déjà été résout mais je ne trouve pas d'information pouvant régler mon problème. De plus, je suis un débutant dans la programmation en générale et encore plus pour celle d'Arduino.
Je souhaite tout bêtement envoyer un SMS à l'aide d'un SIM800L (SIM800L)

Je branche directement :

Arduino / SIM800L
5V / 5V
GND /GND
PIN 8 /SIM_TXD
PIN 7 /SIM_RXD

Voici le code que j'ai réalisé, mais je ne reçois pas de SMS.

#include <SoftwareSerial.h>
  
#define SIM_TX 8
#define SIM_RX 7
  
SoftwareSerial serialSIM800(SIM_TX,SIM_RX);
  
void setup() {
  Serial.begin(9600);
  while(!Serial);
    
} 
  
void loop() {
  serialSIM800.begin(9600);
  delay(2000);
    
  Serial.println("Envoi du SMS en cours...");

  serialSIM800.write("AT+CMGF=1\r"); //activation du mode SMS
  delay(2000);
  
  serialSIM800.write("AT+CMGS=\"+33647XXXXXX\"\r"); //envoi d'un sms au numéro inscrit
  delay(2000);
    
  serialSIM800.write("Salut"); //Contenu du SMS
  delay(2000);
    
  serialSIM800.write((char)26); //Permet d'indiquer que le message est finit
  delay(2000);
      
  Serial.println("SMS envoyé !");
}

Merci d'avance pour vos réponses.

Bonjour

Ce module SIM800 EVB est bien prévu pour fonctionner sous 5V mais l'alimentation doit pouvoir fournir 2 A par moments. Est-ce le cas ? D'où sort actuellement le 5V envoyé au module ?

Le code PIN de la carte SIM a-t-il bien été désactivé ?

Le module est alimenté directement par le pin 5V de l'Arduino.
Vous dites que l'alimentation doit pouvoir fournir 2A par moment.
J'alimente ma carte Arduino depuis le port USB de mon ordinateur. Je ne pense donc pas qu'il fournisse 2A.
De plus, l'alimentation des pins de l'Arduino est régulée à 20mA si je ne me trompe pas ?

J'ai effectivement oublié de préciser que j'ai bien désactivé le code PIN de la carte SIM.

Le module est alimenté directement par le pin 5V de l'Arduino.
Vous dites que l'alimentation doit pouvoir fournir 2A par moment.
J'alimente ma carte Arduino depuis le port USB de mon ordinateur. Je ne pense donc pas qu'il fournisse 2A.

C'est ça. Pour arriver à faire fonctionner les SIM800 il faut leur appliquer une alimentation 'généreuse'
Dans le cas du SIM800L EVB (module 5V) un 'chargeur de téléphone 5V 2A' fait souvent l'affaire aidé au besoin par un condensateur de grosse capacité .
Une sortie USB d'ordinateur ne suffit pas
Au niveau des leds du module ça se traduit par un clignotement signalant que le module cherche en vain à se connecter au réseau sans pouvoir y arriver

De plus, l'alimentation des pins de l'Arduino est régulée à 20mA si je ne me trompe pas ?

pas de régulation , juste une limitation ....... sans rapport avec le sujet puisqu'il ne s'agit pas d'alimenter le module à partir d'une sortie numérique de l'Arduino

al1fch:
C'est ça. Pour arriver à faire fonctionner les SIM800 il faut leur appliquer une alimentation 'généreuse'
Dans le cas du SIM800L EVB un 'chargeur de téléphone 2A' fait souvent l'affaire
Une sortie USB d'ordinateur ne suffit pas

Si j'utilise une batterie externe envoyant en sortie du 5V/2,1A, cela a-t-il une chance de fonctionner ?
Car j'ai également vu que l'entrée USB de l'Arduino ne peut recevoir plus de 500mA.

al1fch:
Au niveau des leds du module ça se traduit par un clignotement signalant que le module cherche en vain à se connecter au réseau sans pouvoir y arriver

C'est donc pour ça que la LED D6 clignote ?

Si j'utilise une batterie externe envoyant en sortie du 5V/2,1A, cela a-t-il une chance de fonctionner ?

Une chance , oui si cette batterie peut réellement fournir rapidement le tout le courant annoncé

Clignotement LED : le rythme de clignotement informe en général sur l'état du module.
De mémoire un clignotement lent (toutes les secondes ou toutes les 2 secondes ?) indique que le module est connecté au réseau

al1fch:
Une chance , oui si cette batterie peut réellement fournir rapidement le tout le courant annoncé

Affaire à suivre... (je n'ai pas la batterie sous la main pour la journée)

al1fch:
Clignoetement LED : le rythme de clignotement informe en général sur l'état du module.
De mémoire un clignotement lent (toutes les secondes ou toutes les 2 secondes ?) indique que le module est connecté au réseau

Oui pour le clignotement toutes les secondes.

PS : Pourquoi je ne vois votre message qu'en entier lorsque je le cite ?

J'ai réessayé avec la batterie externe. Cela ne fonctionne pas.
Cependant, j'ai une question : La batterie externe alimente ma carte Arduino, faut-il que j'alimente directement mon module ? Si c'est le cas, je ne vois pas comment l'alimenter puisqu'il n'y a aucun port qui le permet.

faut-il que j'alimente directement mon module ? Si c'est le cas, je ne vois pas comment l'alimenter puisqu'il n'y a aucun port qui le permet.

Oui , il faut alimenter directement le module SIM800L EVB

Aucun port ?? En retournant un module SIM800L EVB on voit les 7 connections suivantes

5V GND VDD SIM_TXD SIM_RXD GND RST
EVB.png

.... sous réserve que le lien donné au message #1 (lien vers un SIM800L EVB) soit correct
si le module SIM800L n'est pas un EVB il ne faut surtout pas l'alimenter en 5V !!!

EVB.png

al1fch:
Oui , il faut alimenter directement le module SIM800L EVB

Aucun port ?? En retournant un module SIM800L EVB on voit les 7 connections suivantes

D'accord, mais dans ce cas, en ayant une alimentation classique (de style batterie externe ou chargeur de téléphone) comment est-ce que je peux le connecter au 5V et au GND du module si mon alimentation externe se branche en USB ou en câble jack mâle ?

il faut fabriquer un câble pour prendre le 5V /2A là où il est disponible ... pour l'envoyer sur l'entrée d'alimentation du module ou , comme ci-dessous , ajouter une embase USB, mini USB ou µUSB

Affaire à suivre... Je dois me fournir une embase usb...

Bonjour,

J'ai réussir à me fournir d'une embase micro usb, j'ai alimenté mon module SIM800L avec une batterie Powerbank YN-025. L'alimentation est pour 5V et 2,1A max.

Cependant, je n'arrive toujours pas à réceptionner de SMS.
Le problème pourrait-il survenir d'autre part que l'alimentation ?

Y a-t-il un problème dans mon programme par exemple ?

Merci d'avance pour vos réponses.

Suite à quelques recherches, j'ai remarqué que la LED de mon module clignote toutes les secondes, ce qui indique qu'elle n'est pas connecté au réseaux.
Cependant, je l'ai toujours observé avec cette condition.
De plus, ma LED d'alimentation clignote toutes les 10 secondes, est-ce normal ? :confused:
J'ai essayé de l'alimenter de plusieurs manières :

  • par la carte Arduino et ses pins GND/5V;
  • par le port usb de mon ordinateur;
  • à une prise secteur avec un adapteur 5V/2,4A;
  • à ma batterie externe Powerbank YN-025 5V/2,1A.

J'ai testé les commandes AT manuellement pour voir ce que répondait le module :

Setup Complete!
AT

OK

Call Ready
⸮AT+CFUN?

+CFUN: 1

OK

Call Ready
AT+CFUN=?

+CFUN: (0,1,4),(1)

OK

+CPIN: READY

Call Ready
AT+CFUN=1

OK

Call Ready
AT+CREG?

+CREG: 0,2

OK

Call Ready
AT+COPS?

+COPS: 0

OK

Call Ready
⸮AT+COPS=?

+CPIN: READY

Call Ready

SMS Ready

Certaines commandes (AT+CFUN? et AT+COPS=?) ont du être rentré deux fois avant d'obtenir une réponse convenable (j'obtenais un ? sinon).

La commande AT+COPS=? ne devrait-elle pas me renvoyer les différents réseaux captés par le module ? J'ai essayé de changer d'endroit (en montant d'un étage), en vain, le réseau ORANGE sur mon téléphone est très bon dans le lieu où je me trouve.

Bonjour

La commande AT+COPS=? ne devrait-elle pas me renvoyer les différents réseaux captés par le module ?

Oui, tous les réseaux disponibles devraient ête listés par cette commande

Exemple :

mauvaise antenne ? mauvaise connection d'antenne ?

J'utilise ce module, l'antenne est fournie avec, je l'ai serré fermement. Je n'ai cependant pas la possibilité de la tester en utilisant une autre puisque je n'en ai pas d'autres.

La LED d'alimentation qui clignote toutes les 10s est-ce normal ?

De plus, en multipliant les topics concernant le SIM800L, les réponses sont mitigées par rapport aux connexions TX et RX, certains disent qu'il faut les brancher aux pins numériques 8 et 7 et d'autres disent qu'il faut les brancher aux pins numériques 2 et 3

Je viens de réessayer la commande AT+COPS=? et le module me renvoie :

AT+COPS=?

Call Ready

SMS Ready

+COPS: (1,"Orange F","Orange","20801"),(3,"SFR","SFR","20810"),,(0-4),(0-2)

OK

Ce qui est plutôt bon signe puisque j'utilise le réseau ORANGE.
Cependant, ça ne m'avance à pas grand chose puisque la LED "NET" continue à clignoter rapidement...

Je ne comprend pas un truc : Le fait que la commande me renvoie les réseaux disponibles indique-t-elle que l'antenne fonctionne bien ?
Si oui, le fonctionnement du réseau peut-être due qu'à l'alimentation hormis l'antenne non ?

l'antenne fonctionne au moins en réception puisque le module capte les signaux !!

le clignotement de la led power ne parait pas normal, chez moi avec le même module la led reste allumée en permanence

Bonjour,

J'ai réussi à envoyer un SMS ! :slight_smile:
J'ai rajouter un condensateur 4700uF en parallèle de mon alimentation et le module a réussi à se connecter au réseau.
Cependant, j'ai du revoir le code, en mettant tout le code dans la boucle setup.
Car dans la boucle loop cela ne marche pas.
Mon souhait est cependant d'envoyer un message d'alerte dans le cas où mon capteur renvoie une valeur dépassant un certain seuil.

Je ne comprend pas trop qu'est-ce que ça change que le code soit dans le setup ou dans le loop hormis le fait que le loop s'effectue en boucle.

Merci d'avance pour votre réponse !

Petit post pour dire que j'ai finalement réussi à faire tout ce que je souhaitais.

Cependant, mon SIM800l redémarre à certains moment et a des difficultés à se remettre en marche. Je n'ai pourtant pas de problème de câblage.
Si quelqu'un a une idée :slight_smile: