Go Down

Topic: envoyer un SMS avec un SIM 800L (Read 598 times) previous topic - next topic

Xflameuh

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.
Code: [Select]
#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.

al1fch

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é ?

Xflameuh

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.

al1fch

#3
Jun 07, 2019, 10:47 am Last Edit: Jun 07, 2019, 10:53 am by al1fch
Quote
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

Quote
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

Xflameuh

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.

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 ?

al1fch

#5
Jun 07, 2019, 11:03 am Last Edit: Jun 07, 2019, 11:14 am by al1fch
Quote
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

Xflameuh

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)

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 ?

Xflameuh

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.

al1fch

#8
Jun 11, 2019, 02:46 pm Last Edit: Jun 11, 2019, 02:51 pm by al1fch
Quote
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



.... 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 !!!

Xflameuh

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 ?

al1fch

#10
Jun 11, 2019, 03:18 pm Last Edit: Jun 11, 2019, 03:20 pm by al1fch
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

Xflameuh

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

Xflameuh

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.

Xflameuh

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 ? :smiley-confuse:
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 :

Code: [Select]
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.

al1fch

#14
Jun 18, 2019, 10:45 am Last Edit: Jun 18, 2019, 10:46 am by al1fch
Bonjour
Quote
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 ?

Go Up