Go Down

Topic: GSM Arduino (Read 170 times) previous topic - next topic

JordanMorvan

Feb 03, 2020, 09:28 pm Last Edit: Feb 07, 2020, 01:51 am by JordanMorvan
Bonjour tout le monde je vous contacte en cette belle soirée car j'ai un petit (très gros ) problème :

 Je viens d'acquérir , il y a peu , un module GSM et en tant que novice avec ce module j'ai tenté quelque petits code avec celui-ci

Quand je lance le programme tout a l'air de bien fonctionner MAIS quand j'appuie sur le bouton pour envoyer un message l'arduino me répond sur le moniteur série "acces error" or le code pin que j'ai entré est le bon a savoir 5555 et pourtant le problème persiste


J'espère une réponse complète pouvant m'aider

Merci beaucoup


voici mon code :

Code: [Select]


//importation de librairies
#include <SoftwareSerial.h>
#include <String.h>

SoftwareSerial sim8001(7,8);
boolean sms ;
int button=9;
int b;
String SIM_PIN_CODE = String( "5555" );


void setup() {

pinMode(button, INPUT);
sim8001.begin(9600);
Serial.begin(9600);
delay(500);
sms = true;

if(sim8001.available())
Serial.write(sim8001.read());
sim8001.print("AT+CPIN=");
sim8001.println ( SIM_PIN_CODE );
}

void loop(){

b = digitalRead(button);

if (sms==true){
  sendsms();
  sms=false;
}
}
void sendsms(){

if(b == 1){

Serial.println("Sending text message...");
sim8001.print("AT+CMGF=1\r"); //lance le mode sms
delay(100);

sim8001.print("AT+CMGS=\"+33000000\"\r");//on entre le correspondant
delay(100);
sim8001.print("Votre boîte n'est pas vide\r"); //on entre le message que recevras la personne
sim8001.print(char(26));
delay(100);
sim8001.println();
Serial.println("Text send"); //le message a été envoyé

}
}

J-M-L

#1
Feb 04, 2020, 02:13 am Last Edit: Feb 04, 2020, 02:18 am by J-M-L
Bonjour

lisez comment utiliser le forum (les posts épinglés en haut du forum comme "Bien éditer son post pour les nuls" , "Faire un Nouveau Sujet ou le corriger avec les Balises..." et "Règles du forum francophone"), et faites un post "propre"

(profitez en pour enlever le N° de téléphone si c'est le vrai...)
----

- Est-ce que la commande AT seule répond quelque chose ?
- Est-ce que la SIM est dans le bon sens ?
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

JordanMorvan

Bonsoir J-M-L

je découvre le composant , pourrait tu me dire ce qu'est la commande AT ?

et oui la sim est dans le bon sens !

J-M-L

AT envoie une demande d'attention de la part du composant
Le composant doit répondre OK
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

JordanMorvan

Bonjour , désolé d'avoir tarder je suis allé chercher mes composants et ai réessayer :

je ne reçoit uniquement un message d'erreur que lorsque j'essai d'envoyer un sms


Est-ce que le problème viendrait de mon code (la ou j'ai entré du code pour déverrouiller la pin)

J-M-L

Est-ce que le problème viendrait de mon code (la ou j'ai entré du code pour déverrouiller la pin)
Oui et non, certains jeux de commande AT demandent à ce que le code soit entre guillemets mais le module doit répondre à la commande AT\r\n par un OK que vous ayez ou non une carte SIM insérée.

Là avec ce code
Code: [Select]
String SIM_PIN_CODE = String( "5555" );
....
sim8001.print("AT+CPIN=");
sim8001.println ( SIM_PIN_CODE );
vous envoyez juste AT+CPIN=5555\r\n

définissez votre code pin comme cela
Code: [Select]
const char* SIM_PIN_CODE = "\"5555\"";
....
sim8001.print("AT+CPIN=");
sim8001.println ( SIM_PIN_CODE );


en mettant la séquence d'échappement du symbole guillemet \" dans la chaîne (pas besoin d'utiliser la classe String....), ce sera imprimé aussi et vous enverrez donc AT+CPIN="5555"\r\n

mais il peut y avoir 36 autres problèmes, alimentation, branchements etc... tant que votre module ne répond pas à la commande AT\r\n par un OK, pas la peine d'aller plus loin.


Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

JordanMorvan

très bien merci , je vais essayer de suite pour voir si je reçoit un ok !

Go Up