J'utilise une alimentation externe, Output 5V 2.0 A (selon la datasheet, c'est ce qu'il faut).
Lorsque j'importe mes librairies (notamment SIM908IDE100, puis d'autres qui traitent la SIM800L) alors j'ai bien les messages de confirmation pour l'envoie de SMS, mais sur mon portable j'ai rien...
Je tiens à préciser que la LED NETWORK, clignote toute les secondes. Selon les sources d'infos que j'ai consulté c'est soit disant un problème d'acquisition du réseau (par exemple le code Pin --> désactivé sur ma carte sim) ou bien un problème d'alimentation.
Le pb d'alimentation je veux bien le croire si la carte était alimentée depuis l'arduino mais là c'est depuis l'alimentation.
J'utilise un arduino nano.
Je n'ai pas mis de diode 1N4007 comme indiqué sur le tutoriel car il semblerait que ce n'est pas les mêmes version de carte, moi j'ai une EVB qui contient 7 pins, et je branche le 5V directement sur le 5VIN.
Si tu as bien suivi les tutos, les branchements devraient être corrects, mais vérifie encore on ne sait jamais.
Sinon, c'est un problème soft. Je suppose que ton code compile bien ? Quels sont les messages que tu obtiens sur la console Arduino lorsqu'il s'exécute ?
Il y a pas mal de message récents sur le forum qui traitent du SIM800, lis les tu trouveras peut-être ce qui ne va pas. ça peut aussi venir du numéro de téléphone auquel tu envoies le SMS : je crois qu'il doit être au format "06xxxxxxxx" et pas "+336xxxxxxxxx". Teste ça aussi...
Je n'ai pas spécialement de message d'erreur. J'utilise des librairies qui ont très certainement fait leur preuves. Oui, j'ai testé +33... 06 et même (par acquis de conscience) 0033 ...
Rien, j'ai bien "SMS Sent OK" (avec 06) mais aucun message sur mon tél...
Tu as bien testé ton alim et vérifié les préconisations?
Entre les lignes, je perçois que toi-même, tu en doutes. Mais si
Ces vilaines bêtes ont un gros pic de conso au démarrage ou pour faire des trucs de vilaines bêtes.
Apparemment on cause de 2A...
C'est pas moi qui t'aiderai à comprendre les alimentations mais je sens qu'il va falloir s'assurer qu'elle envoie assez de patate. Bon ok tout ça n'est pas très technique, mais c'est la première cause de panne: l'énergie.
Ça peut venir de la configuration du module SIM800L. Poste ton code, en tout cas le début (initialisation, setup, début de la loop : ce qui déclare le module, l'initialise, prépare et envoie le SMS).
Salut lesept,
J'ai des olives pour l'apéro, sers toi
Je vais jeter un oeil à la datasheet, je me demande s'il n'y aurait pas un mode avion, un enable ou je ne sais quel cavalier ...... prend un air pensif
lesept:
ça peut aussi venir du numéro de téléphone auquel tu envoies le SMS : je crois qu'il doit être au format "06xxxxxxxx" et pas "+336xxxxxxxxx". Teste ça aussi...
Qu'il est fort ce koala, mais j'ai une autre version, moi:
sim800l.println("ATD+4479********;");//dial the number, must include country code
Voici le code (librairie dispo dans la biblio arduino, GSMSIM de Erdem A. Version 1.0.19)
#include <GSMSim.h>
#define RX 8
#define TX 7
#define RESET 2
#define BAUD 9600
GSMSim gsm;
/*
* Also you can this types:
* GSMSim gsm(RX, TX);
* GSMSim gsm(RX, TX, RESET);
* GSMSim gsm(RX, TX, RESET, LED_PIN, LED_FLAG);
*/
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("GSMSim Library - SMS Example");
Serial.println("");
delay(1000);
gsm.start(); // baud default 9600
//gsm.start(BAUD);
Serial.println("Changing to text mode.");
gsm.smsTextMode(true); // TEXT or PDU mode. TEXT is readable :)
char* number = "06256743**";
char* message = "Hi my friend. How are you?"; // message lenght must be <= 160. Only english characters.
Serial.println("Sending Message --->");
Serial.println(gsm.smsSend(number, message)); // if success it returns true (1) else false (0)
delay(2000);
Serial.println("Listing unread message(s).");
Serial.println(gsm.smsListUnread()); // if not unread messages have it returns "NO_SMS"
Serial.println("Read SMS on index no = 1");
Serial.println(gsm.smsRead(1)); // if no message in that index, it returns IXDEX_NO_ERROR
}
void loop() {
// put your main code here, to run repeatedly:
}
Ça peut être un problème de branchement, tu définis des broches RX TX mais tu ne les utilises pas, donc tu prends les broches par défaut. Selon l'Arduino que tu utilises ça peut être d'autres broches.
Essaye de remplacer la déclaration du GSM par celle qui utilise les valeurs de RX TX.
Un début de piste ?
Dans le Scope de l'arduino j'ai ces messages :
/var/folders/r2/zblqdvd97zsbs3l9spzb1t5r0000gn/T/arduino_modified_sketch_634080/GSMSim_SMS.ino: In function 'void setup()':
/var/folders/r2/zblqdvd97zsbs3l9spzb1t5r0000gn/T/arduino_modified_sketch_634080/GSMSim_SMS.ino:33:18: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
char* number = "06256743**";
^
/var/folders/r2/zblqdvd97zsbs3l9spzb1t5r0000gn/T/arduino_modified_sketch_634080/GSMSim_SMS.ino:34:19: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
char* message = "Hi my friend. How are you?"; // message lenght must be <= 160. Only english characters.
^
Tu utilises une communication série mais le nano n'a qu'un port série sur les broches 0 & 1,et elles sont utilisées par la liaison avec le PC (la console). Il te faut définir une autre liaison série pour le module, ce sera une liaison software, par opposition à la liaison hardware que tu utilises pour l'instant.
Pour faire ça, il faut utiliser la bibliothèque SoftwareSerial. Tu l'installes, tu la déclares dans ton code, tu ouvres une liaison software dans le début du code avec les broches 7&8 ou autres, tu l'initialises dans le setup et ça roule...
#include <GSMSim.h>
#include <SoftwareSerial.h>
#define RX 7
#define TX 8
#define RESET 2
#define BAUD 9600
SoftwareSerial mySerial(7, 8); // RX, TX
GSMSim gsm(RX, TX, RESET);
//GSMSim gsm;
/*
* Also you can this types:
* GSMSim gsm(RX, TX);
* GSMSim gsm(RX, TX, RESET);
* GSMSim gsm(RX, TX, RESET, LED_PIN, LED_FLAG);
*/
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("GSMSim Library - SMS Example");
Serial.println("");
delay(1000);
gsm.start(); // baud default 9600
//gsm.start(BAUD);
Serial.println("Changing to text mode.");
gsm.smsTextMode(true); // TEXT or PDU mode. TEXT is readable :)
char* number = "06256743**";
char* message = "Hi my friend. How are you?"; // message lenght must be <= 160. Only english characters.
Serial.println("Sending Message --->");
Serial.println(gsm.smsSend(number, message)); // if success it returns true (1) else false (0)
delay(2000);
Serial.println("Listing unread message(s).");
Serial.println(gsm.smsListUnread()); // if not unread messages have it returns "NO_SMS"
Serial.println("Read SMS on index no = 1");
Serial.println(gsm.smsRead(1)); // if no message in that index, it returns IXDEX_NO_ERROR
}
void loop() {
// put your main code here, to run repeatedly:
}
La réponse du serial monitor
GSMSim Library - SMS Example
Changing to text mode.
Sending Message --->
1
Listing unread message(s).
ERROR
Read SMS on index no = 1
INDEX_NO_ERROR
Mais toujours rien sur mon cellulaire ...
Pour vous aider dans la visualisation de mon montage, j'ai fais un document joint (fait avec powerpoint, je n'ai pas de logiciel qui permet de faire de jolies choses )
Edit, en raison des restrictions de taille sur le forum, vous pouvez consulter le fichier Ici.
Il semble qu'il y a du mieux puisqu'il ne fait plus d'erreur de réseau, bien que tu ne reçoives pas le SMS.
Il y a un thread sur la partie GB du forum où des gens ont des problèmes similaires avec ce module. C'est assez long, et il est difficile d'y trouver une info pertinente. Certains parlent d'alim, d'autres de carte SIM qui doit fonctionner en 2G, on s'y perd un peu.
Si tu as le courage de tout lire, tu y trouveras peut-être une solution.