Les commandes doivent être stockées dans la mémoire du PIC, afin que ce dernier les envoie caractère par caractère au module GSM.
Tu remarqueras que la syntaxe des commandes AT est un peu toujours la même. AT(commande)=? permet de tester si la commande est prise en charge par le module, et de connaître les valeurs possibles des éventuels paramètres, AT(commande)? renseigne sur l'état courant du module, AT(commande)=(paramètres) permet de modifier la configuration du module ou d'entreprendre une action.
Pendant que j'y pense: avec le module GSM, il est possible qu'il faille utiliser également la commande "AT+CPIN" afin d'entrer le code PIN de déverrouillage de la carte SIM (comme sur un téléphone portable au moment où on l'allume).
merci, je resume donc pour expliquer le fonctionnement du module gsm dont j'aibesoin comme suit:
-dès que le module gsm recoit un appel, il le signale au microprocesseur qui lui envoie la commande AT+clip pour que le module lui renvoi les informations relatifs au n° appelant
-si le numero appelant a été préenregistré il renvoi l'information au microcontrolleur qui active le relais
-dans le cas contraire il rejette l'appel et ne fais rien!!!
Ma question est la suivante: quelle information est envoyé au microcontrolleur dans les differents cas!!!
Je ne voyais pas ça comme ça. Ça ne veut pas dire que ce soit impossible (car certains téléphones le font), mais ça ne correspond pas trop aux fonctions de base.
- au début, le microcontrôleur envoie "AT+CLIP=1" au module pour lui demander de se manifester en cas d'appel.
- quand un appel entrant survient, le module envoie au microcontrôleur un message "+CLIP:(numéro),(type)" (le format peut varier suivant le module utilisé -> se référer à la doc), par exemple "+CLIP: 33+123456789,149"
- le microcontrôleur compare le numéro de ce message avec les numéros préenregistrés, et active le relais si un numéro correspond
- si le numéro du message ne correspond pas à un numéro enregistré, le microcontrôleur ne fait rien, ou bien envoie une commande AT (à déterminer) pour que le module GSM rejette l'appel.
Dernière modification par PA5CAL ; 14/03/2007 à 00h22.
18/03/2007 - 02h57
commandodez
Date d'inscription
mars 2007
Messages
42
Re : Commande par GSM
merci!! jai eu a exposé mes recherches et c'était pas mal!!!
je dois un peu approfondir !!!
j'ai besoin de savoir comment la carte sim communique t-elle avec un portable ou un module gsm???
en fait,quand un appel arrive soit sur un portable ou sur le module, quelles sont les etapes pour reconnaitre le numero qui appelle!!!!
merci!!!
19/03/2007 - 09h20
PA5CAL
Date d'inscription
décembre 2005
Localisation
Paris
Âge
47
Messages
9 480
Re : Commande par GSM
Envoyé par commandodez
j'ai besoin de savoir comment la carte sim communique t-elle avec un portable ou un module gsm???
Non pas du tout. Ça peut être intéressant pour une question de culture générale, mais sinon la connaissance du principe de base de la carte SIM suffit.
La carte SIM renferme (entre-autres) les fonctions qui identifient un compte téléphonique (abonnement ou un pré-payé) et assurent la sécurité de son utilisation contre le vol (codes PIN et PUK).
Les détails expliqués dans le mode d'emploi de tous les téléphone dépasse largement ce qui est nécessaire de savoir sur le sujet.
en fait,quand un appel arrive soit sur un portable ou sur le module, quelles sont les etapes pour reconnaitre le numero qui appelle!!!!
Le numéro est généralement transmis en clair au téléphone ou au module GSM par le réseau. Quand ce n'est pas le cas (numéro caché par l'appelant), il n'y a pas de moyen de le connaître.
L'appel reçu est communiqué au système informatique par le téléphone ou le module GSM au moyen d'un message "+CLIP...". Quand le numéro n'est pas caché, le numéro de l'appelant peut être donné dans un format qui peut varier, selon que l'indicatif national est inclus ou non (resp. types 145 et 129), et aussi selon le type d'appareil GSM (la syntaxe peut varier légèrement d'un modèle à l'autre).
Les étapes à dérouler par le système informatique (microcontrôleur PIC, par exemple) seront donc:
- lire tous les message issus du téléphone ou du module (chaque message se termine pas les caractères de fin de ligne CR+LF, soit 13déc et 10déc)
- reconnaître et conserver les messages commençant par "+CLIP"
- extraire du message, si possible le numéro de téléphone et son type de format
- rejeter les appels dont le numéro n'est pas communiqué
- convertir le numéro de téléphone en fonction du format, de manière à n'avoir qu'une expression possible (par exemple "+33612345678",145 et "0612345678",129 représentent le même numéro en France, et peut être converti dans les deux cas en 33612345678)
- rechercher ce numéro dans le tableau des numéros autorisés
- actionner le relais si le numéro y figure, sinon rejeter l'appel
24/03/2007 - 15h21
commandodez
Date d'inscription
mars 2007
Messages
42
Re : Commande par GSM
la solution que j'ai choisi est d'utiliser seulement un simple telephone portable cela revien moins chèr en utilisant son interface serie(en bas du portable)!!
pour la 1ère etape, j'ai besoin de savoir comment le portable traite un appel qui arrive et quel information il envoie sur sa ligne serie??????!!!!
26/03/2007 - 14h12
commandodez
Date d'inscription
mars 2007
Messages
42
Re : Commande par GSM
j'aimerai comprendre la communication qu'il y a entre un telephone portable et un PIC; par quoi les deux communiquent?comment???..
j'essai de comprendre la communication entre les deux terrminaux!!!
quelqu'un peut il m'éclairer merci!!!
26/03/2007 - 17h01
PA5CAL
Date d'inscription
décembre 2005
Localisation
Paris
Âge
47
Messages
9 480
Re : Commande par GSM
Ils communiquent au travers de l'interface série.
Pour une raison de simplicité de réalisation, il est préférable d'avoir recours à un téléphone avec une interface de type RS232 (on peut alors l'interfacer avec l'USART d'un PIC à l'aide d'un circuit MAX232), ou avec une interface série de même type fonctionnant en 5V (le branchement peut alors être direct). Mais il faut éviter d'utiliser une interface de type USB, car le protocole est inutilement compliqué pour notre cas.
Pour plus d'info sur les communications utilisant l'interface série RS232, je te renvois vers Google, qui te donnera plein de lecture sur le sujet.
26/03/2007 - 17h42
PA5CAL
Date d'inscription
décembre 2005
Localisation
Paris
Âge
47
Messages
9 480
Re : Commande par GSM
Pour l'occasion, j'ai rebranché mon téléphone portable sur mon ordinateur, et je lui ai envoyé quelques commandes AT au travers du logiciel d'émulation de terminal. Voilà ce que ça donne (mes commandes AT sont en gras, les réponses du téléphone sont en rouge) :
at OK le téléphone répond bien
at+cgmi Nokia
OK c'est un téléphone Nokia
at+cpin? +CPIN: READY
OK le code pin a déjà été saisi et la carte SIM est débloquée
at+cpas +CPAS: 0
OK le téléphone est prêt
at.csq +CSQ: 31,99
OK la qualité de réception est très bonne (au maxi)
at+cbc +CBC: 1,70
OK le téléphone fonctionne sur secteur et la batterie est chargées à 70%
at+creg=1 OK sélection du mode donnant l'état du téléphone vis-à-vis du réseau GSM
at+creg? +CREG: 1,1
OK le téléphone est effectivement enregistré sur le réseau GSM
at+clip=1 OK activation de l'option de présentation de numéro
at+clip? +CLIP: 1,1
OK l'option de présentation de numéro est activée, et l'opérateur fournit ce service
RING
+CLIP: "",128
RING
+CLIP: "",128 un téléphone extérieur appelle et sonne deux fois avant de raccrocher - son numéro est caché
RING
+CLIP: "33686123456",145
RING
+CLIP: "33686123456",145
RING
+CLIP: "33686123456",145 un téléphone extérieur appelle et sonne trois fois avant de raccrocher - son numéro est le 06 86 12 34 56 (indicatif 33)
Pour info, certaines commandes retournent une erreur lorsque le téléphone passe en mode de veille. J'ai donc dû le tenir "éveillé" pour profiter de toutes les commandes disponibles.
D'autre part, je n'ai pas entré le code PIN en utilisant les commandes AT, parce que l'interface refuse de fonctionner tant que le téléphone et la carte SIM sont bloqués. Ça ne devrait pas être le cas avec un module GSM.
26/03/2007 - 22h39
commandodez
Date d'inscription
mars 2007
Messages
42
Re : Commande par GSM
Super et Merci!!!
les dernières lignes m'éclairent sur un doute. je suis maintenant sûr que lorsque un appel arrive sur le portable GSM, il envoie directement sur la ligne serie RING et les les informations relatifs a l'appel. peux tu essayer d'appeler ton NOKIA connecté a ton ordi avec un numero déja enregistré sur ta puce et me donner le resultat car c'est ce qui m'interesse le plus, les numeros enregistrés sur la SIM du portable ( ce sont les numeros autorisés)!!!!
le dialogue entre une carte sim et un portable se fait via les commandes At????
sais tu quelque chose sur ce qui se passe entre la sim et le portable???
quel est la marque de ton nokia????
merci!!!
27/03/2007 - 12h51
PA5CAL
Date d'inscription
décembre 2005
Localisation
Paris
Âge
47
Messages
9 480
Re : Commande par GSM
Comme je n'utilise pas le système des numéros autorisés, il faudrait que je reconfigure mon portable pour pouvoir essayer. On verra ça un peu plus tard, quand j'aurai plus de temps.
Mais à mon avis, ça ne devrait rien changer, car si je ne me trompe pas, les numéros non autorisés le sont seulement pour l'envoi d'appels, mais pas pour la réception.
Le dialogue entre la carte SIM et le portable ne se fait pas à l'aide de commandes AT. Si tu veux des renseignement là-dessus, fait plutôt une recherche sur les protocoles de communication des cartes à puce. Décrire ce qui se passe ici prendait trop de temps, et n'est pas nécessaire à ton projet. Je crois aussi me souvenir qu'il y a un article récent dans la revue Elektor qui évoquait le sujet.
La marque de mon nokia est... Nokia ! Quant au modèle, il suffit de le demander au téléphone:
at+cgmm Nokia 6130
OK
Mais ce n'est pas forcément le meilleur modèle pour expérimenter les commandes AT, car un nombre important de commandes les plus courantes ne sont pas disponibles (notamment, celles relatives au monitoring).
27/03/2007 - 14h18
commandodez
Date d'inscription
mars 2007
Messages
42
Re : Commande par GSM
Non, je crois que j'ai pas été compris dans ma demande!!.tu as effectué un test avec ton portable connecté a l'hyperterminal en appelant ton portable.
je voudrais que tu essai ce même test avec un numéro déja enregistré avec un nom sur ta carte sim ou dans ton portable!!
merci!!!
27/03/2007 - 14h28
commandodez
Date d'inscription
mars 2007
Messages
42
Re : Commande par GSM
Non, je crois que j'ai pas été compris dans ma demande!!.tu as effectué un test avec ton portable connecté a l'hyperterminal en appelant ton portable. voila le resultat qu'il t'a donné et que t'as communiqué:
RING
+CLIP: "33686123456",145
RING
+CLIP: "33686123456",145
RING
+CLIP: "33686123456",145
un téléphone extérieur appelle et sonne trois fois avant de raccrocher - son numéro est le 06 86 12 34 56 (indicatif 33)
je voudrais que tu essai ce même test avec un telephone extérieur dont le numéro est déja enregistré avec un nom sur ta carte sim ou dans ton portable!!
merci!!!
27/03/2007 - 14h45
PA5CAL
Date d'inscription
décembre 2005
Localisation
Paris
Âge
47
Messages
9 480
Re : Commande par GSM
Ah, ok. Je comprends.
En fait j'ai fait justement fait l'essai avec un autre téléphone qui figurait dans le répertoire.
Le nom, le groupe, le type et/ou la photo correspondants sont bien affichés sur l'écran du téléphone qui reçoit l'appel, mais ces informations ne sont pas transmises à l'ordinateur. Il n'y a que le numéro qui passe à chaque sonnerie.
J'ai aussi testé la fonction de recherche dans les différents répertoires (commande "AT+CPBF"), mais elle ne s'applique exclusivement qu'au début des noms. Elle ne cherche pas dans les numéros, ni à l'intérieur des noms enregistrés. Donc pas moyen de retrouve automatiquement le numéro de l'appelant dans la liste. Il faut tout tester.
27/03/2007 - 15h20
PA5CAL
Date d'inscription
décembre 2005
Localisation
Paris
Âge
47
Messages
9 480
Re : Commande par GSM
L'utilisation du répertoire de la carte SIM pourrait être intéressante, car il permettrait de mémoriser les numéros autorisés à actionner le portail. De plus, il est possible d'éditer son contenu à l'aide de n'importe quel téléphone GSM (non locké), ce qui soulagerait le système à microcontrôleur de cette lourde tâche.
Voici quelques manipulations qui montrent comment ça marche:
at+cpbs="SM" OK Sélection du répertoire de la carte SIM
at+cpbs? +CPBS: "SM",7,250
OK Le répertoire de la carte SIM est sélectionné. Il y a 7 emplacements utilisés parmi les 250 disponibles.
at+cpbr=? +CPBR: (1-250),40,14
OK Lecture des caractéristiques (emplacements de 1 à 250, 40 caractères pour le numéro, 14 caractères pour le nom)
at+cpbr=1,250 +CPBR: 1,"0145123456",129,"Blanche Neige"
+CPBR: 2,"0672123456",129,"Roger Rabbit"
+CPBR: 3,"766",129,"MiniMessages"
+CPBR: 5,"712",129,"Renseignements"
+CPBR: 10,"#123#",129,"Suivi conso"
+CPBR: 11,"3699",129,"HorlogeParlant "
+CPBR: 14,"0870000000",129,"DÇpannage "
OK Contenu du répertoire de la carte SIM. Seulement 7 emplacements sur les 14 premiers sont utilisés. Le 'Ç' du n°14 correspond au caractère 'é' sur le téléphone, du fait d'une différence de codage des voyelles accentuées entre les appareils.
at+cpbr=11 +CPBR: 11,"3699",129,"HorlogeParlant "
OK Lecture d'une seule entrée du répertoire.
at+cpbw=20,"0612345678",129,"T EST" OK Ecriture d'un nouveau numéro à l'emplacement n°20 du répertoire de la carte SIM.
at+cpbs? +CPBS: "SM",7,250
OK Il y a bien maintenant 8 emplacements utilisés.
at+cpbr=1,250 +CPBR: 1,"0145123456",129,"Blanche Neige"
+CPBR: 2,"0672123456",129,"Roger Rabbit"
+CPBR: 3,"766",129,"MiniMessages"
+CPBR: 5,"712",129,"Renseignements"
+CPBR: 10,"#123#",129,"Suivi conso"
+CPBR: 11,"3699",129,"HorlogeParlant "
+CPBR: 14,"0870000000",129,"DÇpannage "
+CPBR: 20,"0612345678",129,"TEST" <-----------
OK On voit bien le nouveau numéro apparaître dans le répertoire de la carte SIM.
27/03/2007 - 15h28
PA5CAL
Date d'inscription
décembre 2005
Localisation
Paris
Âge
47
Messages
9 480
Re : Commande par GSM
Oups ! En faisais des modifs dans les messages, j'ai fait une petite erreur (comme le répertoire de ma carte SIM contient des données perso et qu'il y a une centaine d'entrées renseignées, je n'allais pas faire un bête copier-coller !). Il faut lire:
at+cpbs? +CPBS: "SM",8,250
OK Il y a bien maintenant 8 emplacements utilisés.