Différences entre versions de « GeekOnFire GSM/GPRS Shield Mémo AT »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 26 : Ligne 26 :
  
 
sur votre GSM shield, cette information est obtenue à l'aide de la commande AT "'''AT+CGSN'''"  
 
sur votre GSM shield, cette information est obtenue à l'aide de la commande AT "'''AT+CGSN'''"  
 +
 +
== Statut ==
 +
=== Call Ready ===
 +
"Call Ready" est un message envoyé spontanément par le module SIM900 lorsqu'il est enregistré sur le réseau mobile.
 +
Si vous voulez savoir quand votre GPRS est prêt à l'emploi, c'est le message à guetter ;-) .
  
 
== Appel téléphonique ==
 
== Appel téléphonique ==
Ligne 37 : Ligne 42 :
 
Pour interrompre un appel téléphonique, il faut utiliser la commande  "'''ATH'''"
 
Pour interrompre un appel téléphonique, il faut utiliser la commande  "'''ATH'''"
  
== Statut réseau ==
+
=== Activité téléphonique ===
=== Call Ready ===
+
La commande "AT+CPAS" permet de s'informer de l'activité du téléphone.
"Call Ready" est un message envoyé spontanément par le module SIM900 lorsqu'il est enregistré sur le réseau mobile.
+
 
Si vous voulez savoir quand votre GPRS est prêt à l'emploi, c'est le message à guetter ;-) .
+
La réponse consiste généralement en "+CPAS: ''valeur_statut''" ou "+CME ERROR: ''Code_Erreur''".
 +
 
 +
Les différentes valeurs possible pour ''valeur_statut'' sont:
 +
* 0 Prêt
 +
* 2 Inconnu (Réponse aux instructions n'est pas garanti)
 +
* 3 Sonne (Ringing) (capable de répondre aux commandes AT mais le téléphone sonne)
 +
* 4 Appel en cours (capacble de répondre aux commandes AT mais le un appel est en cours)
  
 
== SMS ==
 
== SMS ==

Version du 8 avril 2012 à 16:54

Introduction

Voici quelques petits mémos concernant les commandes AT les plus courantes. Ces dernières seront forcements plus détaillées dans le manuel Ad Hoc des Commandes AT v1.03.

Chaque commande AT se termine par un retour chariot "Carriage Return" correspondant à la touche "Entrée"/"Retour"). Attention donc à la configuration du Moniteur Serie d'Arduino si c'est ce dernier que vous utilisez (Carriage Return + 19200 bauds).

Les commandes AT décritent ci-dessous partent du principe que vous êtes capable de dialoguer avec le module SIM900 à l'aide d'un terminal ou équivalent.

Référez-vous à la documentation relative au sketch Serial Relay (ou son successeur lorsqu'il sera disponible).

Code PIN

A ne surtout pas négliger. La plupart des cartes SIM nécessite la saisie d'un code PIN avant de se connecter sur un réseau mobile.

Si votre carte SIM nécessite l'usage d'un code PIN, le module SIM900 produira spontanément le message "+CPIN: SIM PIN".

Vous pouvez demander le statut relatif au code pin en introduisant la commande "AT+CPIN?". Si le code PIN est correctement introduit, vous recevrez la réponse "+CPIN: READY"

Pour encoder votre code PIN, utilisez la commande AT suivante (en admettant que votre code PIN est 1234):

AT+CPIN=1234

Numéro IMEI

Ce numéro permet d'identifier de façon univoque votre module GSM/GPRS. Vous pouvez l'obtenir sur votre GSM/mobile standard à l'aide du numéro spécial "*#06#".

sur votre GSM shield, cette information est obtenue à l'aide de la commande AT "AT+CGSN"

Statut

Call Ready

"Call Ready" est un message envoyé spontanément par le module SIM900 lorsqu'il est enregistré sur le réseau mobile. Si vous voulez savoir quand votre GPRS est prêt à l'emploi, c'est le message à guetter ;-) .

Appel téléphonique

Pour passer un appel téléphonique, il faut utiliser la commande

Effectuer un appel

Pour effectuer un appel, il faut utiliser la commande "ATD+32499667788;" où vous pouvez clairement identifier le numéro de téléphone.

Durant l'établissement de la communication, le module SIM900 affiche spontanément différentes informations concernant le statut de la communication vocale.

Interrompre un appel

Pour interrompre un appel téléphonique, il faut utiliser la commande "ATH"

Activité téléphonique

La commande "AT+CPAS" permet de s'informer de l'activité du téléphone.

La réponse consiste généralement en "+CPAS: valeur_statut" ou "+CME ERROR: Code_Erreur".

Les différentes valeurs possible pour valeur_statut sont:

  • 0 Prêt
  • 2 Inconnu (Réponse aux instructions n'est pas garanti)
  • 3 Sonne (Ringing) (capable de répondre aux commandes AT mais le téléphone sonne)
  • 4 Appel en cours (capacble de répondre aux commandes AT mais le un appel est en cours)

SMS

Utiliser le Mode Texte

Pour aborder la gestion des messages SMS, le plus simple est encore de les manipuler en mode Texte.

Pour passer en mode de gestion Texte, utilisez la commande "AT+CMGF=1"

Réception d'un SMS

Lorsque le GPRS Shield reçoit un SMS, le module SIM900 envoi spontanément un message similaire à "+CMTI: "SM",21".

+CMTI: servira de détecteur pour identifier la réception du message.

Le 21 indiqué dans l'exemple ci-dessus identifie la position "mémoire" du SIM900 où le message est stocké. Il s'agit d'une information importante.

Lecture du contenu SMS

Pour lire le contenu d'un SMS, il faut utiliser la commande "AT+CMGR=21".

21 indiquant la position "mémoire" où est stocké le message en question. Cette position à été fournie par le message spontanée "+CMTI:" envoyé par le SIM900

Le module SIM900 réagira à la commande "AT+CMGR=..." produira le résultat suivant:

+CMGR: "REC UNREAD","+32499668899","","12/04/08,14:00:39+08"
Love Arduino
 

Attention, le message arrive en deux (ou plusieurs) lignes distinctes!

Vous pouvez identifier le statut du message (REC UNREAD), le no de l'émetteur (+32499668899) ainsi que la date et l'heure.

Le message quand à lui est des plus explicite, il s'agit de "Love Arduino" :-)

Effacer un message SMS

La commande "AT+CMGD=index" permet d'effacer une message SMS de la mémoire du SIM900. Effacer le contenu d'un message ne modifie en rien la valeur du compteur de message. Les informations du message sont effacées et la mémoire est libérée. Un nouvelle lecture de la position effacée retournera simplement "OK" (sans autre information).

Liste des messages à effacer

Vous pouvez prendre connaissance de la liste des messages effaçable à l'aide de la commande "AT+CMGD=?".

Ce message produit, à titre d'exemple, le résultat suivant:

+CMGD: (1-25),(0-4)

Indiquant que les messages de 1 à 25 peuvent être effacés.

Envoi d'un SMS

L'envoi d'un message se fait en envoyant la commande AT suivante:

AT+CMGS="+32499778866"

Sur Arduino, cela se traduirait par le code suivant:

mySerial.print("AT+CMGS=\"+32499778866\"\r");

Note:

  • La séquence de caractère \" indique au compilateur qu'il faut inclure une guillemet dans la chaine de caractère.
  • La séquence de caractère \r indique au compilateur qu'il faut inclure un retour chariot (CR) dans la chaine de caractère.

Par la suite, le SIM900 attend l'encodage du texte/corps du message (même sur plusieurs lignes). Un message texte peut se terminer par une instruction spécial (seule instruction) sur la dernière ligne du message. Il y a deux instructions différentes utilisable:

  • Envoi message = CTRL+Z - séquence d'échappement correspond au caractère 26.
  • Abandon message = ESC - séquence d'échappement correspondant au caractère 27.

L'envoi d'un CTRL+Z en se traduirait par le code suivant:

mySerial.print("Bienvenu chez MCHobby!\r");     // Le texte du message
delay(1000);
mySerial.print(26,BYTE);  // Equivalent du Ctrl+Z (fin de texte du SMS) 

L'exemple ci-dessus illustre bien qu'il faut un retour chariot sur la dernière ligne du message (le \r derrière MCHobby!) avant d'envoyer le Ctrl+Z.


Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.