Go Down

Topic: Envoi SMS avec SE 610 (Read 1 time) previous topic - next topic

alex72

Bonjour à tous,


J'essaye, en vain, d'envoyer un sms via un sony ericsson T610. Après vérification avec AT+CMGF=? et AT+CMGF=1 que je puisse envoyer en mode plain text. J'ai essayé avec divers code pris içi et là(en mode PDU http://www.timzaman.nl/?p=47&lang=en, ou wiki arduino sur SE)...sans succès.

Le modem répond bien avec la commande AT et même avec d'autres commandes pour me renseigner par exemple sur le modèle etc(j'ai le récapitulatif des commandes AT sur ce gsm dans une doc de sony)...Du coup j'ai nettoyé divers code pour tenter d'aller à l'essentiel en produisant ce code:


Quote

#include <LiquidCrystal.h>

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

String send_command(String at_cmd, int dly){

  String msg;
  int incomingByte;

  Serial.println(at_cmd);
  delay(dly);
  while (Serial.available() > 0)
  {
    incomingByte = (Serial.read());
    msg = msg + char(incomingByte);
  } 
  delay(1000);

  return msg;
}


void setup() {
  lcd.begin(16, 4);

  Serial.begin(9600);

  String ret;
  ret = send_command("AT+CMGF=1",3000);
  lcd.clear();
  lcd.println(ret); 
  delay(3000);

  Serial.print("AT+CMGS=\"XXXXXXXXXX\"\r");
  Serial.print("Hello");
  Serial.print(0X1A);

  lcd.clear();
  lcd.println(ret); 
  delay(3000);
}

void loop() {
}



la carte arduino est donc déconnectée et m'affiche le résultat sur LCD, la dernière étape AT+CMGS=xxxxxxx où j'indique mon numéro de tél me retourne un ERROR... donc impossible de numéroter pour envoyer mon message en mode PDU même problème...

Si quelqu'un a une idée ou même un bout de code fonctionnant...je lui serais reconnaissant...

Merci,
Alex.


infobarquee

bonjour,
je pense que cela peut venir de 2 choses, soit ta carte n'est pas active ou n'a pas de réseau, soit tu n'attends pas assez longtemps entre chaque commandes.
essaye ceci

Code: [Select]
 
  mySerial.print("AT+CMGS=");    //Start accepting the text for the message
  mySerial.print(34,BYTE);
  mySerial.print(numero);    //Start accepting the text for the message 
  mySerial.println(34,BYTE);
  delay(1000);
  mySerial.println(34,BYTE);
  mySerial.print(message);   //The text for the message
  mySerial.println(34,BYTE);

alex72

Bonjour!

Merci pour ta réponse! elle n'a pas directement résolu mon problème mais m'a incité à poursuivre davantage mes investigations. Je suis donc passé par un terminal série classique pour envoyer mes commandes(c'est le fait que tu me parles de délai avant l'envoie de commande), les premiers essais ont étés infructueux mais j'ai finalement résolu le problème:

Le numéro de téléphone ne doit pas comprendre le "+" et l'indicatif du pays exemple:
AT+CMGS="+331234567890"
devient:
AT+CMGS="1234567890"

et j'ai remplacé:
Serial.print(0X1A);
par
Serial.write(26);

C'est vraiment fantastique cette possibilité simple pour envoyer des SMS...et en plus il y a une certaine notion d'écologie puisque l'on peut recycler des portables...

Merci encore!
Alex.

skywodd

Bonjour,


Le numéro de téléphone ne doit pas comprendre le "+" et l'indicatif du pays exemple:
AT+CMGS="+331234567890"
devient:
AT+CMGS="1234567890"

Tout dépend du chipset gsm et du standard AT+T qu'il utilise.
Si je me souvient bien avec le chipset SIM900 il est possible d'utiliser des numéros en +33...


et j'ai remplacé:
Serial.print(0x1A);
par
Serial.write(26);

Tu aurais aussi pu utiliser (tout simplement) :
Code: [Select]
Serial.write(0x1A);

Petite astuce pour faire une blague à un collègue ou à la famille :
Code: [Select]
AT+CPIN=<code pin de la sim>
AT+CMGF=1
AT+CSMP=17,167,0,240
AT+CMGS="06......."

Cela permet d'envoyer des SMS "class 0" (aka "sms flash").
C'est un type spécial de sms, sans stockage à la réception, qui sont généralement affichez dans une popup sur le téléphone du destinateur avec comme titre un message laissant penser qu'il provient de l'opérateur téléphonique ;)
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

infobarquee

content d'avoir pu t'aider ;)
j'avais pas pensé au +33 alors que j'ai déjà eu le problème, quelle nouille

Artouste



C'est vraiment fantastique cette possibilité simple pour envoyer des SMS...et en plus il y a une certaine notion d'écologie puisque l'on peut recycler des portables...



Bonjour
Physiquement tu connecte comment ton SE610 à l'arduino ?


alex72

Bonjour,

Je n'ai pas encore testé le sms flash mais je vous tiens au courant de mes facéties...  :)

Pour la connexion du SE T610 j'ai acheté un câble USB data j'ai supprimé la partie convertisseur Serial-to-USB qu'au passage j'ai gardé pour d'autres montages. j'ai réutilisé simplement les 3 fils(TX/RX/GND) pour les connecter à l'arduino, je n'ai pas encore testé si je peux réutiliser le fil d'alimentation pour alimenter le GSM via l'arduino(tension 5v ou 3v3)?

Artouste

#7
Jul 13, 2012, 01:16 pm Last Edit: Jul 13, 2012, 01:19 pm by Artouste Reason: 1

Bonjour,

Je n'ai pas encore testé le sms flash mais je vous tiens au courant de mes facéties...  :)

Pour la connexion du SE T610 j'ai acheté un câble USB data j'ai supprimé la partie convertisseur Serial-to-USB qu'au passage j'ai gardé pour d'autres montages. j'ai réutilisé simplement les 3 fils(TX/RX/GND) pour les connecter à l'arduino, je n'ai pas encore testé si je peux réutiliser le fil d'alimentation pour alimenter le GSM via l'arduino(tension 5v ou 3v3)?



ok
merci
j'ai des W200I reformés , il semblent que le pinout soit identique au tiens  610, si c'est le cas je vais jouer avec.
tu peux confirmer avec ça :
http://pinouts.ru/CellularPhones-P-W/se_k750i_pinout.shtml

Tu pique TX/RX/GND sur quel pin du connecteur téléphone ?

alex72

Bonjour Artouste!

Cela faisait un moment que je souhaitais te répondre: mais le mauvais temps m'a rendu ronchonchon avec pas de courage pour me décider à entreprendre!  :)

Pour le mappage:

pin 4:Rx ce qui correspondrait à data+ pour ton w200i
pin 5:Tx ce qui correspondrait à data-
pin 10:Gnd


Je ne peux pas te confirmer si le w200i fonctionne correctement, il me semble que certains SE nécessite une tension de travail de 2,6v...je te conseille d'essayer avec un logiciel de terminal série(minicom) pour confirmer son bon fonctionnement. Dans tous les cas tiens nous au courant! c'est toujours bon de savoir si d'autres gsm permettent cette chose.

Artouste


Bonjour Artouste!

Cela faisait un moment que je souhaitais te répondre: mais le mauvais temps m'a rendu ronchonchon avec pas de courage pour me décider à entreprendre!  :)

Pour le mappage:

pin 4:Rx ce qui correspondrait à data+ pour ton w200i
pin 5:Tx ce qui correspondrait à data-
pin 10:Gnd


Je ne peux pas te confirmer si le w200i fonctionne correctement, il me semble que certains SE nécessite une tension de travail de 2,6v...je te conseille d'essayer avec un logiciel de terminal série(minicom) pour confirmer son bon fonctionnement. Dans tous les cas tiens nous au courant! c'est toujours bon de savoir si d'autres gsm permettent cette chose.


Ok merci
je tenterais de faire un test un de ces jours et je rendrais compte

Bassinas

salut
j'aimerai avoir juste une confirmation sur ton projet est-ce que au final tu as pu réaliser l'envoi et réception avec la carte?

alex72

Hey Bassinas!

Oulah, ça fait un moment que je n'avais pas consulté les réponses à ce post. Pour répondre à ta question, tous les tests en émissions ont fonctionnés. Je ne peux pas confirmer quant à la réception...mais je ne vois pas de problèmes à le faire  :)

J'imagine que tu as un projet en tête? ou c'est juste par curiosité?


Go Up