Offline
Full Member
Karma: 0
Posts: 178
|
 |
« on: January 14, 2013, 02:57:05 am » |
Bonjour à tous, Je planne depuis un long moment sur l'envoi d'SMS. J'ai pourtant lu et relu la doc sans succès Voici mon code. SoftwareSerial cell(2,3); //Send SMS cell.println("AT+SBAND=6"); cell.println("AT+CMGF=1"); // set SMS mode to text cell.println("AT+CMGS="); // now send message... cell.println("\""); cell.println("+41760009988");//+41=Country code, 76= Area code cell.println("\""); cell.println("\r"); delay(500); // give the module some thinking time cell.println("Bipme Alarm"); // our message to send cell.println("0x1A,10"); // ASCII equivalent of Ctrl-Z 0x1A,10 delay(15000); // the SMS module needs time to return to OK status Serial.print("SMS Sent");
Je me demande si le problème vient pas de la ligne cell.println("0x1A,10"); // ASCII equivalent of Ctrl-Z 0x1A,10
J'ai aussi d'essayé de mettre cell.println("0x1A"); cell.println("Ctrl-Z"); // ASCII equivalent of Ctrl-Z 0x1A,10
mais sans succès. Je vous serais très reconnaissant si vous pouviez corriger mon code. Aussi l'autre doute que j'ai c'est cell.println("AT+SBAND=6");
J'ai un peu totu essayer cell.println("AT+SBAND=6"); cell.println("AT+SBAND=4"); Je suis en suisse et la frequence est 900/1800 je vous remercie
|
|
|
|
« Last Edit: January 14, 2013, 03:03:27 am by pierrot10 »
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 831
|
 |
« Reply #1 on: January 14, 2013, 04:30:53 am » |
bonjour, tu peux déjà faire un retour dans la console pour voir. quelle shield utilise tu? en général, ce que je fais avant de mettre la sim sur l'arduino, je la configure sur un gsm normal. sinon essaye avec ca #include <NewSoftSerial.h> NewSoftSerial mySerial(7,  ; const char* message = "toto"; const char* numero1 = "000000000"; void setup() { mySerial.begin(19200); // the GPRS baud rate Serial.begin(19200); // the GPRS baud rate } void loop() { for(int i=0;i<2;i++){ mySerial.println("ATZ"); //Because we want to send the SMS in text mode delay(1000); mySerial.println("AT+CMGF=1"); //Because we want to send the SMS in text mode delay(1000); mySerial.print("AT+CMGS="); //Start accepting the text for the message mySerial.print(34,BYTE); mySerial.print(numero1); //Start accepting the text for the message mySerial.println(34,BYTE); delay(1000); mySerial.print(34,BYTE); mySerial.print(message); //The text for the message mySerial.print(34,BYTE); delay(1000); mySerial.print(26,BYTE); //Equivalent to sending Ctrl+Z } }
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 19
Breaks ? We don't need breaks !!!
|
 |
« Reply #2 on: January 14, 2013, 06:59:06 am » |
Pas de code PIN sur la carte SIM ?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 178
|
 |
« Reply #3 on: January 14, 2013, 10:45:08 am » |
Hello, Merci pour vos réponses. MAis quand entendu pas un return dans la console? J'ai essayé de le faire ca ne me donne rien. Non, j'ai pensé à desactivé le code PIN et j'avais deja insérer la carte dans un téléphone. J'ai pu aller sur internet et recevboir des appels Ce qui me préoccupe toujours c'est command configurer la band cell.println("AT+SBAND=6"); J'ai aussi essayer de mettre 4. Aussi une petite question, bête. Pour le moment mon arduino est allimenté pae mon port USB. Es-ce que ca pourrait etre un manque de Voltage? je n'ai pas encore essayer de l'alimenter avec 9V. J'ai aussi ajouté ceci cell.println("ATZ"); je ne l'avais pas, mais apparement ca n'a rien changer. Grrrrr, je comprend rien.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 178
|
 |
« Reply #4 on: January 14, 2013, 10:47:54 am » |
Je vous remets mon code: const char* message ="Coucou"; const char* numero ="0762244555"; cell.println("ATZ"); cell.println("AT+SBAND=6"); cell.println("AT+CMGF=1"); // set SMS mode to text cell.println("AT+CMGS="); // now send message... cell.println("\""); cell.println(numero); cell.println("\""); cell.println("\r"); //delay(500); // give the module some thinking time cell.println(message); // our message to send cell.println("0x1A"); // ASCII equivalent of Ctrl-Z 0x1A,10 //delay(15000); // the SMS module needs time to return to OK status Serial.print("SMS Sent");
Au passage, c'est quoi le * après le char: char*?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 21
|
 |
« Reply #5 on: January 14, 2013, 11:33:01 am » |
|
|
|
|
|
Logged
|
Arduino Duemilanove(ATmega328)
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 19
Breaks ? We don't need breaks !!!
|
 |
« Reply #6 on: January 14, 2013, 11:40:04 am » |
Pourquoi ne pas essayer avec la librairie GoGprs si le shield est compatible ? https://github.com/mchobby/GoGprsCa masque les commandes AT et simplifie la syntaxe, les puristes détesteront. 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 831
|
 |
« Reply #7 on: January 14, 2013, 12:34:54 pm » |
si tu nous donnais le type de carte gsm que tu utilise  EDIT : je pense a un truc, essaye de mettre le code pays au lieu du 07 pour le france ca donnerait ceci +33 6 00 00 00 00 EDIT 2 : je viens de retrouver un tuto suite à un mystère avec un shield gsm http://arduino.cc/forum/index.php/topic,106227.0.html
|
|
|
|
« Last Edit: January 14, 2013, 12:41:55 pm by infobarquee »
|
Logged
|
|
|
|
|
Forum Moderator
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2879
Yoplait... le pt'it suisse
|
 |
« Reply #8 on: January 14, 2013, 01:50:26 pm » |
si tu nous donnais le type de carte gsm que tu utilise  EDIT : je pense a un truc, essaye de mettre le code pays au lieu du 07 pour le france ca donnerait ceci +33 6 00 00 00 00 EDIT 2 : je viens de retrouver un tuto suite à un mystère avec un shield gsm http://arduino.cc/forum/index.php/topic,106227.0.htmlAlors ce serait plutôt +41 76xxxxxxx (076, 079... sont des préfixes pour les téléphones portables GSM en Suisse)
|
|
|
|
« Last Edit: January 14, 2013, 01:53:01 pm by Jean-François »
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 178
|
 |
« Reply #9 on: January 14, 2013, 01:50:57 pm » |
Oui j'avais trouvé ce tuto, mais je n'avais pas le téléphone du service center, maintenant c'est fait
J'ai aussi essayé d'utiliser GoGprs, mais sans succès, il me retourne toujours
Not registered on Network Not registered on Network
Pourtant j'ai mis la carte dans un téléphone et ca marche.
J'ai en fait essayer un des exemple fourni avec la librairie
|
|
|
|
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 831
|
 |
« Reply #10 on: January 14, 2013, 01:53:02 pm » |
si tu nous donnais le type de carte gsm que tu utilise  EDIT : je pense a un truc, essaye de mettre le code pays au lieu du 07 pour le france ca donnerait ceci +33 6 00 00 00 00 EDIT 2 : je viens de retrouver un tuto suite à un mystère avec un shield gsm http://arduino.cc/forum/index.php/topic,106227.0.htmlAlors ce serait plutôt +41 76xxxxxx (076, 079... sont des préfixes pour les téléphones portables en Suisse) hé oui, pour ca que j'ai bien mis "pour le france ca donnerait ceci" (avec une belle faute en prime  j'aimais bien le fendant et j'aime bien le chocolat, mais je connais pas l'indicatif de la suisse  JF aux aguets comme dab 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 178
|
 |
« Reply #11 on: January 14, 2013, 02:01:30 pm » |
Bon ben chais plus quoi faire. J'ai fait un petit fichier séparé et voci mon réaultat final #include <SoftwareSerial.h> SoftwareSerial cell(2,3); void setup(){ Serial.begin(9600); cell.begin(9600); //Let's get started!
Serial.println("Starting SM5100B Communication...");
delay(3000); } void loop(){ //Send SMS const char* message ="Alarm"; const char* numero ="+41761112233"; //cell.print("AT+SBAND=4"); cell.println("ATZ"); cell.println("AT+CMGF=1"); // set SMS mode to text cell.print("AT+CSCA=+41765980000"); cell.print("AT+CMGS="); // now send message... cell.print("\""); cell.print(numero); cell.print("\""); cell.print("\r"); delay(500); // give the module some thinking time cell.print(message); // our message to send //cell.write("0x1A"); cell.println("0x1A"); // ASCII equivalent of Ctrl-Z 0x1A,10 //delay(15000); // the SMS module needs time to return to OK status Serial.print("SMS Sent");
delay(15000); }
Chais pas il doir manquer un truc, un chioua. Peut etre c'est mon harware qui embete
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Geneva
Offline
Faraday Member
Karma: 22
Posts: 2879
Yoplait... le pt'it suisse
|
 |
« Reply #12 on: January 14, 2013, 02:03:00 pm » |
JF aux aguets comme dab  
|
|
|
|
|
Logged
|
MacBook intel core 2 duo os X snow Leopard 10.6 eMac PPc G4 os X Leopard 10.5 powerbook G4 os X Leopard 10.5 imac PPC G3 os X Panther 10.3.9 Arduino Diecimila Arduino Mega Arduino Standalone Arduino 1307.04 
|
|
|
|
Offline
God Member
Karma: 4
Posts: 831
|
 |
« Reply #13 on: January 14, 2013, 02:25:30 pm » |
tu ne réponds toujours pas sur le type de ta carte gsm. si tu regarde mon exemple, il te faut des delay(1000); juste en passant, es tu certain que ta carte est sur on? #include <SoftwareSerial.h> SoftwareSerial cell(2,3); const char* message ="Alarm"; const char* numero ="+41761112233";
void setup(){ cell.begin(19200); Serial.begin(19200);
//Let's get started!
Serial.println("Starting SM5100B Communication...");
delay(3000); } void loop(){ //Send SMS //cell.print("AT+SBAND=4"); cell.println("ATZ"); delay(1000); cell.println("AT+CMGF=1"); // set SMS mode to text delay(1000); cell.print("AT+CMGS="); //Start accepting the text for the message cell.print(34,BYTE); cell.print(numero); //Start accepting the text for the message cell.println(34,BYTE); delay(1000); cell.print(34,BYTE); cell.print(message); //The text for the message cell.print(34,BYTE); delay(1000); cell.print(26,BYTE); //Equivalent to sending Ctrl+Z Serial.print("SMS Sent");
delay(15000); }
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 178
|
 |
« Reply #14 on: January 14, 2013, 02:27:29 pm » |
Ha, mais qu'entend tu par type de carte? C'est une carte SIM, prepay. N'es-ce pas la réponse que tu attends. Je vais copier ton code, mais je crois que cell.println(34,BYTE); me génère une erreur.
|
|
|
|
|
Logged
|
|
|
|
|
|