Académique Documents
Professionnel Documents
Culture Documents
DAVID REY
INTERFACES
GSM
2e dition
Montages pour
tlphones portables
CHA PITRE
P A GE
Introduction
Gnralits
5
6
6
6
1.4
7
16
21
25
28
29
Norme GSM07.05
41
41
Matriels utiliss
3.1 Tlphones portables
3.2
SMS-SUBMIT
SMS-DELIVER
Commandes AT
2.1 Norme GSM07.07
2.2
VII
55
56
Adaptateur TTL/RS232
Adaptateur pour FBUS/MBUS (ou M2BUS)
Cordons DATA
56
59
61
62
Le TM2 de TELTONIKA
Pour aller plus loin
62
70
73
74
74
75
78
83
INTERFACES GSM
4.2
90
90
91
Avec un PicBasic
92
Linstruction SEROUT
Envoi dun SMS
Linstruction SERIN
Rception dun SMS
93
94
95
95
Ralisations lectroniques
101
5.1
5.2
5.3
5.4
5.5
Rcepteur/metteur SMS
102
102
116
123
123
131
142
152
163
4 entres logiques
4 entres analogiques
Thermomtre
163
173
183
194
PicBasic
Schma lectrique
Ralisation
Programme PicBasic : ces.bas
Programmation et configuration
Essais
Interface de puissance
194
195
204
205
221
222
224
228
Cell Monitor
Tracker GPS
Positionnement gographique
228
233
233
Annexes
251
Glossaire
261
Bibliographie
264
VI
TLCHARGEZ LES
FICHIERS DU LIVRE !
VII
INTRODUCTION
GNRALITS
PAGE
CHAPITRE
CODAGE
DES SMS
1.1 Introduction
1.2 Gnralits
21
Commandes AT
25
Matriels utiliss
55
73
Ralisations lectroniques
101
Annexes
251
Glossaire
261
Bibliographie
264
INTERFACES GSM
1.1 INTRODUCTION
Un des services offert par le GSM est la gestion des minimessages ou SMS (Short Message Service). Il ne sagit plus de la
transmission de sons mais dun texte limit thoriquement
160 caractres. Chaque message envoy transite vers un centre
de messagerie baptis SMSC (Short Message Service Centre) o il
est temporairement stock. Ds que le destinataire est disponible,
cest--dire lorsque le mobile est sous tension et prsent dans une
zone couverte par le rseau GSM, le message est transmis. Le
message peut exceptionnellement rester sur le SMSC durant
plusieurs jours, ce qui est le cas notamment en fin danne o le
nombre de SMS envoys atteint des records, vux de bonne anne
oblige En situation normale on peut considrer que lenvoi
dun SMS est instantan condition que le mobile de destination
soit oprationnel. Les SMSC sont identifis par un numro dappel
spcifique chaque oprateur. Il est possible denvoyer un SMS
autrement quavec un tlphone portable. On trouve sur Internet
des logiciels qui permettent un PC muni dun modem daccder
un SMSC. Le moyen le plus simple et le moins onreux consiste
passer par le Web. Certains providers comme AOL proposent
leurs abonns un service SMS en ligne. Il existe mme des sites
qui permettent lenvoi gratuit de SMS au prix tout de mme dun
message publicitaire qui vient se greffer votre message.
1.2 GNRALITS
Il y a deux faons de transmettre un message SMS, soit par le
mode PDU qui est le mode de base ou le mode TEXT. Le mode
PDU est une suite de caractres hexadcimaux qui codifient le
SMS, le mode TEXT nest rien dautre quune reprsentation sous
forme de texte des donnes qui composent le SMS. Il y a diffrents types dalphabets utiliss pour passer du mode PDU au
mode TEXT. Par exemple votre tlphone portable affiche en
mode TEXT sur son cran les donnes dun ventuel SMS reu,
cest lui qui dtermine automatiquement quel type dalphabet
utiliser. Attention, il faut savoir que certains tlphones portables
ne supportent pas le mode TEXT lorsquils sont interfacs avec
un PC. Il est donc utile de connatre en dtail le mode PDU.
CHAPITRE
Figure 1.1.
SMS-SUBMIT
Tlphone GSM vers SMSC.
La taille maximale de la trame dun SMS-SUBMIT est de 173
octets. Le champ le plus important en terme de taille est le champ
qui codifie le corps du message qui peut atteindre 140 octets. Les
deux autres champs indispensables sont SCA qui codifie ladresse
du SMSC et DA qui codifie ladresse de lmetteur.
1-10 octets
SCA
1 octet 1 octet
PDU
MR
2-12 octets
1 octet
0-7 octets
DA
PID
DCS
VP
UDL
UD
INTERFACES GSM
2 octets
0 - 8 octets
LEN
Type Number
Numro SMSC
Type number
Description
Numro international
Numro national
Numro dabonn
Numro abrg
Numbering Plan Identification : le numbering plan identification est pris en compte dans le cas o le type number est gal
000bin, 001bin ou 010bin. Si type number est gal 101bin alors
les bits 3 0 sont rservs. Pour adresser nimporte quelle entit,
le numbering plan identification doit tre gal 0001bin
(tableau 1.2).
CHAPITRE
Tableau 1.2.
Description
Compte tenu de ce que nous avons dit plus haut, le Type Number
le plus utilis est : 91hex.
7
Digit2
Digit1
Digit4
Digit3
Digit n
Digit n1
INTERFACES GSM
Octet n 1
Octet n 2
Octet n 3
Octet n 4
Octet n 5
Octet n 6
Type de PDU
Le champ PDU toujours cod sur 1 seul octet a pour fonction
principale de dfinir sil sagit dun SMS-DELIVER ou dun SMSSUBMIT (bits 0 et 1) tableau 1.3.
Tableau 1.3.
RP
UDHI
SRR
Champ
Bit 7
VPF
RD
MTI
Description
RP
Champ
Bit 6
Description
UDHI
Champ
Bit 5
Description
SRR
Champ
VPF
Bit4
Bit 3
Description
10
CHAPITRE
Champ
Bit 2
Description
Indique au SMSC quil peut accepter la rception dun nouvel SMS portant le mme MR et la mme adresse de destination
RD
Champ
Bit1
Bit 0
MTI
Description
SMS-SUBMIT : Achemine le SMS du mobile vers
le SMSC
MR : Message rfrence
Chaque message envoy par le mobile au SMSC est identifi par
un numro compris entre 0 et FFhex baptis MR (Rfrence du
Message). Le fait de positionner MR 0 indique au mobile que
cest lui qui doit dfinir automatiquement ce champ. Dans ce cas
il sincrmente pour chaque nouveau message envoy pour un
mme destinataire. Ce champ est li au bit RD du champ PDU.
1 octet
MR
DA : Destination Adress
Le codage de ladresse de lmetteur est sur le principe semblable
au codage de ladresse du SMSC (voir champ SCA).
1 octet
2 octets
0 - 8 octets
LEN
Type Number
Numro du destinataire
PID
11
INTERFACES GSM
certain que le PID 00hex est support par tous les SMSC, il en est
autrement pour les autres (tableau 1.4).
Tableau 1.4.
PID
Description
00hex
11hex
02hex
03hex
12hex
Coding Group
Tableau 1.5.
Rserv
12
CHAPITRE
Avec lalphabet GSM chaque caractre est cod sur 7 bits (voir
Annexes). Avec ce type dalphabet il est donc possible de coder
8 caractres avec 7 octets. Le champ UD peut dans ce cas codifier
un total de 160 caractres.
Dans la pratique, le plus simple consiste positionner tous les
bits du champ DCS zro, ce qui slectionne lalphabet GSM,
aucune classe nest mentionne ainsi cest le mobile de destination qui choisira le stockage adquat du SMS.
VP : Validity Period
Permet dindiquer au SMSC la dure de validit du SMS condition que les bits 3 et 4 (champ VPF) de loctet PDU soient correctement positionns. Si VPF (voir champ PDU) est 0, le champ VP
sera ignor par le SMSC, le SMS aura une dure de vie illimite.
Cette dure peut tre relative (VPF = 10bin), si le SMSC na pas
russi transmettre le SMS au destinataire dans la dure dfinie
par VP, le SMS est dtruit (tableau 1.6).
1 octet
JOUR
VPdec
0 143
Tableau 1.6.
144 167
168 196
197 255
1 octet
1 octet
1 octet
1 octet
1 octet
1 octet
Anne
Mois
Jour
Heure
Minute
Seconde
Fuseau
13
INTERFACES GSM
0 - 140 octets
UDL
UD
Exemple de codage
titre dexemple, essayons de constituer la trame qui permettrait denvoyer un SMS ayant une validit de 4 jours, contenant
le message TEST au numro 0612345678 en utilisant le
centre de messagerie +33609001390 .
Numro du SMSC utilis : +33609001390.
Le signe + indique quil sagit dun numro international, on
donc Type Number = 91hex.
7
Numro international
RP
UDHI
SRR
VPF
1
RD
0
14
MTI
0
CHAPITRE
Do DA = 0A816021436587.
Le message doit tre trait par le SMSC comme un SMS donc
PID = 00hex.
Le champ UD est cod avec lalphabet par dfaut, aucune classe
nest spcifie donc DCS = 00hex.
La dure de validit du message est limite 4 jours. On applique
la formule nb jours = VP 166, avec nb jours = 4 cela implique
que VP = AAhex.
Corps du message : TEST , comme spcifi par le champ DCS
le codage est ralis avec lalphabet GSM. Pour chacun des caractres composant le message on cherche la correspondance en
binaire dans le tableau alphabet GSM (voir Annexes). Un caractre correspond un bloc de 7 bits. Ensuite on regroupe les bits
par paquet de 8 en commenant par la droite, remarquez quil est
ncessaire dajouter 4 zros pour complter le dernier paquet.
15
INTERFACES GSM
Chaque octet est finalement converti en un nombre hexadcimal,
pour ce faire vous pouvez utiliser la calculatrice scientifique de
Windows (tableau 1.7).
Tableau 1.7.
0000 1010100
1010011
1000101
1010100
00001010
10010100
11100010
11010100
0A
94
E2
D4
Chaque lettre est code sur 7 bits, pour former la trame compose
doctets on regroupe les bits par bloc de 8 on en dduit alors la
valeur en hexadcimal.
On a donc dans le champ UD = D4E294OA.
Il faut 4 octets pour coder le message donc UDL = 04.
Finalement pour envoyer un SMS ayant une validit de 4 jours,
contenant le message TEST au numro 0612345678 en
utilisant le centre de messagerie +33609001390 il faut constituer la trame :
07913306091093F011000A8160214365870000AA04D4E294OA
Pour utiliser le centre de messagerie associ au tlphone, il
suffit de remplacer les octets concernant le SMSC par 00 :
0011000A8160214365870000AA04D4E2940A
SMS-DELIVER
SMSC vers tlphone GSM.
La taille maximale de la trame dun SMS-DELIVER est de 173
octets. Le champ le plus important en terme de taille est le champ
qui codifie le corps du message qui peut atteindre 140 octets. Les
deux autres champs indispensables sont SCA qui codifie ladresse
du SMSC et OA qui codifie ladresse du destinataire.
1-10 octets 1 octet 2-12 octets 1 octet 1 octet 7 octets 1 octet 0-140 octets
SCA
PDU
OA
PID
DCS
16
SCTS
UDL
UD
CHAPITRE
Le codage est identique celui prsent dans la partie SMSSUBMIT. Dans le cas prsent il indique quel est le SMSC qui a
trait le SMS.
RP
UDHI
SRI
MMS
Champ
Bit 7
MTI
Tableau 1.8.
Description
RP
Champ
Bit 6
Description
UDHI
Champ
Bit 5
Description
SRI
Champ
Bit 2
Description
MMS
Champ
MTI
Bit 1 Bit 0
0
Description
SMS-DELIVER : Achemine le SMS du mobile vers
le SMSC
Le champ MTI est le plus important, dans le cas dun SMS-DELIVER il est positionn 00.
OA : Originator Adress
Le codage de ladresse de lmetteur est sur le principe semblable
au codage de lexpditeur dans la partie SMS-SUBMIT.
1 octet
2 octets
0 - 8 octets
LEN
Type Number
17
INTERFACES GSM
PID
1 octet
1 octet
1 octet
1 octet
1 octet
1 octet
Anne
Mois
Jour
Heure
Minute
Seconde
Fuseau
0 - 140 octets
UDL
UD
Exemple de dcodage
Imaginons que nous devions dcoder la trame suivante :
07913306091093F0000A81609121436500009920215075032104D4E
2940A
Le premier octet 07 nous indique que ladresse du SMSC
utilis pour acheminer le SMS est code sur 7 octets.
On extrait donc les 7 octets suivants afin de dterminer le numro
du SMSC, soit 913306091093F0.
Le premier octet 91 nous indique quil sagit dun numro
international.
7
Numro international
18
CHAPITRE
RP
UDHI
SRI
MMS
MTI
0
MTI = 0. SMS-DELIVER.
Loctet suivant 0Ahex = 10dec indique le nombre de chiffres
composant le numro de lmetteur du message. Attention on ne
comptabilise pas loctet utilis pour le champ Type Number.
Do OA = 0A816091214365.
6
19
INTERFACES GSM
Tableau 1.9.
1 octet
1 octet
1 octet
1 octet
1 octet
1 octet
1 octet
Anne
Mois
Jour
Heure
Minute
Seconde
Fuseau
12 fvrier 1999
05 : 57 : 03
GMT+3h
0A
94
E2
D4
00001010
10010100
11100010
11010100
0000 1010100
1010011
1000101
1010100
20
CHAPITRE
Figure 1.2.
21
INTERFACES GSM
Figure 1.3.
Algorithme de codage
Tous les paramtres correspondant au codage dun SMS sont
prsents dans longlet nomm : TEXT -> PDU .
Pour faciliter le codage dun SMS nous allons figer certains
champs (griss). Le champ SCA est positionn 00, ainsi le
numro du SMSC utilis est celui prsent dans la mmoire du
portable, inutile de sen soucier. Le champ PDU est 11hex pour
indiquer quil sagit dun SMS-SUBMIT et que le champ VP est
cod en relatif (bit 3 = 0 et bit 4 = 1). Le champ MR est fig zro,
ainsi lidentification du message est confie au mobile. Comme il
sagit dun SMS, le champ PID est zro. Le champ DCS est aussi
zro, ainsi le champ UD doit tre cod avec lalphabet GSM et
aucune classe nest spcifie. Les autres champs devront tre
renseigns par lutilisateur, sauf le champ UDL qui est calcul
par le logiciel. Le champ DA correspond au numro du destinataire du SMS. Le champ VP indique la dure de validit du SMS,
sa valeur est comprise entre 0 et 255dec, la dure correspondante
saffiche ct, par exemple avec VP = 170dec le message aura une
dure de validit de 4 jours. Le champ UD correspond au texte
du message. Le bouton convertir permet dafficher la trame
au format PDU correspondante aux informations saisies. Dans la
copie dcran nous avons repris lexemple vu prcdemment.
22
CHAPITRE
ConvertSMS.dll
Ceux qui pratiquent un langage autre que Delphi ne sont pas
oublis, les fonctions de codage/dcodage ont t compiles dans
le fichier ConvertSMS.dll . Les deux fonctions dclarer et
appeler dans votre programme sont :
Function PduToText(pdu: string):TTEXTE;
23
INTERFACES GSM
La fonction retourne la variable type TPDU constitue ainsi :
type
TPDU=record
Len:string[12];
Trame:string[255];
end;
24
PAGE
CHAPITRE
COMMANDES
AT
28
41
Matriels utiliss
55
73
Ralisations lectroniques
101
Annexes
251
Glossaire
261
Bibliographie
264
25
INTERFACES GSM
Il existe un standard de tlcommunication europen (ETS) qui
spcifie une liste de commandes AT qui permettent laccs aux
fonctions dun tlphone portable par lintermdiaire dun terminal. Ces commandes sinspirent fortement du standard Hayes,
du nom de la socit amricaine qui dans les annes 1970 a dfini
une liste de commandes universelles permettant de piloter un
modem. Chaque instruction dbute par les caractres ASCII
AT tirs de labrviation ATtention et se termine par un
retour chariot, CR : Carriage Return, do le nom souvent donn
cette srie de commandes : instructions AT . On peut effectivement comparer un tlphone portable un modem sans fil, il est
donc logique quil utilise des instructions semblables au modem
fixe qui quipe nos PC. Les constructeurs se doivent de fabriquer
des tlphones portables qui respectent ces normes. La premire
baptise GSM07.07 permet laccs aux fonctions gnrales du
tlphone, la deuxime GSM07.05 concerne la gestion des SMS.
Dans les textes officiels qui traitent du GSM on retrouve les termes
ME pour Mobile Equipement qui correspond par exemple un
tlphone portable, TE pour Terminal Equipement qui physiquement peut tre un ordinateur ou un microcontrleur et TA pour
Terminal Adaptator qui assure la liaison entre le ME et le TE, ne
pas confondre avec le cble srie.
Dans la pratique il y a trois possibilits concernant la disposition
des diffrents lments (figure 2.1) :
TA, ME et TE sont trois entits distinctes ;
TA et ME forment une seule entit, ce qui est le cas le plus
frquent. Par exemple un tlphone portable standard ou un
terminal GSM contient dans son botier la fois le TA et le ME.
Le TE forme une entit part, par exemple il peut sagir dun
ordinateur de type PC qui dispose dun port srie ou dun circuit
lectronique bas sur un C qui implmente un port srie ;
TA, ME et TE forment une seule entit.
Figure 2.1.
26
CHAPITRE
COMMANDES AT
Paramtres
Liste des diffrents paramtres qui sont utiliss avec les commandes AT :
<xxx>
Indique que xxx est un paramtre de la commande AT associe.
[<xxx>]
<CR>
<LF>
Line Feed
<LF> = 10dec = 0Ahex
Tableau 2.1.
Commande de test
AT+CXXX=?
Commande de lecture
AT+CXXX?
Commande dcriture
AT+CXXX=<xxx>
27
INTERFACES GSM
Commandes
Fonction
Page
AT+CGMI
Identification fabricant
29
AT+CGMM
Identification modle
29
AT+CGMR
Identification version
29
AT+CGSN
30
AT+CIMI
30
AT+CLIP
Prsentation du numro
31
AT+CSCS
32
AT+CPAS
32
AT+CPIN
33
AT+CBC
33
34
AT+CSQ
Qualit du signal
35
AT+CIND
Indicateurs de contrle
35
AT+CPBS
36
AT+CPBR
37
AT+CPBF
37
AT+CPBW
38
AT+CCLK
Horloge
38
AT+CALA
Alarme
39
AT+CMEE
39
AT+CREG
28
CHAPITRE
COMMANDES AT
Rponse
OK
si erreur
+CME ERROR: <err>
Commande de lecture
AT+CGMI
(exceptionnellement
pas de point dinterrogation)
Rponse
+CGMI: <manufacturer>
Renvoi des informations (2 048 caractres au maximum) concernant
le fabriquant du ME.
si erreur
+CME ERROR: <err>
Rponse
OK
si erreur
+CME ERROR: <err>
Commande de lecture
AT+CGMM
(exceptionnellement
pas de point dinterrogation)
Rponse
+CGMM: <model>
Retourne le modle du ME.
si erreur
+CGMI ERROR: <err>
Rponse
OK
si erreur
+CME ERROR: <err>
Commande de lecture
AT+CGMR
(exceptionnellement
pas de point dinterrogation)
Rponse
+CGMR: <revision>
Retourne la version du ME.
si erreur
+CGMI ERROR: <err>
29
INTERFACES GSM
Rponse
OK
si erreur
+CME ERROR: <err>
Commande de lecture
AT+CGSN
(exceptionnellement
pas de point dinterrogation)
Rponse
+CGSN: <sn>
Retourne le numro de srie du ME nomm IMEI (International
Mobile station Equipment Identity ; voir norme GSM 03.03).
si erreur
+CGMI ERROR: <err>
Rponse
OK
si erreur
+CME ERROR: <err>
Commande de lecture
AT+CIMI
(exceptionnellement
pas de point dinterrogation)
Rponse
<IMSI>
Retourne le numro IMSI : International Mobile Subscriber Indentity.
Permet au TE didentifier la carte SIM lie au ME.
si erreur
+CGMI ERROR: <err>
30
CHAPITRE
COMMANDES AT
Commande de lecture
AT+CLIP?
Rponse
+CLIP= <n>,<m>
Paramtres
<n> : paramtre qui active/dsactive la prsentation du numro au TE
0 inactif (valeur par dfaut)
1 actif
<m> : paramtre qui indique ltat de la fonctionnalit prsentation
du numro
0 Loprateur ne fournit pas ce service (non prvu dans labonnement)
1 Loprateur fournit ce service
2 Inconnu (ex : connexion au rseau impossible)
si erreur
+CGMI ERROR: <err>
Commande dcriture
AT+CLIP=[<n>]
Rponse
OK
Paramtre
Voir commande de lecture
si erreur
+CGMI ERROR: <err>
Remarque :
Si la prsentation du numro est active (AT+CLIP=1) et condition que
lappelant ne soit pas en mode secret, le numro est envoy au TE :
+CLIP: <number>,<type>[,<alpha>]
<number> : numro de tlphone
<type> : type de numro (national/international)
<alpha> : nom provenant du rpertoire, correspondant au numro
de tlphone
Commande de test
AT+CLIP=?
31
INTERFACES GSM
Rponse
OK
si erreur
+CME ERROR: <err>
Commande de lecture
AT+CSCS=?
Rponse
+CSCS: <chset>
Indique au TA quel est lalphabet utilis par le TE. Ainsi le TA peut
correctement convertir les chanes de caractres entre le TE et le ME.
si erreur
+CGMI ERROR: <err>
Commande dcriture
AT+CSCS=
<chset>
Rponse
OK
Paramtre
<chset> :
"GSM" GSM alphabet par dfaut
"HEX" chane de nombre hexadcimal 00 FF
"IRA" alphabet de rfrence international (ITU-T T.50 [13])
si erreur
+CGMI ERROR: <err>
Rponse
+CPAS: (liste des <pas>s supports)
Commande de lecture
AT+CPAS?
Rponse
+CPAS : <pas>
Paramtre
Retourne ltat dactivit <pas> du ME
0 prt
1 indisponible
2 indfini
3 sonnerie (le ME est prt pour le transfert de commandes entre
TA/TE, mais la sonnerie est active)
4 appel en cours (le ME est prt pour le transfert de commandes
entre TA/TE, mais un appel est en cours)
5 en veille
si erreur
+CGMI ERROR: <err>
32
CHAPITRE
COMMANDES AT
Rponse
OK
si erreur
+CGMI ERROR: <err>
Commande de lecture
AT+CPIN?
Rponse
+CPIN= <code>
Paramtre
<code> :
READY ME aucun mot de passe donner
SIM PIN ME attente du SIM PIN
SIM PUK ME attente SIM PUK
si erreur
+CGMI ERROR: <err>
Commande dcriture
AT+CPIN=<pin>
Rponse
OK
Permet de rentrer le code PIN
si erreur
+CGMI ERROR: <err>
Commande dcriture
AT+CPIN=
<pin>,<newpin>
Rponse
OK
Permet de modifier le code PIN, <newpin> est le nouveau code.
+CGMI ERROR: <err>
Rponse
+CBC: (liste des <bcs>s),(liste des <bcl>s)
si erreur
+CGMI ERROR: <err>
Commande de lecture
AT+CBC?
Rponse
+CBC: <bcs>,<bcl>
Paramtres
<bcs> : tat de connexion de la batterie
0 le ME est aliment par la batterie
1 le ME est connect une batterie, mais il nest pas aliment par
celle-ci
2 le ME nest pas connect une batterie
3 dfaut dalimentation
<bcl> : niveau de charge de la batterie
0
la batterie est dcharge, ou le ME ne dispose pas de batterie
1..100 capacit de la batterie entre 1 et 100 %
si erreur
+CGMI ERROR: <err>
33
INTERFACES GSM
Rponse
+CREG: (liste des <n>s supports)
si erreur
+CGMI ERROR: <err>
Commande de lecture
AT+CREG?
Rponse
+CREG: <n>,<stat>[,<lac>,<ci>]
Paramtres
<n> : indique dans quel mode la commande AT+CREG est utilise
0 commande inactive (valeur par dfaut)
retourne un code indiquant si le tlphone est enregistr sur le
rseau +CREG: <stat>
retourne un code <stat> indiquant si le tlphone est enregistr sur
le rseau et les informations <lac> et <ci>
<stat> :
0 tlphone non enregistr, pas de recherche doprateur en cours
1 tlphone enregistr sur le rseau
2 tlphone non enregistr, recherche doprateur en cours
3 enregistrement interdit
4 inconnu
5 enregistr, roaming
<lac> : Location Aera Code, deux octets cods en hexadcimal
<ci> : Cell-ID, deux octets cods en hexadcimal
si erreur
+CGMI ERROR: <err>
Commande dcriture
AT+CREG=[<n>]
Rponse
OK
Paramtre
Voir commande de lecture
si erreur
+CGMI ERROR: <err>
34
CHAPITRE
COMMANDES AT
Rponse
+CSQ: (liste des <rssi>s supports),(liste des <ber>s supports)
si erreur
+CGMI ERROR: <err>
Commande de lecture
AT+CSQ?
Rponse
+CSQ: <rssi>,<ber>
Paramtres
<rssi> :
0
113 dBm ou moins
1
111 dBm
2..30 - 109... 53 dBm
31
51 dBm ou plus
99
inconnu ou non dtectable
<ber> :
0..7
RXQUAL
99
inconnu ou non dtectable
si erreur
+CGMI ERROR: <err>
Rponse
+CIND: (<descr>,(liste des <ind>s supports)) [,(<descr>,
(liste des <ind>s supports))[,...]]
si erreur
+CGMI ERROR: <err>
Commande de lecture
AT+CIND?
Rponse
+CIND: <ind>[,<ind>[,...]]
Paramtres
<ind> : niveau correspondant au <descr>
<descr> :
"battchg" niveau de charge de la batterie (0-5)
"signal"
qualit du signal (0-5)
"service" disponibilit du service (0-1)
"sounder" activit sonore (0-1)
"message" message reu (0-1)
"call"
appel en cours (0-1)
"vox"
transmission active par activit vocale (0-1)
"roam"
indicateur de roaming (0-1)
"smsfull"
la mmoire de stockage des sms est pleine (1), ou disponible (0)
si erreur
+CGMI ERROR: <err>
35
INTERFACES GSM
Rponse
+CPBS: (liste des <storage>s supports)
OK
si erreur
+CGMI ERROR: <err>
Commande de lecture
AT+CPBS?
Rponse
+CPBS: <storage>[,<used>,<total>]
Paramtres
Voir commande dcriture
si erreur
+CPBS ERROR: <err>
Commande dcriture
AT+CPBS=<storage>
Rponse
OK
Paramtres
<storage> :
"DC" : liste des numros appels
"EN" : numro durgence stock dans mmoire SIM ou ME
"FD" : rpertoire fixe
"LD" : dernier numro appel
"MC" : liste des numros appels, mais sans rponse
"ME" : rpertoire du ME
"MT" : rpertoire combin, ME et SIM
"ON" : numros propres la carte SIM / ME (MSISDNs)
"RC" : liste des appels reus
"SM" : rpertoire de la carte SIM
"TA" : rpertoire du TA
<used> : indique lespace utilis dans la mmoire
<total> : taille de la mmoire
si erreur
+CGMI ERROR: <err>
36
CHAPITRE
COMMANDES AT
Rponse
+CPBR: (liste des <index>s supports),[<nlength>],[<tlength>]
Paramtres
<nlength> : taille maximum du champ <number>
<tlength> : taille maximum du champ <text>
si erreur
+CGMI ERROR: <err>
Commande dcriture
AT+CPBR=<index1>
[,<index2>]
Rponse
+CPBR: <index1>,<number>,<type>,<text>[[...]
<CR><LF>+CPBR: <index2>,<number>,<type>,<text>]]
Cette commande affiche le contenu du rpertoire situ entre les
emplacements <index1> et <index2>
Paramtres
<number> : numro de tlphone
<type> : type de numro
<text> : nom de la personne
si erreur
+CGMI ERROR: <err>
Rponse
+CPBF: [<nlength>],[<tlength>]
OK
Paramtres
<nlength> : taille maximum du champ <number>
<tlength> : taille maximum du champ <text>
si erreur
+CGMI ERROR: <err>
Commande de lecture
AT+CPBF=
<findtext>
Rponse
+CPBF: <index1>,<number>,<type>,<text>[[...]
<CR><LF>+CBPF: <index2>,<number>,<type>,<text>]]
Recherche un lment dans le rpertoire courant (celui slectionn
par la commande +CPBS) qui commence par les caractres spcifis
par <findtext>
Paramtres
<number> : numro de tlphone
<type> : type de numro
<text> : nom de la personne
si erreur
+CGMI ERROR: <err>
37
INTERFACES GSM
Rponse
+CPBW: (liste des <index>s supports),[<nlength>],[<tlength>]
Paramtres
<nlength> : taille maximum du champ <number>
<tlength> : taille maximum du champ <text>
si erreur
+CGMI ERROR: <err>
Commande dcriture
AT+CPBW=
[<index>]
[,<number>
[,<type>[,<text>]]]
Rponse
OK
Paramtres
<number> : numro de tlphone
<type> : type de numro
<text> : nom de la personne
si erreur
+CGMI ERROR: <err>
Rponse
+CCLK: <time>
Retourne la date et lheure au format "aa/mm/jj","hh:mm:ss"
si erreur
+CGMI ERROR: <err>
Commande dcriture
AT+CCLK=<time>
Rponse
OK
mise jour de la date et de lheure
si erreur
+CGMI ERROR: <err>
38
CHAPITRE
COMMANDES AT
AT+CALA : Alarme
Commande de test
AT+CALA=?
Rponse
+CALA: (liste des <n>s supports),(liste des <type>s supports),
<tlength>
Paramtres
Voir commande de lecture
si erreur
+CGMI ERROR: <err>
Commande de lecture
AT+CALA?
Rponse
+CALA: <time>,<n1>,<type>,[<text>]
[<CR><LF>+CALA: <time>,<n2>,<type>,[<text>][]]]
Paramtre lalarme horaire du ME. Il est possible de programmer
plusieurs alarmes, chaque alarme affiche un message diffrent sur
lcran du ME.
Paramtres
<time> :
date et heure au format "aa/mm/jj","hh:mm:ss"
<n>, <n1>, <n2> : nombre entier spcifiant lindex de lalarme
(spcifique au fabriquant)
<type> :
nombre entier qui indique le type dalarme, son,
volume, Led
<text> :
texte qui doit safficher sur lcran du ME lorsque
lalarme est active
<Tlength> :
taille maximum du champ <text>
si erreur
+CGMI ERROR: <err>
Commande dcriture
AT+CALA=<time>
[, <n>[, <type>
[, <text>]]]
Rponse
OK
Programmation dune alarme
si erreur
+CGMI ERROR: <err>
Rponse
+CMEE: (liste des <n>s supports)
Commande de lecture
AT+CMEE?
Rponse
+CMEE: <n>
Commande dcriture
AT+CMEE=[<n>]
Paramtres
<n>:
0 seul le code "ERROR" est retourn
1 retourne le code "ERROR" plus une valeur numrique
2 retourne le code "ERROR" plus un commentaire
39
INTERFACES GSM
Codes derreur
Lorsquune commande choue, un code derreur <err> peut tre
renvoy au TE (voir commande AT+CMEE) :
0......... chec du tlphone
1......... pas de connexion au tlphone
2......... "phone-adaptor link reserved"
3......... opration interdite
4......... opration non supporte
5......... PH-SIM PIN requis
6......... PH-FSIM PIN requis
7......... PH-FSIM PUK requis
10....... SIM absente
11 ....... SIM PIN requis
12....... SIM PUK requis
13....... chec de SIM
14....... SIM occupe
15....... SIM fausse
16....... mot de passe incorrect
17....... SIM PIN2 requis
18....... SIM PUK2 requis
20....... mmoire pleine
21....... index invalide
22....... non trouv
23....... chec de mmoire
24....... chane de texte trop longue
25....... caractre invalide dans la chane
26....... numro de tlphone trop long
27....... caractre invalide dans le numro
30....... pas de rseau
31....... timeout rseau
32....... pas de rseau, appel durgence seulement
40....... code PIN didentification sur le rseau requis
41....... code PUK didentification sur le rseau requis
42....... code PIN second didentification sur le rseau requis
43....... code PUK second didentification sur le rseau requis
44....... code PIN didentification sur loprateur requis
45....... code PUK didentification sur loprateur requis
46....... code PIN requis pour une identification
47....... code PUK requis pour une identification
100..... inconnu
Attention, certains lments prsents ci-avant sont extraits dun
document officiel de lETSI et par consquent ils sont soumis
un copyright :
40
CHAPITRE
COMMANDES AT
Commande
Fonction
Page
AT+CSMS
45
AT+CPMS
46
AT+CMGF
46
AT+CSCA
47
AT+CSDH
47
AT+CSAS
Sauvegarde du paramtrage
48
AT+CRES
48
AT+CNMI
49
AT+CMGL
50
AT+CMGR
50
AT+CMGS
Envoie un SMS
51
AT+CMSS
51
AT+CMGW
52
AT+CMGD
Efface un SMS
52
41
Tableau 2.3.
INTERFACES GSM
sont +CMGL qui liste les messages, +CMGR qui
effectue la lecture dun message et +CMGD qui
efface un message.
<mem2>
<mem3>
Description
ME
MT
SM
TA
<stat>
Mode
PDU
Mode
TEXT
REC UNREAD
REC READ
Message reu lu
STO UNSENT
STO SENT
ALL
<total1>
Signification
42
CHAPITRE
COMMANDES AT
<total2>
<total3>
<used1>
<used2>
<used3>
<da>
<data>
<dcs>
<dt>
<fo>
<length>
<fo>
Description
17dec
SMS-DELIVER ou SMS-SUBMIT
2dec
SMS-STATUS-REPORT ou SMS-COMMAND
43
INTERFACES GSM
<mr>
<oa>
<pdu>
<pid>
<sca>
<scts>
<toda>
<tooa>
<tosca>
<vp>
44
CHAPITRE
COMMANDES AT
Commande de lecture
AT+CSMS?
Rponse
+CSMS: <service>,<mt>,<mo>
Retourne les types de messages supports par le ME : <mt> pour le
mobile qui reoit le message, <mo> pour le mobile qui met le message.
Paramtres
Voir commande dcriture
si erreur
+CMS ERROR <err>
Commande dcriture
AT+CSMS=
<service>
Rponse
+CSMS: <mt>,<mo>
Paramtres
<service> :
0
GSM 03.40 et 03.41
1...127 rserv
128... spcifique au constructeur
<mt>,<mo> :
0
type non support
1
type support
si erreur
+CMS ERROR <err>
Commande de test
AT+CSMS=?
45
INTERFACES GSM
Rponse
+CPMS: (liste des <mem1>s supportes),(liste des <mem2>s supportes),
(liste des <mem3>s supportes)
Liste pour chaque type de mmoire
si erreur
+CMS ERROR <err>
Commande de lecture
AT+CPMS?
Rponse
+CPMS: <mem1>,<used1>,<total1>,<mem2>,<used2>,<total2>,
<mem3>,<used3>,<total3>
Affiche pour chaque type de mmoire <memx> lespace utilis <usedx>
et la capacit de stockage <totalx>
si erreur
+CMS ERROR: <err>
Commande dcriture
+CPMS=
<mem1>
[,<mem2>[,<mem3>]]
Rponse
+CPMS: <used1>,<total1>,<used2>,<total2>,<used3>,<total3>
Affecte une mmoire aux paramtres <mem1>, <mem2> et <mem3>
si erreur
+CMS ERROR <err>
Rponse
+CMGF: liste des <mode>s supports OK
Paramtre
Voir commande dcriture
si erreur
+CMS ERROR <err>
Commande de lecture
AT+CMGF?
Rponse
+CMGF: <mode> OK
Paramtre
Voir commande dcriture
si erreur
+CMS ERROR <err>
Commande dcriture
AT+CMGF=
[<mode>]
Rponse
OK
slectionne le format de dialogue utilis
Paramtre
<mode> :0 mode PDU (mode disponible sur tous les types de mobile)
1 mode TEXT
si erreur
+CMS ERROR <err>
46
CHAPITRE
COMMANDES AT
Rponse
OK
si erreur
+CMS ERROR <err>
Commande de lecture
AT+CSCA?
Rponse
+CSCA: <sca>,<tosca>
OK
si erreur
+CMS ERROR <err>
Commande dcriture
Si mode TEXT (+CMGF=1) :
AT+CSCA=
<sca>[,<tosca>]
Rponse
OK
Dfinit ladresse du centre de messagerie utiliser pour lenvoi des
SMS
si erreur
+CMS ERROR <err>
Rponse
+CSDH: (liste des <show>s supports)
Paramtre
Voir commande dcriture
si erreur
+CMS ERROR <err>
Commande de lecture
AT+CSDH?
Rponse
+CSDH: <show>
Paramtre
Voir commande dcriture
si erreur
+CMS ERROR <err>
Commande dcriture
AT+CSDH=
[<show>]
Rponse
OK
Paramtre
<show> :
0 naffiche pas tout le paramtrage du SMS, concerne les commandes +CSCA et +CSMP (<sca>, <tosca>, <fo>, <vp>, <pid> et <dcs>)
sinon <length>, <toda> ou <tooa> pour +CMT, +CMGL, +CMGR
1 affiche tout le paramtrage du SMS
si erreur
+CMS ERROR <err>
47
INTERFACES GSM
Rponse
+CRES: liste des <profile>s supports
si erreur
+CMS ERROR <err>
Commande dcriture
AT+CSAS=
[<profile>]
Rponse
+CRES: liste des <profile>s supports
si erreur
+CMS ERROR <err>
Commande dcriture
AT+CRES=
[<profile>]
Restauration dun des paramtrages du service de messagerie (concerne la commande +CSCA) stocks en mmoire. Un mobile peut contenir dans sa mmoire volatile jusqu 255 profiles diffrents dfinis
laide de la commande +CSAS.
si erreur
+CMS ERROR <err>
48
CHAPITRE
COMMANDES AT
Rponse
+CNMI: (liste des <mode>s supports), (liste des <mt>s supports)
Paramtres
Voir commande dcriture
si erreur
+CMS ERROR <err>
Commande de lecture
AT+CNMI?
Rponse
+CNMI: <mode>,<mt>
Paramtres
Voir commande dcriture
si erreur
+CMS ERROR <err>
Commande dcriture
+CNMI=
[<mode>
[,<mt>]]
Rponse
OK
Dtermine comment le mobile doit informer le TE lorsquun nouveau
SMS arrive du rseau.
<mode> :
0 Les indications concernant la rception dun nouveau message
sont stockes dans le TA.
1 Rejette les indications concernant la rception dun nouveau message lorsque la liaison entre le TA et le TE est rserve. Sinon les
indications sont directement transfres vers le TE.
2 Sauvegarde dans le TA les indications concernant la rception dun
nouveau message lorsque la liaison entre le TA et le TE est rserve.
Lorsque la liaison est libre, les indications sont transfres vers le
TE.
3 Les indications concernant la rception dun nouveau message
sont directement transfres vers le TE.
<mt> :
0 Aucune indication concernant le SMS-DELIVER nest envoye au
TE.
1 Si le SMS-DELIVER est stock dans le mobile, les indications concernant lemplacement en mmoire du message sont envoyes au
TE en utilisant le code +CMTI: <mem>,<index>
2 Les SMS-DELIVERs sont directement achemins au TE en utilisant le code +CMT : [<alpha>],<length><CR><LF><pdu>
3 Les SMS-DELIVERs de classe 3 sont directement achemins au
TE en utilisant le code :
+CMT: [<alpha>],<length><CR><LF><pdu>
si erreur
+CMS ERROR <err>
49
INTERFACES GSM
Rponse
+CMGL: liste des <stat>s supports OK
si erreur
+CMS ERROR <err>
Commande dcriture
AT+CMGL=
[<stat>]
Rponse
Si mode PDU (AT+CMGF=0) et commande russie
+CMGL: <index>,<stat>,[<alpha>],<length><CR><LF><pdu>
[<CR><LF>+CMGL:<index>,<stat>,[<alpha>],<length><CR><LF>
<pdu>[...]]
Si mode TEXT (AT+CMGF=1) et commande russie
+CMGL: <index>,<stat>,<oa/da>,[<alpha>],[<scts>]
[,<tooa/toda>,<length>]<CR><LF><data>[<CR><LF>
+CMGL: <index>,<stat>,<da/oa>,[<alpha>],[<scts>]
[,<tooa/toda>,<length>]<CR><LF><data>[...]]
Retourne tous les messages stocks avec leur tat <stat> depuis la
mmoire <mem1>
Si ltat dun message est received unread il devient received
read
si erreur
+CMS ERROR <err>
Rponse
OK
si erreur
+CMS ERROR <err>
Commande dcriture
+CMGR=
<index>
Rponse
Si mode PDU (AT+CMGF=0) et commande russie
+CMGR: <stat>,[<alpha>],<length><CR><LF><pdu>
Si mode TEXT (AT+CMGF=1), commande russie et SMS-DELIVER
+CMGR: <stat>,<oa>,[<alpha>],<scts>
[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>]<CR>
<LF><data>
Si mode TEXT (AT+CMGF=1), commande russie et SMS-SUBMIT
+CMGR: <stat>,<da>,[<alpha>]
[,<toda>,<fo>,<pid>,<dcs>,[<vp>],<sca>,<tosca>,<length>]<CR>
<LF><data>
Retourne le message ayant pour emplacement <index> dans la
mmoire <mem1>
Si ltat dun message est received unread il devient received
read
si erreur
+CMS ERROR <err>
50
CHAPITRE
COMMANDES AT
Rponse
OK
si erreur
+CMS ERROR <err>
Commande dcriture
Si mode PDU (+CMGF=0) :
+CMGS=
<length><CR>
trame PDU
<ctrl-Z/ESC>
Si mode TEXT (+CMGF=1) :
+CMGS=
<da>[,<toda>]
<CR>
texte
<ctrl-Z/ESC>
Rponse
+CMGS: <mr>[,<scts>] OK
Envoi du SMS sur le rseau (SMS-SUBMIT).
La rfrence du message <mr> est retourne au terminal metteur si
le message est correctement envoy.
Si erreur :
+CMS ERROR: <err>
Note :
La fin du message est signale par CTRL Z
ESC annule lenvoi du message en cours, bien que le terminal
retourne OK, le SMS nest pas envoy.
Envoi de-mail par SMS : certains providers ne reconnaissent pas le
symbole @, il est possible dans certains cas de le remplacer par !
Commande dcriture
+CMSS=<index>
[,<da>[,<toda>]]
Commande de test
AT+CMSS=?
51
INTERFACES GSM
Rponse
OK
si erreur
+CMS ERROR <err>
Commande dcriture
Si mode PDU (+CMGF=0) :
+CMGW=
<length>[,stat]
<CR>
trame PDU
<ctrl-Z/ESC>
Si mode TEXT (+CMGF=1) :
+CMGW=<oa/da>
[,<tooa/toda>
[,<stat>]]<CR>
texte
<ctrl-Z/ESC>
Rponse
+CMGW: <index>
Lexcution de cette commande effectue le stockage dans la mmoire
<mem2> dun message (SMS-DELIVER ou SMS-SUBMIT). Lemplacement du message dans la mmoire <index> est retourn. Par dfaut
ltat du message sera stored unsent , mais le paramtre <stat>
qui est facultatif autorise les autres valeurs possibles.
si erreur
+CMS ERROR <err>
Rponse
OK
si erreur
+CMS ERROR <err>
Commande dcriture
AT+CMGD=
<index>
Rponse
OK
Efface le message situ dans la mmoire <mem1> lemplacement
dfinit par <index>
si erreur
+CMS ERROR <err>
52
CHAPITRE
COMMANDES AT
Codes derreur
Lorsquune commande choue, un code derreur <err> peut tre
renvoy au TE (voir commande AT+CMEE) :
300 ...............chec ME
301 ...............service SMS du ME rserv
302 ...............opration non autorise
303 ...............opration non supporte
304 ...............paramtre invalide (mode PDU)
305 ...............paramtre invalide (mode TEXT)
310 ...............SIM non insre
311 ...............SIM PIN ncessaire
312 ...............PH-SIM PIN ncessaire
313 ...............chec SIM
314 ...............SIM occupe
315 ...............SIM faux
320 ...............chec mmoire
321 ...............index mmoire non valide
322 ...............mmoire pleine
330 ...............adresse SMSC inconnue
331 ...............pas de rseau
332 ...............timeout rseau
500 ...............erreur inconnue
501 511 .....rserv
512 ...............spcifique au constructeur
Attention, certains lments prsents ci avant sont extraits dun
document officiel de lETSI et par consquent ils sont soumis
un copyright :
53
PAGE
CHAPITRE
MATRIELS
UTILISS
56
62
73
Ralisations lectroniques
101
Annexes
251
Glossaire
261
Bibliographie
264
55
INTERFACES GSM
Adaptateur TTL/RS232
Figure 3.1.
Schma
de ladaptateur
TTL/RS232.
56
CHAPITRE
MATRIELS UTILISS
les niveaux de tension entre le PC et le tlphone. Paradoxalement le plus compliqu consiste se procurer le connecteur pour
relier le tlphone au montage. Il est possible de modifier un kit
piton encore faut-il que les broches qui nous intressent soient
prsentes. Quelques exemples de brochages rcuprs sur Internet
vont vous permettre didentifier les lignes relier au montage.
Attention les brochages prsents ici nont pas t vrifis, leur
utilisation est sous votre entire responsabilit. Lalimentation
du montage peut se faire partir des sorties DTR et RTS de
lordinateur, dans ce cas le cavalier J1 est en position B. Comme
certains PC ne disposent pas dune puissance suffisante sur leur
Figure 3.2.
Circuit imprim.
Figure 3.3.
Implantation
des composants.
DUNOD La photocopie non autorise est un dlit.
57
INTERFACES GSM
Figure 3.4.
Diffrents brochages.
58
CHAPITRE
MATRIELS UTILISS
Certains tlphones, notamment ceux de la marque Nokia, ncessitent une lectronique lgrement diffrente pour communiquer
avec un PC. En effet ils utilisent des protocoles de transmission
FBUS et/ou MBUS propres ce constructeur. Le FBUS est le
mode de communication privilgi de lutilisateur, il permet le
transfert de donnes une vitesse maximale de 115 kbauds, on
retrouve les broches TXD et RXD mais les niveaux de tension ne
doivent pas dpasser 3 V, do la prsence des diodes zener DZ1
59
Figure 3.5.
Schma
de ladaptateur
pour FBUS/MBUS.
INTERFACES GSM
et DZ2 qui possdent une tension de seuil de 2,7 V. Le MBUS est
plutt rserv au personnel technique de Nokia pour effectuer le
paramtrage systme du tlphone, bien quil puisse tre aussi
utilis pour le transfert de donnes mais avec une vitesse limite
9 600 bauds. La transmission et la rception se font sur une seule
broche nomme MBUS.
Le montage prsent ici peut communiquer selon les deux protocoles FBUS (cavalier J2 retir) ou MBUS (cavalier J2 en place). Il
est possible de tester le montage avant mme de lavoir reli au
tlphone. En effet, lorsque rien nest connect au bus, les lignes
RXD et TXD se trouvent relies par la diode D4 de sorte que
toute information envoye sur TXD est retransmise sur RXD (si
le cavalier J2 en place).
Figure 3.6.
Circuit imprim.
Figure 3.7.
Implantation
des composants.
Liste des composants
C1 : 100 nF / LCC jaune
C2 C5 : 1 F / tantale / 15 V
C6 : 220 F / lectrolytique / 15 V
D1 : 1N4002
D2 D4 : 1N4148
DZ1, DZ2 : diode zener 2,7 V
REG : rgulateur 78L05
J1 : barrette HE10 3 contacts + cavalier
J2 : barrette HE10 2 contacts + cavalier
CN1 : bornier vis 2 plots
CN2 : connecteur DB9 mle pour CI coud 90
CN3 : connecteur spcifique
au modle de tlphone utilis
IC1 : MAX232 + support DIL 16 broches
60
CHAPITRE
MATRIELS UTILISS
Figure 3.8.
Brochages
concernant
les tlphones
de la marque
NOKIA.
Figure 3.9.
Cble adaptateur.
Cordons DATA
Si vous ntes pas convaincu du brochage trouv sur Internet et
que vous avez peur dabmer votre tlphone, il est possible
dacheter un cble tout prt. Ces cbles appels DATA ou DATA
LINK sont malheureusement difficiles se procurer dans le commerce traditionnel. Encore une fois Internet vient notre secours,
sur le site www.maisondugsm.com vous trouverez certainement
le cble correspondant votre modle de tlphone, avec la
possibilit de commander par correspondance si le paiement en
ligne vous rebute. Ces cbles disposent en interne de toute la
circuiterie permettant une liaison directe entre votre tlphone et
61
INTERFACES GSM
le port srie du PC. Lnergie ncessaire la mise niveaux des
signaux est prleve, en principe, de la ligne DTR, ce qui rend le
cble totalement autonome. Notez quil existe des cbles permettant de connecter simultanment une alimentation externe afin
de recharger la batterie du tlphone.
Le TM2 de TELTONIKA
Parmi les diffrents modles proposs par Lextronic notre choix
sest port sur le TM2 fabriqu par la socit Teltonika. Il sagit
dun modle quadri bandes qui utilise les frquences 850, 900,
1 800 et 1 900 MHz. Il est capable de fonctionner dans les modes
voix, donnes, FAX et surtout, le plus intressant pour nous,
dans le mode SMS. Le module dispose dun support destin
recevoir lindispensable carte SIM et un connecteur MMCX
permettant de relier une petite antenne RF galement fournie par
Lextronic. Toutes les entres et sorties utiles au pilotage du
module sont disponibles sur un connecteur comportant 60
points en CMS. Inutile desprer souder vous-mme un tel
composant. Heureusement Lextronic propose un adaptateur qui
rpartit lensemble des connexions sur 4 ranges de 15 points au
pas classique de 2,54mm.
Nous avons ajout au module TM2 une interface au format
RS232 afin de pouvoir facilement le connecter au port srie dun
PC et surtout toutes les ralisations prsentes dans le chapitre 5.
Une fois de plus nous faisons donc appel au traditionnel
MAX232 pour ladaptation des niveaux de tensions des lignes
TXD0 et RXD0. Comme le TM2 utilise des niveaux de tension de
62
CHAPITRE
MATRIELS UTILISS
Transmission
Alimentation
Bandes de frquences
GSM 850 MHz, EGSM 900 MHz, DCS 1800 MHz, PCS
1900 MHz
Courant absorb
Puissance dmission
Antenne
Interfaces
Normes respectes
GSM07.07 et GSM07.05
Modes SMS
PDU et TEXT
FAX
Temprature
dutilisation
20 C + 55 C
Taille
Masse
< 10 g
63
Tableau 3.1.
Caractristiques
principales
INTERFACES GSM
Figure 3.10.
Le module TM2 vu
de dessous ( gauche)
et de dessus
( droite).
Une petite chute de plaque daluminium fera office de dissipateur thermique pour REG2.
Un deuxime rgulateur 78L05 (REG1) est ncessaire pour
alimenter le circuit MAX232 avec une tension plus conventionnelle de +5v.
Figure 3.11.
Le module TM2 avec
son antenne sur sa
platine dadaptation.
Compte tenu de lintensit absorbe par le module GSM notamment lors des phases de recherche de rseau, il conviendra
dutiliser un bloc alimentation secteur dlivrant au moins une
intensit de 1A pour une tension continue comprise entre 9 et
12v. Une prise jack (CN1) femelle permet de relier facilement
nimporte quel bloc du commerce. Lalimentation est reprise sur
le connecteur CN2 afin dalimenter le montage hte, un de ceux
prsents dans le chapitre 5.
64
CHAPITRE
MATRIELS UTILISS
Figure 3.12.
Schma lectrique.
65
INTERFACES GSM
Figure 3.13.
Circuit imprim.
Figure 3.14.
Implantation
des
composants.
66
CHAPITRE
MATRIELS UTILISS
Mise en uvre
Le montage peut tre connect au port srie dun ordinateur de
type PC. Dans cette configuration le chapitre 4 vous montrera
comment utiliser le logiciel Hyper terminal pour envoyer des
commandes AT au module TM2.
La connexion du module TM2 peut seffectuer directement au
port srie du PC ou par lintermdiaire dun cble droit constitu de deux connecteurs DB9 mle et femelle.
Figure 3.15.
Cble droit
constitu de deux
connecteurs DB9 mle
et femelle.
Rponse
+IPR : liste des <vitesses> supportes pour la transmissions des donnes entre la TA et le TE
0, 2400, 4800, 9600, 19200, 38400, 57600, 115200 bps.
115200 est le rglage sortie dusine.
0 signifie que le TA se synchronise automatiquement sur
la vitesse du TE
Commande de lecture
AT+IPR?
Rponse
+IPR : <vitesse>
OK
Retourne la vitesse de transmission en cours
si erreur
+CME ERROR : <error>
Commande dcriture
AT+IPR=<vitesse>
Rponse
OK
Dfinit la vitesse de transmission
si erreur
+CME ERROR : <error>
67
Tableau 3.2.
INTERFACES GSM
Tableau 3.3.
Rponse
OK
Cette commande enregistre en mmoire la configuration
active du TA dans un des deux profiles utilisateurs.
<value>=0 premier profile (valeur par dfaut)
<value>=1 deuxime profile
si erreur
+CME ERROR : <error>
Nota : cette commande doit tre utilise conjointement
avec la commande AT+CPWROFF pour que la mmorisation du profile soit effective
Liste des paramtres mmoriss dans le profile
utilisateur :
AT&C : Circuit 109 behavior ;
AT&D : Circuit 108 behavior ;
AT&K : Flow control ;
ATE : Echo mode ;
ATQ : Response Suppression Mode ;
ATV : Response Formatting Mode ;
ATX : Call Progress Monitoring Control ;
ATS0 : Automatic answer ;
ATS2 : Escape character ;
ATS3 : Command line termination character ;
ATS4 : Response formatting character ;
ATS5 : Command line editing character ;
ATS7 : Connection completion timeout ;
AT+CBST : Data Rate, Bearer Service, Connection
Element ;
AT+CRLP : RlpIws (IWF to MS window size), RlpMws
(MS to IWF window size), Rlp96T1 (acknowledgement
timer T1), RlpN2 (retransmission attempts N2) ;
AT+CR : Service Report Control Mode ;
68
CHAPITRE
MATRIELS UTILISS
Tableau 3.4.
Rponse
ACTIVE PROFILE :
&C1,
S02 :
S07 :
061,
+BR :
:
:
:
:
000,
008,
061,
000,
:
:
:
:
000,
008,
061,
000,
:
:
:
:
000,
008,
061,
000,
STORED PROFILE 0 :
&C1,
S02 :
S07 :
061,
+BR :
STORED PROFILE 1 :
&C1,
S02 :
S07 :
061,
+BR :
OK
Cette commande retourne la configuration en cours
ainsi que les configurations stockes dans les
profiles utilisateurs.
si erreur
+CME ERROR : <error>
69
INTERFACES GSM
Tableau 3.5.
Rponse
OK
<value>=0 premier profile (valeur par dfaut)
<value>=1 deuxime profile
si erreur
+CME ERROR : <error>
at+npsd=0,1,"websfr"
OK
at+npsd=0,2," "
OK
at+npsd=0,3," "
OK
at+npsd=0,4,"172.20.2.10"
OK
at+npsd=0,5,"194.6.128.4"
OK
at+npsd=0,7,"0.0.0.0"
OK
70
CHAPITRE
MATRIELS UTILISS
+NUSORD : 1,28
at+nsord=1,28
Rponse
Ecriture de 29 octets destination du client
Fermeture du socket 1
Fermeture du socket 0
Fermeture du profile GPRS n 0
71
Tableau 3.7.
INTERFACES GSM
Cration dun socket client
Tableau 3.8.
at+npsda=0,3
OK
at+nsocr=6
+NSOCR : 0
OK
at+nsoco=0,"151.9.34.66",80
OK
at+nsowr=0,18,"data to be
written"
+NSOWR : 0,18
OK
+NUSORD : 0,18
at+nsord=0,8
+NSORD : 0,8,"data to "
OK
+NUSORD : 0,10
at+nsord=0,10
+NSORD : 0,10,"be written"
OK
at+nsocl=0
OK
at+npsda=0,4
72
PAGE
CHAPITRE
INTERFACER UN
TLPHONE GSM
73
4.1 Avec un PC
74
92
Ralisations lectroniques
101
Annexes
251
Glossaire
261
Bibliographie
264
INTERFACES GSM
Ce chapitre va vous montrer comment interfacer facilement un
tlphone (ou terminal) GSM. Dans un premier temps nous utiliserons un ordinateur de type PC en guise de TE (Terminal Equipement), les commandes AT vues prcdemment saisies partir du
logiciel Hyper Terminal seront envoyes via le port srie. Dans un
deuxime temps cest un simple microcontrleur PicBasic beaucoup plus compacte qui nous permettra, en matire denvoi et de
rception de SMS, datteindre les mmes rsultats que le PC.
4.1 AVEC UN PC
Le logiciel Hyper Terminal livr en standard avec Windows est
utilis pour envoyer les commandes AT tires des normes
GSM07.05 et GSM07.07. Un logiciel maison dvelopp sous
DELPHI vous permettra denvoyer, de recevoir, et de consulter
facilement vos SMS.
Matriel
Tlphone GSM standard
un cble spcifique, du commerce, ou que vous fabriquerez
vous-mme (adaptateur RS232/TTL), comme nous lavons vu
dans le chapitre 3 ;
une carte SIM pour vous connecter au rseau GSM (vous
pouvez utiliser une carte prpaye telle que mobicarte) ;
un PC disposant dun port srie libre (exemple : COM2 ou
COM1). Nota : si votre ordinateur na pas de port srie vous
pouvez utiliser un convertisseur USB-Srie du commerce ;
un logiciel Windows de type Hyper Terminal (livr en
standard avec toutes les versions de Windows).
74
CHAPITRE
Hyper Terminal
Ouvrez une session du logiciel Hyper Terminal gnralement situ
sous le rpertoire C:\Program Files\Windows . Vous pouvez
crer un raccourci sur le bureau pour un accs ultrieur plus rapide.
Figure 4.1.
Description
de la connexion.
Dans la fentre Description de la connexion (figure 4.1) spcifiez un nom pour la connexion que vous allez crer. Choisissez
galement une icne qui sera associe la connexion.
Dans la fentre Numro de tlphone (figure 4.2) slectionnez
dans la liste droulante Se connecter en utilisant le port COM1
ou COM2. Les autres listes de la fentre qui sont utilises uniquement avec un modem doivent se griser.
La fentre Proprits de COMx (figure 4.3) permet de configurer le
protocole de transfert. La vitesse de transmission dfinie en bits
par seconde (ou bauds) est fixe 9 600. Cette valeur nest, en principe, pas primordiale pour un tlphone GSM car celui-ci est
prvu pour se synchroniser sur la vitesse de transmission du TE.
Nous avons volontairement choisi une vitesse ni trop rapide ni
trop lente, susceptible dtre accepte par tous les modles de tlphone. Les autres paramtres 8 bits de donnes, pas de parit et 1
bit de stop correspondent la configuration par dfaut. Aucun
contrle de flux nest spcifi, il suffira dattendre la confirmation
de traitement de la commande saisie avant denvoyer la suivante.
Lorsque vous cliquez sur la touche OK la connexion est tablie.
75
INTERFACES GSM
Figure 4.2.
Numro de tlphone.
Attention : concernant le module GSM TM2 vous devez utiliser une vitesse de 115 200 bds. Nous verrons dans le paragraphe
Commandes spcifiques au TM2 de Teltonika comment
ramener cette vitesse 9 600 bds.
Remarque : il nest pas utile de paramtrer le logiciel pour que les
commandes saisies au clavier saffichent lcran car chaque
caractre saisi est automatiquement renvoy par le ME en cho.
Figure 4.3.
Proprits de COM2.
76
CHAPITRE
Figure 4.4.
Hyper Terminal.
Lorsque lon utilise un logiciel informatique comme Hyper Terminal pour envoyer ou recevoir des donnes via le port srie du PC,
les caractres saisis lcran sont cods suivant la table des caractres ASCII. Par exemple si vous tapez la lettre majuscule A cest
le code 1000001bin qui est envoy au systme connect sur le port
srie. Il est donc impratif que ce systme utilise la mme table
pour convertir la donne rceptionne. Dans notre cas, le tlphone GSM peut utiliser diffrents alphabets citons par exemple :
IRA, GSM, HEX malheureusement lalphabet ASCII nest pas
support. Cependant, si lon se limite lutilisation des caractres
usuels (AZ, az, 09,) la compatibilit est assure. Il faut
rester prudent dans lutilisation des autres caractres, notamment
les caractres accentus. Pour les utilisateurs du Terminal TC35
77
INTERFACES GSM
Tableau 4.1.
(ou MC35) il existe une solution pour envoyer les caractres non
compatibles, il faut saisir un anti-slash suivi du caractre ASCII ;
voir quelques exemples au tableau 4.1.
Caractre
GSM
Valeur hexa.
du caractre GSM
Caractre
ASCII
Caractres
ASCII
de remplacement
Codes hexa.
des caractres
de remplacement
00
(null)
\00
5C 30 30
02
\02
5C 30
06
5C
7F
5C
Commandes gnrales
Nous allons tester dans cette partie uniquement les commandes
de la norme GSM07.05.
Pour tre tranquille dans nos exprimentations, nous allons de
suite entrer le code PIN pour dverrouiller la carte SIM, grce
la commande AT+CPIN :
AT+CPIN="xxxx"
OK
78
CHAPITRE
Retourne le modle :
AT+CGMM
MY X-5 GPRS
OK
Retourne la version :
AT+CGMR
1.00
OK
AT+CGSN
987612345-123
OK
Tout le monde connat le fameux code *#06# qui une fois compos
sur le clavier du tlphone permet dafficher son identifiant
international (IMEI). On obtient le mme rsultat avec la commande AT+CGSN :
AT+CGSN
351030358226964
OK
79
INTERFACES GSM
Les deux chiffres suivants (35) sont le FAC (Final Assembly Code)
qui prcise le lieu dassemblage final de lappareil, donc en
Bretagne dans cet exemple.
Les six chiffres suivants (822696) sont le numro de srie du
mobile (SNR).
Le dernier chiffre est une clef dont le codage est similaire au
dernier chiffre des numros de cartes bancaires.
Indicateurs et contrles
tat dactivit :
Cette commande peut tre utilise pour interroger le ME avant
de faire effectuer une action au tlphone :
AT+CPAS
+CPAS: 0
OK
80
CHAPITRE
Commande de lecture :
AT+CIND?
+CIND: 4,3,1,0
OK
81
INTERFACES GSM
Exemple de programmation dune alarme. Le ME mettra un
son le 15 mars 2003 11:50.
AT+CALA="03/03/15,11:50:00"
OK
Dans cet exemple, la mmoire possde une capacit de 50 enregistrements, dont 2 sont utiliss.
Chaque enregistrement est accessible via son index, le premier
enregistrement ne possde pas forcment un index gal 1. De
plus les champs numro et nom sont limits en terme de nombre
de caractres. Consultons ces paramtres avec la commande
+CPBR :
AT+CPBR=?
+CPBR: (1-150),10,12
82
CHAPITRE
Commandes SMS
Slection de la zone mmoire pour lecture/criture des SMS
Avant dutiliser les commandes relatives aux SMS, il faut savoir
quels sont les types de mmoires disponibles sur votre tlphone :
AT+CPMS=?
+CPMS: ("ME","SM"),("ME","SM"),("ME","SM")
83
INTERFACES GSM
Daprs cet exemple les mmoires ME et SIM peuvent tre utilises aussi bien pour la lecture (<mem1>) que pour lcriture
(<mem2> et <mem3>).
Regardons la configuration actuelle :
AT+CPMS?
+CPMS: "ME",7,100,"ME",7,100,"ME",7,100
84
CHAPITRE
Dans le cas prsent le mode PDU est support (0) de mme que
le mode TEXT (1).
Activons donc le mode PDU :
AT+CMGF=0
+CMGS: O
OK
85
INTERFACES GSM
Le module retourne la liste des modes quil supporte :
+CMGF: (0,1)
Dans le cas prsent le mode PDU est support (0) de mme que
le mode TEXT (1).
Activons donc le mode TEXT :
AT+CMGF=1
OK
86
CHAPITRE
87
INTERFACES GSM
La manire dont le ME indique au TE quil vient de recevoir un
nouveau SMS dpend du paramtrage de la commande +CNMI :
AT+CNMI=1,1
88
CHAPITRE
89
INTERFACES GSM
Une dernire commande est obligatoire pour que la mmorisation soit effective :
AT+CPWROFF
lissue de cette dernire commande le TM2 est automatiquement plac en mode veille.
Dsormais chaque RESET ou mise sous tension le profil utilisateur n 0 sera automatiquement charg. De fait le module TM2
communique une vitesse de 9 600 bds compatible avec
lensemble des ralisations lectroniques prsentes dans le
chapitre suivant.
90
CHAPITRE
Figure 4.5.
ConvertSMS2.
Logiciel WinGSM
Si lon fait abstraction des logiciels qui permettent de dverrouiller son portable, bien loin des proccupations de cet
ouvrage, il existe trs peu de softs ddis la gestion des SMS.
Lauteur a dcid de mettre fin cette pnurie en dveloppant
son propre logiciel baptis WinGSM qui permet de grer et
darchiver sur le disque dur de son PC les SMS mmoriss sur
son tlphone portable, et ce nest pas tout :
91
INTERFACES GSM
Muni dun cordon ad ok permettant de relier votre tlphone
portable au port srie de votre PC et du logiciel WinGSM vous
avez la possibilit de :
Grer/Archiver vos SMS
Lorsque la mmoire de votre tlphone (ME) ou de votre carte
SIM (SM) est pleine, vous tes oblig de supprimer dfinitivement certains SMS. Grce WinGSM vous pouvez les transfrer sur le disque dur de votre ordinateur (fichier SMS.gsm) et
les consulter ultrieurement votre convenance, mme lorsque
le tlphone nest plus connect au PC. Vous pouvez galement
composer facilement un nouveau SMS et lexpdier directement
sur le rseau GSM ou le mmoriser pour lenvoyer au moment
opportun.
Grer/Sauvegarder votre rpertoire tlphonique
En cas de perte ou de vol de votre tlphone, vous tes contraint
de ressaisir les noms et les numros de tlphones prsents
dans la mmoire de votre tlphone et/ou de votre carte SIM.
Si vous avez pris soin, grce WinGSM, de faire une copie de
sauvegarde sur le disque dur de votre PC (fichier rpertoire
.gsm), vous pouvez transfrer, dun click, toutes les entits de
votre rpertoire tlphonique vers votre nouveau mobile GSM.
Vous pouvez bien entendu ajouter/modifier/supprimer facilement des numros/noms dans le rpertoire dj en mmoire
sur votre tlphone.
Visualiser lcran les paramtres de fonctionnement de votre
tlphone
WinGSM affiche de nombreuses donnes de paramtrage,
souvent inaccessibles lutilisateur conventionnel.
Utiliser votre tlphone comme un modem
Avec WinGSM vous pouvez raliser le transfert, travers le
rseau GSM, de donnes (DATA) destination dun modem fixe
(RTC) ou destination dun autre tlphone GSM (figure 4.6).
WinGSM est compatible avec tous les tlphones GSM du
march et mme avec les modules GSM intgrs MC35 et TC35
de Siemens ! (supporte les normes GSM07.05 et GSM05.05). Le
programme fonctionne sous toutes les versions de Windows,
95 XP.
92
CHAPITRE
Figure 4.6.
WinGSM.
Linstruction SEROUT
SEROUT Port, Param1, Mode, Param2, [Var1]
93
INTERFACES GSM
du PICBASIC transmettra la ou les donnes Var1 une vitesse
dfinie par Param1, selon la correspondance du tableau prcdent.
Le paramtre Mode permet dinstaurer une temporisation entre
chaque caractre mis dont la dure en millisecondes est fonction
de Param2. Les donnes envoyes doivent tre de type BYTE
cest--dire comprise entre 0 et 255 (tableau 4.2).
Tableau 4.2.
Vitesse (bits/s)
PICBASIC 2H/3B/3H
2 400
4 800
207
9 600
103
19 200
51
34dec est le code ASCII du symbole guillemet. Les vrais guillemets encadrant le numro sont l uniquement pour indiquer au
compilateur quil doit traiter le numro 0600000000 comme une
chane de caractres, mme chose pour la commande AT+CMGS.
Alors que le code ASCII 34dec ne sera pas interprt par le compilateur donc envoy tel quel sur la sortie srie. 13dec est le code
ASCII du retour chariot <CR>, qui dclenche lexcution de la
commande.
Ensuite il faut une temporisation dau moins 1/2 seconde (500 ms)
avant dentrer le texte du message :
DELAY 500
Envoi du texte :
SEROUT 17,103,0,1,["TEST",26]
94
CHAPITRE
Linstruction SERIN
SERIN Port, Param1, Mode, Param2, Adress, [Var1]
95
INTERFACES GSM
mande AT+CNMI suivie des paramtres <mode> et <mt> et du
code ASCII 13dec qui dclenche lexcution de la commande :
SEROUT 17,103,0,1,["AT+CNMI=1,1",13]
Tableau 4.3.
00dec
"
"
34dec
83dec
77dec
34dec
44dec
49dec
96
CHAPITRE
Remarque : comme les donnes Tampon(2) et Tampon(5) contiennent toujours le code ASCII 34dec qui correspond au guillemet,
on aurait pu utiliser le code suivant :
SEROUT 14,51,0,1,["AT+CPMS=",34,Tampon(3),Tampon(4),34,13]
DELAY 500
97
INTERFACES GSM
Voici ce que pourrait contenir la variable SMS en mode PDU :
+CMGR: 0,,24
07911614786007F0040B911604994743F400009930139100406B05E8329BFD06
OK
La premire ligne contient len-tte du message, le premier paramtre REC READ indique quil sagit dun message non lu, le
deuxime paramtre donne le numro de lexpditeur du message, le dernier paramtre indique la date laquelle le message
a t envoy. Le texte du message qui nous intresse est situ sur
la deuxime ligne soit TEST , on constate quil nest pas
vident premire vue dextraire cette donne. Il serait judicieux
de placer dans la variable SMS uniquement le mot TEST .
Malheureusement linstruction WAIT ne peut pas tre utilise
pour dtecter le caractre <CR> afin de mmoriser uniquement
la donne situe sur la deuxime ligne. La solution consiste
faire prcder le corps du message dune paire de caractres
spcifiques qui dclencherait la mmorisation dans la variable
SMS. Il faut choisir des caractres qui ne devront jamais apparatre dans len-tte du message sous peine de rcuprer des
donnes inutiles. Deux points dexclamations !! semble tre
une bonne solution. Voici donc linstruction basic utiliser :
ATT1: serin 16,103,0,1000,ATT1,[WAIT("!!"),SMS(0)~70]
98
CHAPITRE
SMS(2)
SMS(3)
48dec
69dec
83dec
48dec
SMS(4)
SMS(0)
99
SMS()
Tableau 4.4.
SMS()
SMS(70)
PAGE
CHAPITRE
RALISATIONS
LECTRONIQUES
102
123
163
194
228
Annexes
251
Glossaire
261
Bibliographie
264
101
INTERFACES GSM
Dans la ralisation dune application sans fil, la porte est le
paramtre le plus important. Avec les modules HF intgrs Aurel
ou Mipot du commerce il est difficile dassurer une transmission
correcte sur une distance suprieure 100 m et ceci mme dans
les conditions les plus favorables, temps clair, terrain dgag
Mme si la porte est lie la puissance dmission, il existe une
limite fixe par la rglementation. Voil pourquoi les modules
vendus dans le commerce dlivrent une puissance dmission ne
dpassant pas quelques dizaines de milliwatts.
Avec la technologie GSM, la porte nest plus un problme. Un tlphone portable possde certes une puissance de quelques watts
mais celle-ci est largement suffisante pour accder au rseau tlphonique via les antennes relais quadrillant notre territoire. Il
devient alors possible par lenvoi et la rception de commandes
sous forme de SMS de piloter et de surveiller un processus quelconque se droulant sur un site distant, voire mme mobile (automobile). La mise en uvre de ce procd ncessite le dveloppement
dune lectronique autonome capable de sinterfacer avec un tlphone et de communiquer avec celui-ci via les commandes AT que
nous avons dcrites prcdemment, et disposant dactionneurs et
de capteurs pour interagir avec son environnement. Cest le but
que nous allons atteindre dans ce dernier chapitre.
Tous les montages prsents ci-aprs peuvent sutiliser avec un
tlphone portable GSM supportant le mode TEXT connect
laide dun cordon DATA ; ou avec nimporte quel terminal GSM
supportant les standards GSM07.07 et GSM07.05, comme le TM2
de Teltonika pour ne citer que lui.
Schma lectrique
Voir figure 5.1.
102
Figure 5.1.
Schma
du rcepteur de SMS
sur cran LCD.
RALISATIONS LECTRONIQUES
CHAPITRE
103
INTERFACES GSM
Le cur du montage est comme convenu un PicBasic PB-3B. Les
lignes I/O16 (broche 21) et I/O17 (broche 22) sont mises contribution pour lacquisition des donnes sries. Le circuit IC2, un
Max232 dadapte le niveau de tension des signaux en provenance
et destination du tlphone GSM reli au circuit par lintermdiaire dun cble adaptateur que nous avons dcrit dans la
premire partie du chapitre 3. Si vous utilisez un terminal GSM
tel que le TC35 de siemens qui dispose dune sortie RS232 normalise, la liaison se fera avec un cble RS232 standard. Le Max232
est cbl avec 4 condensateurs au tantale ncessaires lactivation
de sa pompe de charge interne qui permet de passer la tension
dalimentation de 5 12 V. Lentre RXD (broche 2) qui rcupre
les donnes en provenance du tlphone est relie lentre
RX1i, si sur cette entre une tension de + 12 V est applique on
aura sur la sortie correspondante RX1o une tension nulle qui sera
applique sur la ligne I/O16 configure pour loccasion en
entre. Si lentre RX1i est soumise une tension de 12 V, on
aura sur lentre I/O16 une tension de + 5 V. La ligne I/O17
(broche 22) est configure en sortie pour lenvoi des donnes
destination du tlphone, elle est relie lentre TX1i. Une
tension nulle applique sur TX1i donne une tension de + 12 V
sur la sortie TX1o et sur TXD (broche 3). Une tension de + 5 V
donne une tension de 12 V sur TXD. La sortie DTR est aussi
mise contribution, mais uniquement pour lalimentation du
cble utilis conjointement avec un tlphone portable. En effet
les cbles DATA LINK du commerce utilisent cette sortie pour
alimenter leur lectronique interne. Comme lentre TX2i est relie
la masse, on obtient sur TX2o donc sur DTR une tension de
+ 12 V. Cette sortie est inutile si vous utilisez un terminal GSM,
il suffit dans ce cas de retirer le cavalier J1. Les lignes RXD, TXD et
DTR sont disponibles sur un connecteur au format DB 9 broches
mle pour une connexion directe.
Comme tout microcontrleur qui se respecte, le PicBasic utilise
un quartz, de 20 MHz, associ aux condensateurs de dcouplage
C2 et C3 de 22 pF, pour cadencer lexcution du programme.
Lentre RES qui est en logique inverse, est relie directement
au + 5 V, ainsi chaque mise sous tension du montage le PicBasic
est remis zro. Lalimentation se fait par la broche 20, deux
broches 8 et 19 sont utilises pour la mise la masse.
Le PicBasic dispose dinstructions spcialement ddies pour le
pilotage dun afficheur LCD commande srie. Une seule ligne
nomme PICBUS (broche 26) suffit piloter lafficheur 2 16
caractres que nous avons choisi. Un buzzer constitu dun
simple disque piezzo est connect sur la sortie I/O9 (broche 12),
l encore une instruction Basic dlivre un signal carr dune
104
CHAPITRE
RALISATIONS LECTRONIQUES
Ralisation
Limpression du circuit sur du papier transparent avec une imprimante jet dencre ou laser permet dobtenir un masque de
bonne qualit. Pour avoir une opacit correcte des pistes, il est
conseill de superposer deux masques lors de linsolation. Le
temps dexposition aux UV peut ainsi tre augment pour une
rvlation sans surprise. Aprs gravure, rinage et perage, les
diffrents composants seront souds conformment au schma
dimplantation. Attention lorientation des composants polariss. La borne positive du buzzer correspond au disque gris de
plus faible dimension. La borne positive pour chacun des condensateurs est signale par un signe + grav ct cuivre. Soyez
galement vigilant sur lorientation du connecteur du cble de
programmation et celui de lafficheur LCD (voir figure 5.4).
Programme du PicBasic : recep.bas
Le programme implant dans la mmoire eeprom du PicBasic est
largement aussi important que la partie lectronique, puisque
cest de lui que dpend le fonctionnement correct du montage.
Il nest donc pas inutile de le dtailler surtout pour ceux qui dsireront par la suite ajouter des fonctionnalits au montage.
'DECLARATION DES CONSTANTES
'--------------------------
105
INTERFACES GSM
Figure 5.2.
Circuit imprim.
Figure 5.3.
Implantation
des composants.
Liste des composants
R1 : 470
R2, R3, R4, R5 : 10 k
C1 : 100 nF (pas de 2,54 mm)
C2, C3 : 22 pF / cramique
C4, C10 : 100 nF / LCC jaune
C5, C6, C7, C8 : 1 F / tantale / 15 V
C9 : 220 F / lectrolytique / 15 V
D1 : diode 1N4002
D2 : diode 1N4148
L : Led standard
Q : quartz 20 MHz
REG : rgulateur 7805
106
CHAPITRE
RALISATIONS LECTRONIQUES
Figure 5.4.
107
INTERFACES GSM
'INITIALISATION DE LECRAN LCD
'------------------------------------------------
i=0
SEROUT TXD,BDS,0,1,["AT",13]
SERIN RXD,BDS,0,2000,TEST1,[WAIT("OK"),i]
IF i<>0 THEN
LOCATE 0,0
PRINT "Liaison OK"
LOCATE 0,1
PRINT "Test mode..."
ELSE
LOCATE 0,0
PRINT "PB liaison !"
DELAY 5000
END IF
108
CHAPITRE
RALISATIONS LECTRONIQUES
'SELECTION DE lALPHABET GSM
'----------------------------------------------SEROUT TXD,BDS,0,1,["AT+CSCS=",34,"GSM",34,13]
DELAY 500
'CODE PIN
'--------------
109
INTERFACES GSM
LOCATE 0,1
PRINT "Attente SMS..."
ELSE
LOCATE 0,0
PRINT "Mode TEXT"
LOCATE 0,1
PRINT "non supporte :("
DELAY 5000
END IF
IF i=0 THEN GOTO INIT
DELAY 1000
110
CHAPITRE
RALISATIONS LECTRONIQUES
ATTBP: BEEP 9
IF IN(0)=0 AND IN(1)=0 THEN GOTO ATTBP
Comme lindex sincrmente chaque nouveau message rceptionn, il est ncessaire dextraire cette donne pour savoir o
aller lire le message en mmoire. Dans ltat actuel des choses
admettons que la donne Tampon contient ce qui est indiqu au
tableau 5.1.
Tableau 5.1.
Tampon Tampon Tampon Tampon Tampon Tampon Tampon Tampon Tampon Tampon
(0)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
:
"
"
111
INTERFACES GSM
sation du message dans la variable SMS seffectuera ds la dtection dune paire de points dexclamation. Les SMS envoys au
montage devront donc toujours dbuter par les caractres !! . Voici
titre dexemple un SMS tel quil est transmis notre montage
par le ME :
+CMGR: "REC READ","+61405809051","03/12/01,20:16:11+44"
!!Ceci est un test
112
CHAPITRE
RALISATIONS LECTRONIQUES
Toutes les instructions que nous venons de dcrire sont rassembles dans le fichier recep.bas . Il reste maintenant transfrer
le programme dans leeprom du PicBasic. Pour raccorder le PC
et le PicBasic via le cble imprimante, il vous faudra imprativement couper lalimentation du montage, puis connecter le cble
avant dallumer le PC et en dernier lieu mettre le montage sous
tension. Lancez le logiciel PICBASIC-LAB, ouvrez alors le fichier
recep.bas , cliquez sur le bouton RUN . Le programme est
compil en instructions assembleurs qui sont ensuite implantes
dans la mmoire du PicBasic. Pour rendre le montage autonome,
coupez toujours lalimentation du montage puis celle du PC. De
mme, ne dconnectez le cordon de liaison que si le PC et le
montage sont tous deux hors tension.
Test du montage
Dans un premier temps il est prudent de tester le montage laide
dun PC avant dy relier un tlphone. Ralisez un cble RS232
crois laide dun cordon comportant 3 conducteurs et de
2 connecteurs DB9 femelles cbler comme le montre la figure 5.5.
Reliez le montage au port srie du PC. Ouvrez une session du
logiciel Hyper Terminal, vous pouvez reprendre le fichier InterfacesGSM.lnk prsent dans le chapitre 4. Rappelons que la
Figure 5.5.
113
INTERFACES GSM
Figure 5.6.
Configuration ASCII.
114
CHAPITRE
RALISATIONS LECTRONIQUES
Les 3 points dtaills ici sont valables pour lensemble des montages prsents dans ce chapitre.
Tableau 5.2.
Figure 5.7.
Cble
droit .
Tableau 5.3.
Action du montage
!!texte
115
INTERFACES GSM
metteur de SMS
Nous prsentons ici une deuxime utilisation du montage, la
platine est identique, seul le programme est modifi. Le but est
denvoyer quotidiennement un SMS une heure pralablement
programme. Nous en profiterons donc pour montrer comment
bnficier de lhorloge du tlphone qui fournit la date et lheure
courante. Pour varier les plaisirs le SMS est compos au format
PDU.
Dclarations de nos trois constantes employes dans les instructions SERIN et SEROUT pour configurer le port srie.
CONST BDS = 103
CONST RXD = 17
CONST TXD = 16
'DECLARATION DES VARIABLES
'-------------------------
CLK(20) AS BYTE
old AS BYTE
nbSMS AS BYTE
i AS BYTE
116
CHAPITRE
RALISATIONS LECTRONIQUES
SERIN RXD,BDS,0,2000,TEST1,[WAIT("OK"),i]
TEST1: IF i<>0 THEN
LOCATE 0,0
PRINT "Liaison OK"
ELSE
LOCATE 0,0
PRINT "PB liaison !"
DELAY 5000
END IF
IF i=0 THEN GOTO TEST0
DELAY 5000
'SELECTION DE lALPHABET GSM
'--------------------------SEROUT TXD,BDS,0,1,["AT+CSCS=",34,"GSM",34,13]
DELAY 500
'CODE PIN
'-------SEROUT TXD,BDS,0,1,["AT+CPIN=",34,"7208",34,13]
DELAY 500
'INITIALISATION ME
'-----------------
old=0
SEROUT TXD,BDS,0,1,["AT+CCLK?"]
DELAY 500
SEROUT TXD,BDS,0,1,[13]
117
INTERFACES GSM
Examinons ce que contient dsormais la variable tableau CLK
(tableau 5.4).
Tableau 5.4.
CLK CLK CLK CLK CLK CLK CLK CLK CLK CLK CLK CLK CLK CLK CLK CLK CLK CLK CLK CLK
(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19)
:
"
"
118
CHAPITRE
RALISATIONS LECTRONIQUES
EMET: nbSMS=nbSMS+1
IF nbSMS>99 THEN nbSMS=0
LOCATE 0,1
PRINT DEC(nbSMS,2,0)," SMS envoye(s)"
En mode PDU, il suffit de prciser le nombre doctets que comporte le message, puis denvoyer la trame au tlphone, le caractre <eof> = 26dec provoque lenvoi sur le rseau GSM :
SEROUT TXD,BDS,0,1,["AT+CMGS=46",13]
DELAY 1000
SEROUT
TXD,BDS,0,1,["0011000A8160572391950000AA25C3F2380D2ACFE9A0BA1BD42
ECFE7E17319442E83E8E5391D0497BFCFF270BB5D06"]
SEROUT TXD,BDS,0,1,[26]
old=CLK(10)
RETURN
Tableau 5.5.
119
INTERFACES GSM
'------------------------DIM CLK(20) AS BYTE
DIM old AS BYTE
DIM nbSMS AS BYTE
DIM i AS BYTE
'INITIALISATION DE LECRAN LCD
'----------------------------SET PICBUS HIGH
LCDINIT
'TEST LIAISON SERIE
'-----------------i=0
TEST0: SEROUT TXD,BDS,0,1,["AT",13]
SERIN RXD,BDS,0,2000,TEST1,[WAIT("OK"),i]
TEST1: IF i<>0 THEN
LOCATE 0,0
PRINT "Liaison OK"
ELSE
LOCATE 0,0
PRINT "PB liaison !"
DELAY 5000
END IF
IF i=0 THEN GOTO TEST0
DELAY 5000
'SELECTION DE lALPHABET GSM
'--------------------------SEROUT TXD,BDS,0,1,["AT+CSCS=",34,"GSM",34,13]
DELAY 500
'CODE PIN
'-------SEROUT TXD,BDS,0,1,["AT+CPIN=",34,"7208",34,13]
DELAY 500
'INITIALISATION ME
'-----------------
120
CHAPITRE
RALISATIONS LECTRONIQUES
DELAY 500
SEROUT TXD,BDS,0,1,[13]
SERIN RXD,BDS,0,2000,ATT,[WAIT("LK"),CLK(0)~20]
LOCATE 0,0
PRINT CLK(9),CLK(10),"/",CLK(6),CLK(7),"
"
FOR i=12 TO 19
PRINT CLK(i)
NEXT i
IF CLK(10)<>old THEN
IF CLK(12)="0" AND CLK(13)="9" THEN
IF CLK(15)="5" AND CLK(16)="5" THEN GOSUB EMET
END IF
END IF
GOTO ATT
'EMISSION SMS
'-----------EMET: nbSMS=nbSMS+1
IF nbSMS>99 THEN nbSMS=0
LOCATE 0,1
PRINT DEC(nbSMS,2,0)," SMS envoye(s)"
Tableau 5.6.
121
Figure 5.8.
Schma de la tlcommande
1 sortie sur relais.
INTERFACES GSM
122
CHAPITRE
RALISATIONS LECTRONIQUES
Schma lectrique
Nous ne reviendrons pas sur la description des parties communes
au montage prcdent. La sortie I/O11 ne disposant pas dune
puissance suffisante pour faire coller le relais, nous avons fait
appel un tage amplificateur constitu dun simple transistor
2N2222. La base est relie la sortie I/O11 via une rsistance de
1 k. Le relais est plac entre le collecteur et lalimentation du
montage (en amont du rgulateur) qui ne devra pas dpasser les
12 V. Notez la prsence de la diode dite de roue libre D3 charge de court-circuiter la force contre lectromotrice gnre par
la bobine. Lorsque la sortie I/O11 est ltat haut, T1 est satur,
le relais est actif. Lorsque I/O11 est ltat bas, T1 est bloqu, le
relais est inactif. Le seul capteur de la carte est le bouton poussoir
BP1 connect lentre I/O0. La rsistance de rappel R7 impose
une tension de + 5 V lorsque le BP nest pas actionn (figures 5.9
et 5.10).
Programme PICBASIC (version 1) : 1sr_v1.bas
'DECLARATION DES CONSTANTES
'--------------------------
123
INTERFACES GSM
Figure 5.9.
Circuit imprim.
Figure 5.10.
Implantation
des composants.
Liste des composants
R1, R5, R6 : 470
R2, R3, R7 : 10 k
R4 : 1 k
C1 : 100 nF (pas de 2,54 mm)
C2, C3 : 22 pF / cramique
C4, C10 : 100 nF / LCC jaune
C5, C6, C7, C8 : 1 F / tantale / 15 V
C9 : 220 F / lectrolytique / 15 V
D1 : diode 1N4002
D2, D3 : diode 1N4148
L, L1, L2 : Led standard (diamtre 3 mm)
Q : quartz 20 MHz
REG : rgulateur 7805
124
CHAPITRE
RALISATIONS LECTRONIQUES
DIM
DIM
DIM
DIM
DIM
Num(16) AS BYTE
NumMem AS BYTE
i AS BYTE
j AS INTEGER
flag AS BYTE
125
INTERFACES GSM
En principe le code PIN qui autorise lutilisation du tlphone
doit tre compos chaque mise sous tension. Avec un tlphone
classique vous pouvez le saisir partir du clavier. Ce qui nest
plus possible si vous utilisez un terminal GSM intgr, pour la
simple et bonne raison quil ne dispose pas de clavier ! Linstruction AT+CPIN suivie de votre code PIN est dans ce cas incontournable.
SEROUT TXD,BDS,0,1,["AT+CPIN=",34,"7208",34,13]
DELAY 500
'INITIALISATION DU ME
'--------------------
126
CHAPITRE
RALISATIONS LECTRONIQUES
SERIN RXD,BDS,0,10000,ATT,[WAIT("IP"),Num(0)~16]
GOSUB BUZ
Tableau 5.7.
NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM NUM
(0)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9) (10) (11) (12) (13) (14) (15)
:
"
127
"
INTERFACES GSM
Si la variable flag est 1, le relais change dtat. Si flag est 0 le
relais conserve son tat, la Led L2 sillumine pendant 5 s pour
signaler que lappel est rejet. Linstruction TOGGLE change
ltat de la sortie qui lui est associe.
IF flag=1 THEN
TOGGLE 11
TOGGLE 2
OUT 3,0
GOSUB BUZ
ELSE
OUT 3,1
END IF
DELAY 5000
OUT 3,0
GOTO ATT
'GESTION DU BP
'-------------
TOGGLE 11
TOGGLE 2
GOSUB BUZ
DELAY 1000
RETURN
'ACTIVATION DU BUZZER
'-------------------BUZ:
FOR i=0 TO 10
BEEP 9
NEXT i
RETURN
Tableau 5.8.
Configuration
Cavalier J1 mettre en place uniquement si vous utilisez un cble DATA LINK du commerce
lments du programme PicBasic modifier
Code PIN (7208 par dfaut)
Numro de tlphone autoris activer/dsactiver le relais, attention le numro est en notation
international mais sans le signe +, exemple : 33xxxxxxxx (valeur par dfaut)
128
CHAPITRE
RALISATIONS LECTRONIQUES
Programme PICBASIC (version 2) : 1sr_v2.bas
Pour ceux qui nont pas la chance de possder la fonctionnalit
prsentation du numro, voici une deuxime version du programme. Le montage se contente de dtecter larrive dun appel
pour changer ltat du relais. Linconvnient est que nimporte
qui peut piloter votre montage.
'DECLARATION DES CONSTANTES
'-------------------------CONST BDS = 103
CONST RXD = 17
CONST TXD = 16
'DECLARATION DES VARIABLES
'------------------------DIM RING(2) AS BYTE
DIM i AS BYTE
'GESTION DU BOUTON POUSSOIR
'-------------------------ON INT(0)=0 GOSUB BP
'TEST LIAISON SERIE
'-----------------TEST: BEEP 9
SEROUT TXD,BDS,0,1,["AT",13]
SERIN RXD,BDS,0,2000,TEST,[WAIT("OK"),i]
IF i=0 THEN GOTO TEST
129
INTERFACES GSM
ce faire celui-ci attend les caractres RI , les 2 caractres suivants
sont placs dans la variable RING.
ATT:
SERIN RXD,BDS,0,10000,ATT,[WAIT("RI"),RING(0)~2]
RING(0)
RING(1)
Configuration
Cavalier J1 mettre en place uniquement si vous utilisez un cble DATA LINK du commerce
lments du programme PicBasic modifier
Code PIN (7208 par dfaut)
130
CHAPITRE
RALISATIONS LECTRONIQUES
Schma lectrique
Quatre lignes du PicBasic I/O8 I/O11 configures pour loccasion en sorties pilotent les 4 relais. Le circuit ULN2803A sert
damplificateur afin de fournir lintensit suffisante pour activer
les bobines, les 4 sorties restantes sont mises profit pour signaler visuellement ltat de chacun des relais. IC3 est un amplificateur inverseur de tension, par exemple si lentre D0 est ltat
haut, la sortie Q0 est ltat bas, le relais REL1 est alors actif.
Chacune des sorties de lamplificateur est capable de dlivrer
une intensit de 500 mA, plus quil en faut pour faire coller le
relais. Les relais choisis pour cette ralisation sont au format DIL,
ils se caractrisent par une petite taille, cependant ils sont capables de vhiculer une intensit permanente de 1,25 A.
Programme PICBASIC (version 1) : 4sr_v1.bas
Le dbut du programme est similaire au montage prcdent. Les
lignes de programme concernant la gestion de lcran LCD sont
retires.
131
Figure 5.11.
Schma
de la tlcommande
4 sorties sur relais.
INTERFACES GSM
132
CHAPITRE
RALISATIONS LECTRONIQUES
Figure 5.12.
Circuit imprim.
Liste des composants
R1, R4 R7 : 470
R2, R3 : 10 k
C1 : 100 nF (pas de 2,54 mm)
C2, C3 : 22 pF / cramique
C4, C10 : 100 nF / LCC jaune
C5, C6, C7, C8 : 1 F / tantale / 15 V
C9 : 220 F / lectrolytique / 15 V
D1 : diode 1N4002
D2 : diode 1N4148
L, L1 L4 : Led standard (diamtre 3 mm)
Q : quartz 20 MHz
REG : rgulateur 7805
BUZ : buzzer piezzo (sans lectronique
intgre)
J1 : barrette HE10 2 contacts + cavalier
Figure 5.13.
Implantation des composants.
CN1 : bornier vis 2 plots
CN2 : connecteur DB9 mle pour CI / coud 90
CN3 : connecteur pour cble de programmation
(LEXTRONIC)
CN4 : connecteur pour cran LCD (LEXTRONIC)
(facultatif)
IC1 : PICBASIC PB-3B (LEXTRONIC) + support
DIL 28 broches (troit)
IC2 : MAX232 + support DIL 16 broches
IC3 : ULN2803A + support DIL 18 broches
REL1 REL4 : relais FINDER au format DIL
30.22S modle 3995 (Arqui composants)
S1 S4 : cosse poignard
133
INTERFACES GSM
'INITIALISATION DES RELAIS
'-------------------------
134
CHAPITRE
RALISATIONS LECTRONIQUES
plus possible si vous utilisez un terminal GSM intgr, pour la
simple et bonne raison quil ne dispose pas de clavier ! Linstruction AT+CPIN suivie de votre code PIN est dans ce cas incontournable.
SEROUT TXD,BDS,0,1,["AT+CPIN=",34,"7208",34,13]
DELAY 500
'INITIALISATION DU ME
'--------------------
SERIN RXD,BDS,0,10000,ATT,[WAIT("TI"),Tampon(0)~10]
FOR i=0 TO 10
BEEP 4
NEXT i
Comme lindex sincrmente chaque nouveau message rceptionn, il est ncessaire dextraire cette donne pour savoir o
aller lire le message en mmoire. Dans ltat actuel des choses
admettons que la donne Tampon contient ce qui est indiqu
tableau 5.11.
135
INTERFACES GSM
Tableau 5.11.
Tampon Tampon Tampon Tampon Tampon Tampon Tampon Tampon Tampon Tampon
(0)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
:
"
"
136
CHAPITRE
RALISATIONS LECTRONIQUES
SMS(0)
SMS(1)
SMS(2)
SMS(3)
SMS(4)
SMS(5)
SMS(6)
137
Tableau 5.12.
INTERFACES GSM
Pour obtenir systmatiquement un accus de rception pour
chaque commande envoye il suffirait de supprimer la ligne de
code IF SMS(3)="?" THEN et le END IF correspondant.
n=0
IF SMS(3)="?" THEN
SEROUT TXD,BDS,0,1,["AT+CMGS=",34,"06xxxxxxxx",34,13]
DELAY 1000
SEROUT TXD,BDS,0,1,["ETAT DES RELAIS : "]
FOR i=8 TO 11
n=i+41
IF OUTSTAT(i)=1 THEN
SEROUT TXD,BDS,0,1,["REL",n,"=ON "]
ELSE
SEROUT TXD,BDS,0,1,["REL",n,"=OFF "]
END IF
NEXT i
SEROUT TXD,BDS,0,1,[26]
DELAY 5000
END IF
'EFFACE LE SMS EN MEMOIRE
'------------------------
SEROUT TXD,BDS,0,1,["AT+CMGD="]
FOR i=7 TO 9
IF Tampon(i)>=48 AND Tampon(i)<=57 THEN SEROUT TXD,BDS,
0,1,[Tampon(i)]
NEXT i
SEROUT TXD,BDS,0,1,[13]
DELAY 1000
GOTO DEBUT
138
CHAPITRE
RALISATIONS LECTRONIQUES
Tableau 5.13.
4 SORTIES SUR RELAIS (version 1)
Configuration
Cavalier J1 mettre en place uniquement si vous utilisez un cble DATA LINK du commerce
lments du programme PicBasic modifier
Code PIN (7208 par dfaut)
Numro de tlphone pour lenvoi des SMS (06xxxxxxxx par dfaut)
Commande SMS reue
Action du montage
!!RELx,ON
!!RELx,OF
!!REL?
Un SMS contenant ltat des 4 relais est envoy au numro spcifi dans
le programme
Tampon(10) AS BYTE
SMS(15) AS BYTE
i AS BYTE
n AS BYTE
139
INTERFACES GSM
'SELECTION DE lALPHABET GSM
'--------------------------SEROUT TXD,BDS,0,1,["AT+CSCS=",34,"GSM",34,13]
DELAY 500
'CODE PIN
'-------SEROUT TXD,BDS,0,1,["AT+CPIN=",34,"7208",34,13]
DELAY 500
'INITIALISATION DU ME
'-------------------SEROUT TXD,BDS,0,1,["AT+CMGF=1",13]
DELAY 500
SEROUT TXD,BDS,0,1,["AT+CNMI=1,1",13]
DELAY 500
'INITIALISATION DES VARIABLES
'---------------------------DEBUT: FOR i=0 TO 9
Tampon(i)=0
NEXT i
FOR i=0 TO 14
SMS(i)=0
NEXT i
'ATTENTE RECEPTION SMS
'--------------------ATT: SERIN RXD,BDS,0,10000,ATT,[WAIT("TI"),Tampon(0)~10]
FOR i=0 TO 10
BEEP 4
NEXT i
'LECTURE DU SMS RECU
'-------------------
140
CHAPITRE
RALISATIONS LECTRONIQUES
En ltat actuel du programme, si lon considre que le SMS
envoy tait de la forme !!REL?,0601234567 , la variable tableau
SMS doit contenir ce qui est indiqu tableau 5.14.
Tableau 5.14.
SMS SMS SMS SMS SMS SMS SMS SMS SMS SMS SMS SMS SMS SMS SMS
(0)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9) (10) (11) (12) (13) (14)
R
Noter que les autres commandes, !!RELx,ON et !!RELx,OF, fonctionnent de la mme manire que dans la version 1 du programme.
IF SMS(3)<=52 AND SMS(3)>=49 THEN
IF SMS(5)="O" AND SMS(6)="N" THEN
IF SMS(3)="1" THEN OUT 8,1
IF SMS(3)="2" THEN OUT 9,1
IF SMS(3)="3" THEN OUT 10,1
IF SMS(3)="4" THEN OUT 11,1
END IF
IF SMS(5)="O" AND SMS(6)="F" THEN
IF SMS(3)="1" THEN OUT 8,0
IF SMS(3)="2" THEN OUT 9,0
IF SMS(3)="3" THEN OUT 10,0
IF SMS(3)="4" THEN OUT 11,0
END IF
END IF
'ENVOI UN SMS CONTENANT LETAT DES 4 RELAIS
'--------------------------------------------
141
INTERFACES GSM
n=0
IF SMS(3)="?" THEN
IF SMS(4)="," THEN
SEROUT TXD,BDS,0,1,["AT+CMGS=",34]
FOR i=5 TO 14
SEROUT TXD,BDS,0,1,[SMS(i)]
NEXT i
SEROUT TXD,BDS,0,1,[34,13]
ELSE
SEROUT TXD,BDS,0,1,["AT+CMGS=",34,"06xxxxxxxx",34,13]
END IF
DELAY 1000
SEROUT TXD,BDS,0,1,["ETAT DES RELAIS : "]
FOR i=8 TO 11
n=i+41
IF OUTSTAT(i)=1 THEN
SEROUT TXD,BDS,0,1,["REL",n,"=ON "]
ELSE
SEROUT TXD,BDS,0,1,["REL",n,"=OFF "]
END IF
NEXT i
SEROUT TXD,BDS,0,1,[26]
DELAY 5000
END IF
'EFFACE LE SMS EN MEMOIRE
'-----------------------RAZ: SEROUT TXD,BDS,0,1,["AT+CMGD="]
FOR i=7 TO 9
IF Tampon(i)>=48 AND Tampon(i)<=57 THEN SEROUT TXD,BDS,
0,1,[Tampon(i)]
NEXT i
SEROUT TXD,BDS,0,1,[13]
DELAY 1000
GOTO DEBUT
142
CHAPITRE
RALISATIONS LECTRONIQUES
Tableau 5.15.
4 SORTIES SUR RELAIS (version 2)
Configuration
Cavalier J1 mettre en place uniquement si vous utilisez un cble DATA LINK du commerce
lments du programme PicBasic modifier
Code PIN (7208 par dfaut)
Numro de tlphone par dfaut pour lenvoi des SMS
Commande SMS reue
Action du montage
!!RELx,ON
!!RELx,OF
!!REL?
!!REL?,06xxxxxxxx
Schma lectrique
Quatre lignes du PicBasic I/O8 I/O11 configures en sorties
pilotent les 4 triacs. Lutilisation de la tension du secteur nous
conduit effectuer une isolation galvanique afin de protger
correctement llectronique place en amont. Cette isolation est
ralise laide dun optocoupleur (du type MOC3041), un tel
circuit se compose de deux parties distinctes (isolation galvanique de 7 500 V) : la premire est constitue dune diode infrarouge qui va venir mettre en conduction le triac contenu dans la
deuxime partie. Il dispose galement dun dispositif qui dtecte
le passage zro de la tension du secteur afin dviter de gnrer
des parasites lors de lalimentation de la charge. Le courant de
lordre de 10 mA, ncessaire lactivation de la diode infrarouge,
est gnr par la sortie du PicBasic, la limitation de lintensit est
assure par une rsistance de 470 . La faible puissance du triac
interne loptocoupleur (Imax = 100 mA) ne permet pas lalimentation directe dune charge importante. Un deuxime triac mis
en cascade permet de disposer dune puissance beaucoup plus
importante. Toutefois, compte tenu de la largeur des pistes de la
carte, il est conseill de ne pas dpasser 200 W par sortie. Le composant rfrenc VR est une varistance qui permet de protger le
143
Figure 5.14.
Schma de la
tlcommande
4 sorties sur triacs.
INTERFACES GSM
144
CHAPITRE
RALISATIONS LECTRONIQUES
montage lors du pilotage dune charge inductive, les phnomnes
dauto-induction lors de ltablissement et la coupure du courant
peuvent dtriorer le triac. Chaque triac possde donc une varistance monte en parallle. Ce composant voit son impdance
chuter trs fortement en prsence dune surtension (tension
> tension nominale de 250 V), protgeant ainsi le circuit plac en
aval, en loccurrence le triac. Notez la prsence de 4 Led sur les
broches I/O0 I/O3 qui signalent visuellement ltat des triacs.
145
INTERFACES GSM
Figure 5.15.
Circuit imprim.
TEST: BEEP 4
SEROUT TXD,BDS,0,1,["AT",13]
SERIN RXD,BDS,0,2000,TEST,[WAIT("OK"),i]
IF i=0 THEN GOTO TEST
'SELECTION DE lALPHABET GSM
'--------------------------SEROUT TXD,BDS,0,1,["AT+CSCS=",34,"GSM",34,13]
DELAY 500
'CODE PIN
'--------
146
CHAPITRE
RALISATIONS LECTRONIQUES
Figure 5.16.
Implantation
des composants.
Liste des composants
R1, R4 R15 : 470
R2, R3 : 10 k
C1 : 100 nF (pas de 2,54 mm)
C2, C3 : 22 pF / cramique
C4, C10 : 100 nF / LCC jaune
C5, C6, C7, C8 : 1 F / tantale / 15 V
C9 : 220 F / lectrolytique / 15 V
D1 : diode 1N4002
D2 : diode 1N4148
L, L1 L4 : Led standard
(diamtre 3 mm)
Q : quartz 20 MHz
REG : rgulateur 7805
BUZ : buzzer piezzo
(sans lectronique intgre)
J1 : barrette HE10 2 contacts + cavalier
CN1 : bornier vis 2 plots
CN2 : connecteur DB9 mle
pour CI / coud 90
CN3 : connecteur pour cble
de programmation (LEXTRONIC)
CN4 : connecteur pour cran LCD
(LEXTRONIC) (facultatif)
IC1 : PICBASIC PB-3B (LEXTRONIC)
+ support DIL 28 broches (troit)
IC2 : MAX232 + support DIL 16 broches
OPT1 OPT4 : optocoupleur MOC3041
TR1 TR4 : TRIAC BTA08-400B
VR1 VR4 : varistance 220 V
147
INTERFACES GSM
Comme nous navons pas besoin que le ME avertisse le TE de
larrive dun nouveau SMS, la commande AT+CNMI=1,1 est
retire. Ne subsiste que la commande qui slectionne le mode
TEXT.
SEROUT TXD,BDS,0,1,["AT+CMGF=1",13]
DELAY 500
'SELECTION MEMOIRE ET INDEX POUR LECTURE SMS
'-------------------------------------------
Figure 5.17.
Index.
148
CHAPITRE
RALISATIONS LECTRONIQUES
Remarque : Si vous avez un index cod sur un ou deux chiffres,
il suffit de mettre les variables non utilises nul. Par exemple
si index = 1 (index de base pour le MC35 et TC35 de SIEMENS),
il faudra modifier le programme comme ceci :
index(0)="":index(1)="":index(2)="1".
SEROUT TXD,BDS,0,1,["AT+CPMS=",34,"ME",34,13]
DELAY 500
index(0)="9":index(1)="0":index(2)="1"
'INITIALISATION DES VARIABLES
'---------------------------DEBUT: FOR i=0 TO 14
SMS(i)=0
NEXT i
'REGARDE SI RECEPTION DUN SMS
'-----------------------------
ATT:
SEROUT TXD,BDS,0,1,["AT+CMGR="]
FOR i=0 to 2
IF index(i)>=48 AND index(i)<=57 THEN SEROUT TXD,BDS,
0,1,[index(i)]
NEXT i
SEROUT TXD,BDS,0,1,[13]
SERIN RXD,BDS,0,5000,ATT,[WAIT("!!"),SMS(0)~15]
IF SMS(0)=0 THEN GOTO RAZ
FOR i=0 TO 10
BEEP 4
NEXT i
149
INTERFACES GSM
IF SMS(3)="3" THEN OUT 10,1
IF SMS(3)="4" THEN OUT 11,1
END IF
IF SMS(5)="O" AND SMS(6)="F" THEN
IF SMS(3)="1" THEN OUT 8,0
IF SMS(3)="2" THEN OUT 9,0
IF SMS(3)="3" THEN OUT 10,0
IF SMS(3)="4" THEN OUT 11,0
END IF
END IF
DATA
TRIAC n
Commande
(dec)
!!TRI.,00
!!TRI.,01
!!TRI.,02
!!TRI.,03
!!TRI.,04
!!TRI.,05
!!TRI.,06
!!TRI.,07
!!TRI.,08
!!TRI.,09
!!TRI.,10
10
!!TRI.,11
11
!!TRI.,12
12
!!TRI.,13
13
!!TRI.,14
14
!!TRI.,15
15
1 = ON, 0 = OFF
150
CHAPITRE
RALISATIONS LECTRONIQUES
Notez que la commande !!TRI.,00 dsactive simultanment les
4 triacs, alors que la commande !!TRI.,15 active simultanment
les 4 triacs.
SMS(5) et SMS(6) contiennent la valeur de consigne que doivent
prendre les 4 triacs. Cette valeur ne peut pas tre utilise directement, car elle est code en ASCII. Malheureusement il nexiste
aucune instruction en langage PicBasic pour convertir une valeur
de type texte en donne de type BYTE. Attention il ne suffit pas
de multiplier SMS(5) par 10, SMS(6) par 1 et dadditionner ces
deux valeurs pour obtenir la valeur numrique souhaite. Avant
de faire ce calcul il faut retrancher 48dec chaque donne (48
correspond au code ASCII du chiffre 0).
IF SMS(3)="." THEN
SMS(5)=SMS(5)-48
SMS(5)=SMS(5)*10
SMS(6)=SMS(6)-48
DATA = SMS(5)+SMS(6)
BYTEOUT 1,DATA
END IF
OUTSTAT(8) =0
OUTSTAT(9) =0
OUTSTAT(10)=0
OUTSTAT(11)=0
THEN
THEN
THEN
THEN
OUT
OUT
OUT
OUT
0,1
1,1
2,1
3,1
ELSE
ELSE
ELSE
ELSE
OUT
OUT
OUT
OUT
0,0
1,0
2,0
3,0
151
INTERFACES GSM
NEXT i
SEROUT TXD,BDS,0,1,[34,13]
ELSE
SEROUT TXD,BDS,0,1,["AT+CMGS=",34,"06xxxxxxxx",34,13]
END IF
DELAY 1000
SEROUT TXD,BDS,0,1,["ETAT DES TRIACS : "]
FOR i=8 TO 11
n=i+41
IF OUTSTAT(i)=1 THEN
SEROUT TXD,BDS,0,1,["TRIAC",n,"=ON "]
ELSE
SEROUT TXD,BDS,0,1,["TRIAC",n,"=OFF "]
END IF
NEXT i
SEROUT TXD,BDS,0,1,[26]
DELAY 5000
END IF
'EFFACE LE SMS EN MEMOIRE
'------------------------
SEROUT TXD,BDS,0,1,["AT+CMGD="]
FOR i=0 TO 2
IF index(i)>=48 AND index(i)<=57 THEN SEROUT
TXD,BDS,0,1,[index(i)]
NEXT i
SEROUT TXD,BDS,0,1,[13]
DELAY 1000
GOTO DEBUT
4 sorties analogiques
Le prsent montage nutilise pas de rseau R-2R comme on
aurait pu sy attendre mais des potentiomtres numriques. Le
potentiomtre numrique remplit exactement la mme fonction
que son anctre mcanique. La diffrence est que pour faire varier
sa rsistance on ne fait plus tourner un axe mais on envoie un mot
152
CHAPITRE
RALISATIONS LECTRONIQUES
Tableau 5.17.
4 SORTIES SUR TRIACS
Configuration
Cavalier J1 mettre en place uniquement si vous utilisez un cble DATA LINK du commerce
lments du programme PicBasic modifier
Action du montage
!!TRIx,ON
!!TRIx,OF
!!TRI.,data
Positionne les 4 triacs suivant la valeur contenue par data (15 data 00)
!!TRI?
!!TRI?,06xxxxxxxx
de commande par le biais dune liaison srie synchrone ncessitant que 3 fils. On peut donc facilement interfacer ce type de
composant avec un PicBasic et envisager de piloter par SMS tout
montage utilisant un potentiomtre (alimentation variable, filtre
programmable, timer, gradateur). Lajout de straps permet de
transformer le montage en Convertisseur Numrique Analogique, on obtient dans ce cas sur les sorties une tension comprise
entre 0 et + 5 V que lon peut faire varier par pas de 20 mV.
Schma lectrique
Voir Figures 5.18, 5.19 et 5.20..
Caractristiques
Dans la famille des potentiomtres numriques proposs par le
constructeur Analog Devices nous trouvons le AD8400 qui
dispose dun canal, le AD8402 de deux canaux et le AD8403 de
quatre canaux. Bien que le montage prsent ici possde 4 sorties,
nous avons opt pour lutilisation de 4 circuits AD8400 indpendants. Il est ainsi possible de choisir des valeurs de rsistance
nominale diffrentes sur chaque sortie. Une sortie correspond
un potentiomtre que lon peut contrler numriquement. Les
valeurs nominales disponibles sont 1 k, 10 k, 50 k ou 100 k.
153
Figure 5.18.
Schma
de la tlcommande
4 sorties analogiques.
INTERFACES GSM
154
CHAPITRE
RALISATIONS LECTRONIQUES
155
INTERFACES GSM
Nous avons choisi pour notre montage 4 potentiomtres de 10 k.
La rsolution du potentiomtre est de 8 bits, cest--dire que lon
peut accder 28 = 256 positions lmentaires. Chacune de ces
256 positions est spare par une valeur gale 10 000 /256
= 39 . Il suffit de transfrer un mot de 8 bits dans un registre
pour dterminer la valeur de la rsistance du potentiomtre. Soit
A et B les deux points fixes et W le point variable (curseur). Entre
les points A et B on retrouve la valeur nominale du potentiomtre
soit 10 k. La position du curseur W est pilote par la valeur
contenue dans le registre de commande. La mise jour de ce
registre se fait par un bus de type SPI pilot par le PicBasic. Il
sagit dune liaison srie synchrone. On retrouve donc un signal
dhorloge (CLK) connect la broche I/O0, une ligne pour le
transfert des donnes (SDI) connecte la broche I/O1 et une
ligne de validation (CS), les 4 sorties I/O8 I/O11 relies aux
entres CS permettent de slectionner indpendamment chacun
des circuits AD8400. Chaque mot transfr comporte 10 bits. Le
niveau prsent sur la ligne de donne est transfr dans le
registre dcalage sur un front montant du signal dhorloge
alors que la ligne CS est ltat bas. Ce processus est rpt
10 fois puis la ligne CS est mise ltat haut ce qui dclenche la
mise jour de la position de W. Les deux premiers bits transfrs
dterminent ladresse du potentiomtre. Dans le cadre dune
utilisation de lAD8400 qui ne dispose que dun canal, les bits
dadresse A0 et A1 seront toujours gaux zro. Les 8 autres bits
dterminent la position du curseur W, le transfert du mot seffectue par bit de poids dcroissant. Le premier point est accessible
en envoyant la valeur 0. Le curseur est alors en bute sur le
point B, il subsiste entre ces deux points une rsistance rsiduelle
denviron 50 . La seconde position est obtenue en envoyant le
mot 01dec on obtient entre les points W et B une rsistance quivalente de 89 . Chaque position est en fait calcule par la relation suivante : RWB(Dx) = (Dx/255) RBA + Rw avec Rw = 50 . La
rsistance maximale est obtenue en transfrant la valeur 255dec
on obtient alors entre le point B est W une rsistance gale
10 011 . On peut videmment en dduire aussi la rsistance
entre les points W et A en utilisant la relation suivante :
RWA(Dx) = ((255 Dx)/255) RBA + Rw (tableau 5.18).
Utilisation du circuit en convertisseur numrique-analogique
Il est aussi trs facile dobtenir en sortie du potentiomtre non
plus une rsistance mais une tension, simplement en reliant le
point A au + 5 V (straps J2, J4, J6 et J8) et le point B au Gnd (straps
J1, J3, J5 et J7). La tension comprise entre le point W et le point B
se calcule de la manire suivante : VwB(Dx) = Dx/255 VAB + VB.
156
CHAPITRE
RALISATIONS LECTRONIQUES
Code (Dec)
RWB()
RWA()
255
10 011
89
128
5 050
5 050
89
10 011
50
10 050
Tableau 5.18.
Figure 5.21.
Graphique R = f(D).
Code (Dec)
VWB (V)
VWA (V)
255
128
2,5
2,5
0,02
4,98
157
Tableau 5.19.
INTERFACES GSM
Programme PICBASIC : 4sa.bas
'DECLARATION DES CONSTANTES
'-------------------------CONST BDS = 103
CONST RXD = 17
CONST TXD = 16
'DECLARATION DES VARIABLES
'------------------------DIM Tampon(10) AS BYTE
DIM SMS(13) AS BYTE
DIM i AS BYTE
DIM n AS BYTE
DIM D(4) AS BYTE
'INITIALISATION DES 4 CIRCUITS AD8400
'------------------------------------
158
CHAPITRE
RALISATIONS LECTRONIQUES
sont envoys par la commande SEROUT. Linstruction SERIN
permet dattendre lventuelle rponse OK pendant 2 000 ms
(soit 2 s). Si les caractres OK sont rceptionns dans le temps
donn, le caractre suivant soit <CR> est plac dans la variable i.
Dans le cas contraire le programme saute la ligne repre par
ltiquette TEST i est alors vide, un bip est mis par le buzzer.
Il suffit de tester le contenu de i pour savoir si la liaison est tablie.
TEST: BEEP 4
SEROUT TXD,BDS,0,1,["AT",13]
SERIN RXD,BDS,0,2000,TEST,[WAIT("OK"),i]
IF i=0 THEN GOTO TEST
'SELECTION DE lALPHABET GSM
'--------------------------SEROUT TXD,BDS,0,1,["AT+CSCS=",34,"GSM",34,13]
DELAY 500
'CODE PIN
'--------
'INITIALISATION DU ME
'--------------------
159
INTERFACES GSM
NEXT i
'ATTENTE RECEPTION SMS
'---------------------
SERIN RXD,BDS,0,10000,ATT,[WAIT("TI"),Tampon(0)~10]
FOR i=0 TO 10
BEEP 4
NEXT i
SMS(0)
SMS(1)
SMS(2)
SMS(3)
SMS(4)
SMS(5)
83dec
49dec
44dec
49dec
50dec
55dec
160
CHAPITRE
RALISATIONS LECTRONIQUES
pas tre utilise directement, car elle est code en ASCII alors que
le circuit AD8400 rclame une valeur numrique. Malheureusement il nexiste aucune instruction en langage PicBasic pour
convertir une valeur de type texte en donne de type BYTE.
Attention il ne suffit pas de multiplier SMS(3) par 100, SMS(4) par
10, SMS(5) par 1 et dadditionner ces trois valeurs pour obtenir la
valeur souhaite. Voici la preuve : 49 100 + 50 10 + 55 1
= 5 455.
'CONVERSION ASCII -> DECIMAL
'
SMS(3)=SMS(3)-48
SMS(3)=SMS(3)x100
SMS(4)=SMS(4)-48
SMS(4)=SMS(4)x10
SMS(5)=SMS(5)-48
SMS(1)=SMS(1)-49
D(SMS(1))=SMS(3)+SMS(4)+SMS(5)
161
INTERFACES GSM
crire sriellement les donnes prsentes sur lentre I/O1. Le
paramtre suivant dfinit le mode dcriture, plac ici 1, il
indique que le MSB est prioritaire. Le dernier paramtre positionn 10, indique le nombre de bits de la donne D(n), 2 bits
pour ladresse (toujours 0) et 8 bits pour la donne (comprise
entre 0 et 255).
n=SMS(1)
SMS(1)=SMS(1)+8
OUT SMS(1),0
SHIFTOUT 0,1,1,D(n),10
OUT SMS(1),1
END IF
'ENVOI DUN SMS CONTENANT LA VALEUR POUR CHAQUE SORTIE
'-----------------------------------------------------
162
CHAPITRE
RALISATIONS LECTRONIQUES
SEROUT TXD,BDS,0,1,["AT+CMGD="]
FOR i=7 TO 9
IF Tampon(i)>=48 AND Tampon(i)<=57 THEN SEROUT
TXD,BDS,0,1,[Tampon(i)]
NEXT i
SEROUT TXD,BDS,0,1,[13]
DELAY 1000
GOTO DEBUT
Tableau 5.21.
4 SORTIES ANALOGIQUES
Configuration
Cavalier J1 mettre en place uniquement si vous utilisez un cble DATA LINK du commerce
Parties du programme PicBasic modifier
Action du montage
!!Sx,data
!!S?
La valeur de consigne associe pour chaque sortie est envoye par SMS
au numro spcifi en dur dans le programme
!!S?,06xxxxxxxx
La valeur de consigne associe pour chaque sortie est envoye par SMS
au numro indiqu
Schma lectrique
Voir Figure 5.22.
163
Figure 5.22.
Schma
de la tlcommande
4 entres logiques.
INTERFACES GSM
164
CHAPITRE
RALISATIONS LECTRONIQUES
Les lignes I/O8 I/O11 du PicBasic sont utilises comme des
entres logiques. Pour une protection efficace du PicBasic les
4 entres sont isoles lectriquement des tensions externes qui
lui seront appliques. Le composant charg de cet isolement est
un optocoupleur (ou photocoupleur). Comme son nom le laisse
supposer le transfert de linformation binaire se fait optiquement ;
un tel circuit se compose de deux parties distinctes : la premire
est constitue dune diode infrarouge qui va venir mettre en
conduction le phototransistor contenu dans la deuxime partie.
Le 4N33 choisi ici possde un isolement lectrique de 2 500 V. En
thorie cela signifie quil faudrait appliquer une tension dau
moins 2 500 V en amont du circuit pour arriver endommager la
partie situe en aval. Dans notre cadre dutilisation on considre
que les tensions normales appliques sur les entres seront
comprises entre 0 et + 5 V. Sachant quune intensit de 10 mA
traversant la diode suffit a saturer le phototransistor, les rsistances R8 R11 ont une valeur de 470 . Une diode externe au
botier est utilise pour signaler visuellement lutilisateur ltat
de chaque entre. On notera la prsence des diodes 1N4002, D3
D6, qui protgeront les optocoupleurs dventuelles tensions
inverses importantes. Lorsque la tension dentre est nulle, voir
ngative, la diode interne loptocoupleur est teinte, par consquent le phototransistor est bloqu, sur lentre correspondante
du PicBasic on obtient une tension de + 5 V du fait de la prsence
de la rsistance de rappel (R12 R15) au + 5 V du montage. Lorsque la tension dentre est gale + 5 V, la diode interne loptocoupleur est allume et vient saturer le phototransistor, on
obtient par consquent une tension denviron 0,6 V considre
comme un tat logique bas par le PicBasic. On remarque que
ltat logique lu par le PicBasic est invers par rapport celui des
entres de la carte, il faudra en tenir compte dans le programme.
Une barrette de 4 mini-interrupteurs est connecte aux entres
I/O0 I/O3 du PicBasic. Les rsistances de rappel R4 R7 imposent une tension de + 5 V aux entres lorsque les interrupteurs
sont ouverts. Lorsque ltat des 4 interrupteurs est gal ltat
des 4 entres E1 E4, un SMS est envoy au destinataire de votre
choix. La Led L5 signale lenvoi du SMS (Figures 5.23 et 5.24).
165
INTERFACES GSM
Figure 5.23.
Circuit imprim.
166
CHAPITRE
RALISATIONS LECTRONIQUES
Figure 5.24.
Implantation
des composants.
BUZ : buzzer piezzo (sans lectronique intgre)
CN1 : bornier vis 2 plots
CN2 : connecteur DB9 mle pour CI / coud 90
CN3 : connecteur pour cble de programmation
(LEXTRONIC)
CN4 : connecteur pour cran LCD (LEXTRONIC)
(facultatif)
IC1 : PICBASIC PB-3B (LEXTRONIC) + support DIL
28 broches (troit)
IC2 : MAX232 + support DIL 16 broches
OPT1 OPT4 : optocoupleur 4N33
DIP : interrupteur mini dip 4 contacts
167
INTERFACES GSM
DIM
DIM
DIM
DIM
DIM
DIM
index(3) AS BYTE
SMS(13) AS BYTE
i AS BYTE
j AS INTEGER
n AS BYTE
num AS BYTE
168
CHAPITRE
RALISATIONS LECTRONIQUES
signifie que le mobile qui reoit ce genre de SMS le stocke dans la
mmoire ME. Les autres types de mmoire sont surtout utiliss
par les oprateurs. Si votre tlphone le permet vous pouvez utiliser le paramtre MT qui permet aux commandes de lecture de
SMS de travailler avec toutes les mmoires. Ici nous avons choisi
la mmoire du tlphone do AT+CPMS= ME . De mme, la
variable index doit tre initialise avec lindex que portera le
prochain SMS rceptionn. Il correspond au premier emplacement de libre dans la mmoire slectionne. Pour le dterminer,
vous pouvez utiliser le logiciel convertSMS2 , aprs avoir
slectionn la mmoire soit ME dans notre cas, cliquez sur
le bouton Tous il suffit de relever lindex du premier emplacement de libre. Lindex par dfaut utilis ici est fix 900. Si
vous avez un index cod sur un ou deux chiffres, il suffit de
mettre les variables non utilises nul. Par exemple si index = 1,
il faudra modifier le programme comme ceci :
index(0)="":index(1)="":index(2)="1".
SEROUT TXD,BDS,0,1,["AT+CPMS=",34,"ME",34,13]
DELAY 500
index(0)="9":index(1)="0":index(2)="0"
169
INTERFACES GSM
OUT4,0
DEBUT: FOR i=0 TO 12
SMS(i)=0
NEXT i
'COMPARAISON INTERRUPTEURS / ENTREES
'-----------------------------------
Dans un premier temps, seules les deux premires lettres constituant la commande reue par SMS sont vrifies par le programme. Si les lettres E? sont reconnues, le sous-programme
ETAT est appel. Si les lettres N, sont dtectes, le sousprogramme MAJNUM est appel. Si ce sont les lettres RA , la
sortie I/O4 qui signale et mmorise le fait quun message dalerte
a t envoy, est remise zro. La Led L5 est alors teinte.
IF SMS(0)="E" AND SMS(1)="?" THEN GOSUB ETAT
IF SMS(0)="N" AND SMS(1)="," THEN GOSUB MAJNUM
170
CHAPITRE
RALISATIONS LECTRONIQUES
IF SMS(0)="R" AND SMS(1)="A" THEN OUT4,0
GOTO RAZ
'MESSAGE DALERTE EN CAS DEGALITE
'---------------------------------
Le numro contenu dans la commande !!N,06xxxxxxxx est sauvegard dans la mmoire eeprom du PicBasic aux adresses FF6hex
FFFhex. Cest ce numro qui sera utilis pour lexpdition des SMS.
MAJNUM:
i=2
FOR j=&HFF6 TO &HFFF
EEWRITE j,SMS(i)
i=i+1
NEXT j
'ENVOI DUN SMS CONTENANT LETAT DES 4 ENTREES
'---------------------------------------------
171
INTERFACES GSM
Si la variable SMS(2) contient une virgule, cest quil sagit de la
commande !!E?,06xxxxxxxx, le programme envoie alors le SMS
au numro indiqu par les variables SMS(3) SMS(12). Pour tous
les autres cas, le numro utilis est celui situ dans la mmoire
eeprom du PicBasic, aux adresses FF6hex FFFhex. Le message
expdi sur le rseau GSM contient ltat logique en cours des
4 entres de la carte.
ENV:
SEROUT TXD,BDS,0,1,["AT+CMGS=",34]
IF SMS(2)="," THEN
FOR i=3 TO 12
SEROUT TXD,BDS,0,1,[SMS(i)]
NEXT i
ELSE
FOR j=&HFF6 TO &HFFF
num=EEREAD(j)
SEROUT TXD,BDS,0,1,[num]
NEXT j
END IF
SEROUT TXD,BDS,0,1,[34,13]
DELAY 1000
SEROUT TXD,BDS,0,1,["ETAT DES ENTREES : "]
FOR i=8 TO 11
n=i+41
IF IN(i)=0 THEN
SEROUT TXD,BDS,0,1,["E",n,"=ON "]
ELSE
SEROUT TXD,BDS,0,1,["E",n,"=OFF "]
END IF
NEXT i
RETURN
SEROUT TXD,BDS,0,1,["AT+CMGD="]
FOR i=0 TO 2
IF index(i)>=48 AND index(i)<=57 THEN SEROUT
TXD,BDS,0,1,[index(i)]
NEXT i
SEROUT TXD,BDS,0,1,[13]
DELAY 1000
GOTO DEBUT
172
CHAPITRE
RALISATIONS LECTRONIQUES
Test du montage
Dans un premier temps il est prudent de tester le montage laide
dun PC avant dy relier un tlphone. Ralisez un cble RS232
laide dun cordon comportant 3 conducteurs et de 2 connecteurs
DB9 femelles cbler.
Reliez le montage au port srie du PC. Ouvrez une session du
logiciel Hyper Terminal, vous pouvez reprendre le fichier
Interfaces GSM.lnk prsent dans le chapitre 4. Rappelons
que la vitesse de transmission est de 9 600 bauds, 8 bits de donnes
et pas de contrle de flux. Alimentez le montage, aussitt les
caractres AT doivent apparatre sur lcran du PC. Rpondez
dans les 2 secondes qui suivent en tapant les caractres OK,
suivis dun retour chariot. La commande dinitialisation du mode
TEXT AT+CMGF=1 doit safficher lcran ; rpondez aussi par
OK et un retour chariot. Vous devez voir apparatre la commande AT+CMGR=900 (en admettant que index est fix 900),
rpondez dans les 5 secondes qui suivent en tapant la commande
!!E ? . Vous devez voir apparatre lcran les instructions permettant lenvoi dun SMS contenant ltat logique des 4 entres.
Appliquez maintenant un tat logique sur les entres correspondant celui des interrupteurs. Aussitt la Led L5 doit sallumer.
Vous devez voir apparatre lcran les instructions permettant
lenvoi dun SMS contenant ltat logique des 4 entres suivi cette
fois de la phrase => ALERTE . la prochaine apparition de la
commande AT+CMGR=900 vous pouvez tester la commande
!!RA qui doit provoquer lextinction de la Led L5.
Si tout fonctionne correctement vous pouvez relier votre tlphone ou terminal GSM au montage.
4 entres analogiques
Voici une carte capable de convertir 4 tensions analogiques en
4 donnes numriques codes sur 8 bits et denvoyer le rsultat
par SMS sur demande de lutilisateur. La carte envoie galement
un SMS dalerte lorsquune tension dpasse un seuil pralablement programm.
Schma lectrique
Voir Figure 5.25.
Le PicBasic 3B possde 5 entres analogiques disponibles sur les
broches AD0 AD4. Dans le cadre de notre application nous
nous limiterons lacquisition de 4 tensions analogiques sur les
173
INTERFACES GSM
Tableau 5.22.
4 ENTRES LOGIQUES
Configuration
Cavalier J1 mettre en place uniquement si vous utilisez un cble DATA LINK du commerce
4 mini-interrupteurs, lorsque ltat logique est gal celui des 4 entres un SMS dalerte est envoy
Parties du programme PicBasic modifier
Action du montage
!!E?
Un SMS contenant ltat logique des 4 sorties est envoy au numro prsent dans la mmoire eeprom du PicBasic
!!N,06xxxxxxxx
!!E?,06xxxxxxxx
Un SMS contenant ltat logique des 4 sorties est envoy au numro indiqu
!!RA
174
Figure 5.25.
Schma de la tlcommande
4 entres analogiques.
RALISATIONS LECTRONIQUES
CHAPITRE
175
INTERFACES GSM
Figure 5.26.
Entre E1.
176
CHAPITRE
RALISATIONS LECTRONIQUES
177
INTERFACES GSM
'DECLARATION DES CONSTANTES
'-------------------------CONST BDS = 103
CONST RXD = 17
CONST TXD = 16
'DECLARATION DES VARIABLES
'------------------------DIM index(3) AS BYTE
DIM SMS(13) AS BYTE
DIM i AS BYTE
DIM j AS INTEGER
DIM n AS BYTE
DIM FLAG AS BYTE
DIM seuil(4) AS BYTE
DIM num AS BYTE
DIM
DIM
DIM
DIM
DIM
D AS INTEGER
V AS INTEGER
V1 AS INTEGER
V2 AS INTEGER
V3 AS INTEGER
178
CHAPITRE
RALISATIONS LECTRONIQUES
par les oprateurs. Si votre tlphone le permet vous pouvez
utiliser le paramtre MT qui permet aux commandes de lecture
de SMS de travailler avec toutes les mmoires. Ici nous avons
choisi la mmoire du tlphone do AT+CPMS= ME . De
mme, la variable index doit tre initialise avec lindex que
portera le prochain SMS rceptionn. Il correspond au premier
emplacement de libre dans la mmoire slectionne. Pour le
dterminer, vous pouvez utiliser le logiciel convertSMS2 ,
aprs avoir slectionn la mmoire soit ME dans notre cas,
cliquez sur le bouton Tous il suffit de relever lindex du
premier emplacement de libre. Lindex par dfaut utilis ici est
fix 900. Si vous avez un index cod sur un ou deux chiffres,
il suffit de mettre les variables non utilises nul. Par exemple
si index = 1, il faudra modifier le programme comme ceci :
index(0)="":index(1)="":index(2)="1".
Il faut dans cette partie dfinir galement les seuils des tensions
qui dclencheront lenvoi dun SMS. Chaque entre possde son
propre seuil exprim en dcimal. Attention comme il nest pas
possible de dclarer une variable de type tableau en INTEGER,
les valeurs doivent tre comprises entre 0 et 255. Voici la relation
qui permet de calculer la valeur dcimale code sur 8 bits en
fonction de la tension : D = (V 28)/5, par exemple si vous dsirez
quun SMS dalerte soit envoy si la tension mesure sur lentre
E1 dpasse 2,5 V, il vous faut initialiser la variable seuil(0) 127.
SEROUT TXD,BDS,0,1,["AT+CPMS=",34,"ME",34,13]
DELAY 500
index(0)="9":index(1)="0":index(2)="0"
seuil(0)=127:seuil(1)=127:seuil(2)=127:seuil(3)=127
BYTEOUT 1,&b00001111
'INITIALISATION N TELEPHONE UTILISE PAR DEFAUT POUR LENVOI DES
SMS
'---------------------------------------------------------------
179
INTERFACES GSM
EEWRITE
EEWRITE
EEWRITE
EEWRITE
EEWRITE
EEWRITE
EEWRITE
END IF
&HFF9,"x"
&HFFA,"x"
&HFFB,"x"
&HFFC,"x"
&HFFD,"x"
&HFFE,"x"
&HFFF,"x"
180
CHAPITRE
RALISATIONS LECTRONIQUES
FOR i=0 TO 10
BEEP 4
NEXT i
'GESTION DES SMS RECEPTIONNES
'----------------------------
SEROUT TXD,BDS,0,1,["AT+CMGS=",34]
IF SMS(2)="," THEN
FOR i=3 TO 12
SEROUT TXD,BDS,0,1,[SMS(i)]
NEXT i
ELSE
FOR j=&HFF6 TO &HFFF
num=EEREAD(j)
SEROUT TXD,BDS,0,1,[num]
NEXT j
END IF
SEROUT TXD,BDS,0,1,[34,13]
DELAY 1000
SEROUT TXD,BDS,0,1,["TENSIONS MESUREES : "]
FOR i=0 TO 3
181
INTERFACES GSM
n=i+48
D=ADIN(i)
GOSUB CONV
SEROUT TXD,BDS,0,1,["E",n,"=+",V1,",",V2,V3,"v "]
n=i+8
IF D>=SEUIL(i) AND OUTSTAT(n)=1 THEN
SEROUT TXD,BDS,0,1,["=> ALERTE "]
OUT n,0
ELSE
IF OUTSTAT(n)=0 THEN SEROUT TXD,BDS,0,1,["(seuil
atteint) "]
END IF
NEXT i
SEROUT TXD,BDS,0,1,[26]
DELAY 5000
RETURN
'Conversion DECIMAL -> TENSION -> ASCII
'--------------------------------------
182
CHAPITRE
RALISATIONS LECTRONIQUES
V3=V3+(10*V2)
V3=V-V3
V1=V1+48
V2=V2+48
V3=V3+48
RETURN
'MISE JOUR DU NUMRO POUR LENVOI DES SMS
'------------------------------------------
Le numro contenu dans la commande !!N,06xxxxxxxx est sauvegard dans la mmoire eeprom du PicBasic aux adresses FF6hex
FFFhex. Cest ce numro qui sera utilis pour lexpdition des SMS.
MAJNUM:
i=2
FOR j=&HFF6 TO &HFFF
EEWRITE j,SMS(i)
i=i+1
NEXT j
'EFFACE LE SMS EN MEMOIRE
'------------------------
RAZ:
SEROUT TXD,BDS,0,1,["AT+CMGD="]
FOR i=0 TO 2
IF index(i)>=48 AND index(i)<=57 THEN SEROUT
TXD,BDS,0,1,[index(i)]
NEXT i
SEROUT TXD,BDS,0,1,[13]
DELAY 1000
GOTO DEBUT
Thermomtre
Voici certainement le premier thermomtre GSM ! Vous pouvez
tout instant demander la temprature ambiante en degr Celsius
que vous recevrez sous forme dun SMS. Le montage vous avertit
automatiquement lorsque la temprature est ngative, idal donc
183
INTERFACES GSM
Tableau 5.23.
4 ENTRES ANALOGIQUES
Configuration
Cavalier J1 mettre en place uniquement si vous utilisez un cble DATA LINK du commerce
Les rsistances R12 R15 sont implanter sur la carte si la tension applique aux entres peut
dpasser + 5 V
Parties du programme PicBasic modifier
Action du montage
!!E?
!!N,06xxxxxxxx
!!E?,06xxxxxxxx
!!RA
Schma lectrique
Ce montage utilise le circuit DS1620 du constructeur Dallas. Il
sagit dun capteur de temprature ambiante contenu dans un
botier DIL 8 broches. La liaison avec le PicBasic seffectue via
un bus SPI ncessitant seulement trois lignes pour dialoguer :
lhorloge CLK qui synchronise les donnes circulant sur DQ
et RST qui permet une remise zro du circuit. Ces trois lignes
sont respectivement relies aux broches I/O2 (broche 4), I/O3
(broche 5) et I/O1 (broche 3) du PicBasic. La temprature
comprise entre 55 C et + 125 C avec une prcision de 0,5 C
est transmise sous la forme dun mot de 9 bits en complment
2 sur la ligne DQ, le LSB (bit de poids le plus faible) est transmis
en premier. Comme le PicBasic ne peut pas traiter des nombres
virgule, la prcision de la mesure sera de 1 C.
On remarque que le 9e bit indique le signe, sil est gal 0 la
temprature mesure est positive, sil est gal 1 la temprature
184
CHAPITRE
RALISATIONS LECTRONIQUES
Temprature
Donne binaire
Donne Hex.
Donne Dc.
+ 125 C
0 11111010
00FA
250
+ 25 C
0 00110010
0032
50
0,5 C
0 00000001
0001
0 C
0 00000000
0000
0,5 C
1 11111111
01FF
511
25 C
1 11001110
01CE
462
55 C
1 10010010
0192
402
185
Figure 5.29.
Schma du
thermomtre GSM.
Tableau 5.24.
Relation
entre la donne
et la temprature.
INTERFACES GSM
Figure 5.30.
Circuit imprim.
Figure 5.31.
Implantation
des composants.
Liste des composants
R1, R5 : 470
R2, R3 : 10 k
R4 : 1 k
C1 : 100 nF (pas de 2,54 mm)
C2, C3 : 22 pF / cramique
C4, C10, C11 : 100 nF / LCC jaune
C5, C6, C7, C8 : 1 F / tantale / 15 V
C9 : 220 F / lectrolytique / 15 V
D1 : diode 1N4002
D2 : diode 1N4148
L, L1 : Led standard
Q : quartz 20 MHz
REG : rgulateur 7805
186
CHAPITRE
RALISATIONS LECTRONIQUES
est ngative. Dans le cas dune temprature positive le calcul est
trs simple, il suffit de diviser la donne par deux. Dans le cas
dune temprature ngative, il faut prendre en compte les
8 premiers bits et les soustraire 255 puis diviser le rsultat par
deux. Prenons titre dexemple la donne 1 11001110, le 9e bit est
1, donc il sagit dune temprature ngative. On prend les
8 autres bits soit 11001110bin = 206dec. On effectue lopration
255 206 = 49, 49/2 = 24,5 soit 25.
DIM
DIM
DIM
DIM
T AS INTEGER
TH AS INTEGER
FLAG_TH AS BYTE
FLAG_TB AS BYTE
187
INTERFACES GSM
'INITIALISATION N TELEPHONE UTILISE PAR DEFAUT POUR LENVOI DES
SMS
'---------------------------------------------------------------
188
CHAPITRE
RALISATIONS LECTRONIQUES
'INITIALISATION DU ME (MODE TEXT)
'-------------------------------SEROUT TXD,BDS,0,1,["AT+CMGF=1",13]
DELAY 500
SEROUT TXD,BDS,0,1,["AT+CPMS=",34,"ME",34,13]
DELAY 500
'PROGRAMME PRINCIPAL
'-------------------DEBUT:
'Initialisation variable tableau SMS
'
FOR i=0 TO 12
SMS(i)=0
NEXT i
'Mesure de la temprature
'
Dans un premier temps le PicBasic demande quelle est la temprature, au circuit DS1620, en envoyant sur le bus SPI linstruction
AAhex laide de linstruction spcifique SHIFTOUT. Cette instruction gnre un signal dhorloge de synchronisation sur la
sortie I/O2, tout en venant crire sriellement les donnes
prsentent sur lentre I/O3. Lavant dernier paramtre de la
commande dfinit le mode dcriture, plac zro il indique que
le LSB est prioritaire. Pour lire la rponse donne par le DS1620
il faut ensuite utiliser linstruction SHIFTIN, les lignes dhorloge
et de donne sont identiques, le dernier paramtre indique la taille
en nombre de bits de la donne rcupre ici positionne 9. Les
instructions OUT 1,1 et OUT 1,0 assure linitialisation du capteur
de temprature avant et aprs sa consultation.
OUT 1,1
SHIFTOUT 2,3,0,&HAA
T=SHIFTIN(2,3,0,9)
OUT 1,0
'Regarde si un des seuils de T est franchi
'
189
INTERFACES GSM
ELSE
IF T>TH THEN GOSUB ALERT
END IF
'Regarde si nouveau SMS
'
190
CHAPITRE
RALISATIONS LECTRONIQUES
Si les deux premires lettres de la commande rceptionne sont
T et R la mmorisation des seuils de dpassement
FLAG_TH et FLAG_TB sont mis zro. La Led de signalement
est teinte.
IF SMS(0)="T" AND SMS(1)="R" THEN
FLAG_TH=0
FLAG_TB=0
OUT 0,0
END IF
'Mise jour du seuil de temprature haut
'
Le numro contenu dans la commande !!N,06xxxxxxxx est sauvegard dans la mmoire eeprom du PicBasic aux adresses FF6hex
FFFhex. Cest ce numro qui sera utilis pour lexpdition des SMS.
IF SMS(0)="N" THEN
i=2
FOR j=&HFF6 TO &HFFF
EEWRITE j,SMS(i)
i=i+1
NEXT j
END IF
'Efface le SMS dans la mmoire du tlphone
'
191
INTERFACES GSM
RAZ:
SEROUT TXD,BDS,0,1,["AT+CMGD="]
FOR i=0 to 2
IF index(i)>=48 AND index(i)<=57 THEN SEROUT
TXD,BDS,0,1,[index(i)]
NEXT i
SEROUT TXD,BDS,0,1,[13]
DELAY 5000
GOTO DEBUT
Le sous-programme ALERT gnre le SMS dalerte de dpassement des seuils. Il fait appel aux sous-programmes GEL si la
temprature mesure est infrieure ou gale zro, INC si la temprature est suprieure au seuil TH fix en dbut de programme
(ou par SMS), condition quaucun des flags (FLAG_TB ou
FLAG_TH) ne soit positionn 1.
ALERT: IF FLAG_TB<>0 OR FLAG_TH<>0 THEN RETURN
GOSUB NUMERO
IF T>255 THEN
GOSUB GEL
ELSE
IF T>TH THEN GOSUB INC
END IF
SEROUT TXD,BDS,0,1,[26]
DELAY 5000
RETURN
'NUMEROTATION POUR LENVOI DUN SMS
'----------------------------------
192
CHAPITRE
RALISATIONS LECTRONIQUES
DELAY 1000
RETURN
'MESSAGES DALERTES
'------------------
GOSUB THM
SEROUT TXD,BDS,0,1,[" => RISQUE DE GEL"]
FLAG_TB=1
OUT 0,1
RETURN
INC:
GOSUB THP
SEROUT TXD,BDS,0,1,[" => INCENDIE"]
FLAG_TH=1
OUT 0,1
RETURN
'CALCUL DE LA TEMPERATURE
'------------------------
T=255 AND T
T=(255-T)
T=(T>>1)
SEROUT TXD,BDS,0,1,["TEMPERATURE : -",DEC(T,3,1),"C"]
RETURN
THP:
T=(T>>1)
SEROUT TXD,BDS,0,1,["TEMPERATURE : +",DEC(T,3,1),"C"]
RETURN
193
INTERFACES GSM
Tableau 5.25.
THERMOMTRE
Configuration
Cavalier J1 mettre en place uniquement si vous utilisez un cble DATA LINK du commerce
lments du programme PicBasic modifier
Action du montage
!!T?
!!T?,06xxxxxx
!!N, 06xxxxxx
!!TH,temp
!!TR
PicBasic
Le cur de notre carte est l encore un microcontrleur PicBasic
du constructeur Coren COMFILE TECHNOLOGY. Il existe
3 familles de PicBasic, celui que nous avons choisi ici, le PICBASIC-2S, appartient la deuxime famille, il est un bon compromis entre le cot et les possibilits offertes. Ce petit module
hybride au format DIP 34 broches est constitu dun PIC
16C74A-04, dun quartz de 4,19 MHz, dune mmoire eeprom
194
CHAPITRE
RALISATIONS LECTRONIQUES
Schma lectrique
Le schma lectrique (Figure 5.33) peut sembler complexe, au
premier coup dil. Nous allons voir quil nen est rien.
Port srie
Le PicBasic dispose dinstructions qui permettent dutiliser deux
de ses lignes I/O pour simuler une liaison RS232. Le format des
donnes transfres est 8 bits de donnes avec 1 bit de start, 1 bit
de stop et sans bit de parit.
Linstruction SERIN Port, Param1, Mode, Param2, Adress, [Var1]
permet dattendre la rception de donnes sous forme srie selon
le protocole RS232. La broche Port attend la ou les donnes Var1
une vitesse dfinie par Param1 (voir tableau 5.26). Durant cette
phase le PicBasic ne peut pas effectuer dautres tches et attend
la rception des donnes pendant une dure dfinie par Param2.
195
Figure 5.32.
Synoptique.
INTERFACES GSM
196
CHAPITRE
RALISATIONS LECTRONIQUES
Figure 5.33.
Schma de la carte E/S
pilote par GSM.
197
INTERFACES GSM
198
CHAPITRE
RALISATIONS LECTRONIQUES
Figure 5.34.
Circuit imprim
carte principale,
rduit de 10 %.
199
INTERFACES GSM
Figure 5.35.
Implantation des composants
carte principale, rduite de 10 %.
Liste des composants carte principale
R1 : 470
R2 R9 : 220
C1 C8 : 100 nF / cramique multicouche
(pas de 2,54)
C9 : 220 F / 25 V / lectrolytique
C10, C15 : 100 nF / LCC jaune
C11 C14 : 1 F / tantale
D1 : 1N4002
L1 : Led
SIL1 SIL4 :
rseau de rsistance 10 k (8R+commun)
IC1 IC4 : 74HCT541
+ support DIL 20 broches
IC5 IC8 : 74HCT574
+ support DIL 20 broches
IC9 : MAX232
+ support DIL 16 broches
IC10 : PICBASIC-2S
REG : rgulateur 7805
+ dissipateur thermique
CN1 : DB9 mle pour CI coud 90
CN2 : bornier vis 2 plots
8 barrettes femelles HE14 10 broches
2 barrettes femelles HE14 17 broches
2 barrettes mles HE14 10 broches
1 barrette mle HE14 3 broches (facultatif)
1 connecteur pour cran LCD srie
(facultatif)
200
CHAPITRE
RALISATIONS LECTRONIQUES
201
INTERFACES GSM
du type MAX232 (IC9 sur le schma) cbl avec 4 condensateurs
de 1 F, afin de transformer les signaux TTL issus du PicBasic en
signaux de + 10 V/ 10 V.
Tableau 5.26.
Diffrentes vitesses
de transmission.
Vitesse (bauds)
2 400
138
4 800
66
9 600
30
19 200
11
Protocole de communication
Tableau 5.27.
Commande
Action
!!L, port
!!T
Effectue la lecture de toutes les entres logiques, le rsultat est envoy sous
forme de 4 octets correspondants respectivement aux ports 0, 1, 2 et 3
!!V
Effectue la lecture de toutes les entres analogiques, le rsultat est envoy sous
forme de 8 tensions lues sur les entres AD0 AD7
Ports E/S
La carte possde pas moins de 8 ports parallles comportant
chacun 8 lignes, 4 sont utilisables en entre et sont numrots de
0 3, 4 sont utilisables en sortie et sont numrots de 4 7.
Chacun des 8 ports est reli 8 lignes du PicBasic. Il existe deux
instructions spcifiques qui permettent de travailler simultanment avec des blocs de 8 lignes. Linstruction BYTEIN(Param1)
202
CHAPITRE
RALISATIONS LECTRONIQUES
203
INTERFACES GSM
revient dire que le circuit est dconnect du bus de donnes.
Les entres du 74HCT541 sont relies des rsistances de rappel.
Si lentre nest pas utilise, elle est mise ltat haut par une
rsistance de 10 k.
Sorties
Chaque port de sortie utilise un circuit 74HCT574. La slection
des ports 4, 5, 6 et 7 seffectue par les broches CLK (clock) qui sont
relies respectivement I/O19 (broche 23), I/O18 (broche 22),
I/O17 (broche 21) et I/O16 (broche 20). Chacune des 8 entres de
chaque 74HCT574 est relie au bus de donnes qui est alors
configur en sortie. Si une des entres CLK est soumise un front
montant, la donne prsente en entre du 74HCT574 correspondant est recopie sur sa sortie. Ltat de la sortie tant mmoris
dans un tampon jusqu la prochaine criture.
Port analogique
Le PICBASIC-2S dispose dorigine de 8 entres analogiques AD0
AD7 possdant une rsolution de 8 bits, soit une prcision de
20 mV sur la mesure. Linstruction trs simple comme ADIN(port)
permet de connatre la valeur de la tension prsente sur une
broche prcise. La valeur lire doit tre imprativement comprise
entre 0 et + 5 V sous peine de dtriorer le circuit. Pour la lecture
de niveaux suprieurs il faudra avoir recours par exemple des
ponts diviseurs de tensions ou des amplis OP cbls en diviseurs de tension. Le paramtre port correspond la broche du
module qui reoit la valeur mesurer : broches 0 4 et 24 26. La
valeur de la lecture est de type byte (comprise entre 0 et 255),
lquation qui permet de calculer la tension est : Tension
= (valeur 5)/255. Par exemple pour une valeur de 125 on obtient
une tension gale 2,45 V.
Ralisation
Il faudra un minimum de vigilance lors de la ralisation, la carte
comporte de nombreuses pistes proches les une des autres et
relativement fines. La majorit des pastilles seront percer laide
dun foret de 0,8 mm de diamtre. Seules les pastilles du bornier
et du rgulateur seront percer 1,5 mm. Concernant le montage
des composants, on commencera par la mise en place des
13 straps. On soudera ensuite les rsistances puis les condensateurs dont il faudra imprativement respecter la polarit, particulirement pour ceux destins au MAX232. On terminera par
les supports des CI, le 7805 et le connecteur DB9. Le support du
PicBasic est constitu de deux barrettes HE14 femelles de
17 contacts. Avant la mise en place des CI sur leurs supports
204
CHAPITRE
RALISATIONS LECTRONIQUES
respectifs, il est conseill de mettre le montage sous tension et de
vrifier la tension dalimentation laide dun voltmtre qui doit
tre gale + 5 V 5 % prs.
D_FlagPort
F_FlagPort
D_PORT
F_PORT
D_PIN
F_PIN
D_Mem
F_Mem
D_Index
F_Index
D_Numero
F_Numero
=
=
=
=
=
=
=
=
=
=
=
=
&H1FE5
&H1FE8
&H1FE9
&H1FEC
&H1FED
&H1FF0
&H1FF1
&H1FF2
&H1FF3
&H1FF5
&H1FF6
&H1FFF
205
INTERFACES GSM
Tableau 5.28.
Cartographie
de la mmoire
eeprom
du PicBasic.
Adresse
HEX
Constante
Nature
0000
0740
Espace
1 857 octets
0741
6 308 octets
non utiliss
1FE4
1FE5
D_FlagPort
1FE6
1FE7
1FE8
F_FlagPort
1FE9
D_PORT
1FEA
2e octet (Port n 1)
1FEB
3e octet (Port n 2)
1FEC
F_PORT
4e octet (Port n 3)
1FED
D_PIN
1er chiffre
1FEE
2e chiffre
1FEF
3e chiffre
1FF0
F_PIN
4e chiffre
1FF1
D_Mem
1er caractre
1FF2
2e caractre
4 octets
4 octets
4 octets
2 octets
206
CHAPITRE
RALISATIONS LECTRONIQUES
1FF3
D_Index
1er chiffre
1FF4
2e chiffre
1FF5
F_Index
3e chiffre
1FF6
D_Numero
1er chiffre
1FF7
2e chiffre
1FF8
3e chiffre
1FF9
4e chiffre
1FFA
5e chiffre
1FFB
6e chiffre
1FFC
7e chiffre
1FFD
8e chiffre
1FFE
9e chiffre
1FFF
F_Numero
10e chiffre
3 octets
10 octets
CONST adresse = 2
CONST donnee = 1
207
INTERFACES GSM
'DECLARATION DES VARIABLES
'------------------------'Variable ddie au stockage SMS
'
DIM SMS(30) AS BYTE
'Variables ddies au pilotage des E/S de la carte
'
DIM i AS BYTE
DIM n AS BYTE
DIM k AS BYTE
DIM DATA AS BYTE
DIM ValPort(4) AS BYTE
DIM bin(8) AS BYTE
DIM FlagPort(4) AS BYTE
DIM j AS INTEGER
DIM h AS INTEGER
DIM j1 AS INTEGER
DIM j2 AS INTEGER
DIM V AS INTEGER
DIM V1 AS INTEGER
DIM V2 AS INTEGER
DIM V3 AS INTEGER
'INITIALISATION DU BUS DADRESSE ET DE DONNEES
'---------------------------------------------
208
CHAPITRE
RALISATIONS LECTRONIQUES
(soit 2 s). Si les caractres OK sont rceptionns dans le temps
donn, le caractre suivant soit <CR> est plac dans la variable i.
Dans le cas contraire le programme saute la ligne repre par
ltiquette TEST car i est vide. Il suffit de tester le contenu de i
pour savoir si la liaison est tablie. En phase de paramtrage, le
montage est connect un PC, si la commande AT le PC
rpond par OK suivi de la lettre P le montage se place en
phase de programmation, si le PC rpond par la lettre L, cest la
phase de lecture qui est active.
i=0
TEST: SEROUT TXD,BDS,0,1,["AT",13]
SERIN RXD,BDS,0,2000,TEST,[WAIT("OK"),i]
IF i=0 THEN GOTO TEST
IF i="P" THEN GOTO PROG_EE
IF i="L" THEN GOTO LECT_EE
'SELECTION DE lALPHABET GSM
'--------------------------SEROUT TXD,BDS,0,1,["AT+CSCS=",34,"GSM",34,13]
DELAY 500
'CODE PIN
'--------
209
INTERFACES GSM
GOSUB READ_EE
SEROUT TXD,BDS,0,1,[34,13]
DELAY 500
'INITIALISATION DU ME
'--------------------
Les 8 variables FlagPort sont charges avec les donnes lues entre
les adresses D_FlagPort et F_FlagPort de leeprom. (voir la partie
de programme SCRUT pour comprendre leur utilit).
i=0
FOR j=D_FlagPort TO F_FlagPort
FlagPort(i)=EEREAD(j)
i=i+1
NEXT j
'INITIALISATION DES VARIABLES
'---------------------------DEBUT:
'Initialisation du bus de donnes
'
210
CHAPITRE
RALISATIONS LECTRONIQUES
SMS(1)
SMS(2)
SMS(3)
SMS(4)
SMS(5)
SMS(6)
211
Tableau 5.29.
INTERFACES GSM
Le test du contenu de la variable SMS(0) nous indique vers quelle
partie le programme doit sorienter. Dans le cas o la commande
reue nest pas valide, le programme bascule sur ltiquette RAZ
ce qui provoque la suppression du SMS.
IF SMS(0)="L"
IF SMS(0)="E"
IF SMS(0)="S"
IF SMS(0)="R"
IF SMS(0)="C"
IF SMS(0)="T"
IF SMS(0)="V"
IF SMS(0)="N"
IF SMS(0)="F"
GOTO RAZ
THEN
THEN
THEN
THEN
THEN
THEN
THEN
THEN
THEN
GOTO
GOTO
GOTO
GOTO
GOTO
GOTO
GOTO
GOTO
GOTO
LECTURE
ECRITURE
SETBIT
RESETBIT
COMPLBIT
LECTURES
ANALOG
MAJNUM
FLAG
Envoi dun SMS contenant ltat logique du port spcifi. Le sousprogramme NUM compose le numro de tlphone du destinataire, LEC1PORT effectue la lecture de la valeur dcimale et
binaire prsente sur le port sollicit. Finalement le code ASCII
26dec=EOF est envoye sur la sortie TxD, ce qui dclenche lenvoi
du SMS sur le rseau GSM.
LECTURE:
GOSUB NUM
GOSUB LEC1PORT
SEROUT TXD,BDS,0,1,[26]
DELAY 5000
GOTO RAZ
'LECTURE DE TOUTES LES ENTREES
'-----------------------------
212
CHAPITRE
RALISATIONS LECTRONIQUES
SEROUT TXD,BDS,0,1,[26]
DELAY 5000
GOTO RAZ
'ECRITURE SUR PORT CONCERNE
'-------------------------ECRITURE:
'Conversion de la valeur de consigne
'
MAJBIT:
IF SMS(2)>=4 THEN
BYTEOUT donnee,DATA
BYTEOUT adresse,MaskPort(SMS(2))
n=SMS(2)-4
ValPort(n)=DATA
END IF
GOTO RAZ
'MISE A 1 DUN BIT SUR PORT CONCERNE
'-----------------------------------
213
INTERFACES GSM
Exemple : dans cet exemple, seul le bit n 4 passe 1, tous les
autres bits conservent leur tat.
OU
ValPort(n)
DATA
(255-j)
ValPort(n)
DATA
ET
214
CHAPITRE
RALISATIONS LECTRONIQUES
XOR
ValPort(n)
DATA
XOR
ValPort(n)
DATA
Voici la partie de programme charge de lire les 8 entres analogiques de la carte et denvoyer le rsultat sous forme de SMS.
Lacquisition seffectue en deux parties car les entres analogiques
ne se suivent pas (broches I/O0 I/O4 puis I/O24 I/O26).
Le sous-programme CONVTENS permet de convertir la valeur
lue en dcimale code sur 8 bits en une valeur code en ASCII.
ANALOG:
SEROUT TXD,BDS,0,1,["ETAT DES 8 ENTREES ANALOGIQUES : "]
FOR i=0 to 7
k=i
IF i>4 THEN k=i+19
DATA=ADIN(k)
GOSUB CONVTENS
n=i+48
SEROUT TXD,BDS,0,1,["E",n,"= +",V1,",",V2,V3,"v"," "]
NEXT i
SEROUT TXD,BDS,0,1,[26]
GOTO RAZ
'MISE A JOUR DU NUMERO UTILISE POUR LENVOI DES SMS
'--------------------------------------------------
215
INTERFACES GSM
MAJNUM:
i=2
FOR j= D_Numero TO F_Numero
EEWRITE j,SMS(i)
i=i+1
NEXT j
'POSITIONNEMENT DES FLAGS
'------------------------
216
CHAPITRE
RALISATIONS LECTRONIQUES
FlagPort correspondante est zro. Lors du premier envoi la
variable FlagPort est mise systmatiquement 1 pour viter que
le port correspondant envoie dautres SMS. Le logiciel ConfigES
_GSM.exe permet lutilisateur de dfinir les valeurs qui dclenchent lenvoi dun SMS, il est galement possible dinhiber cette
fonction en positionnant les variables FlagPort 1.
SCRUT:
h=D_PORT
FOR k=0 TO 3
IF FlagPort(k)="0" THEN
BYTEOUT adresse,MaskPort(k)
DATA=BYTEIN(donnee)
IF EEREAD(h)=DATA THEN
FlagPort(k)="1"
GOSUB NUM
SMS(2)=k
GOSUB MESS1PORT
SEROUT TXD,BDS,0,1,[" (Ceci est un message dalerte
!)",26]
END IF
END IF
h=h+1
NEXT k
GOTO RAZ
'****************************************************************
'PROGRAMMATION DE LA CARTE AVEC UN PC
'****************************************************************
217
INTERFACES GSM
'ECRITURE DES DONNEES DE PARAMETRAGE DANS LEEPROM
'-------------------------------------------------
218
CHAPITRE
RALISATIONS LECTRONIQUES
MESS1PORT:
SEROUT TXD,BDS,0,1,["PORT "]
n=SMS(2)+48
SEROUT TXD,BDS,0,1,[n," = ",DEC(DATA,3,1)," "]
GOSUB CONVBIN
IF SMS(0)<>"T" THEN
SEROUT TXD,BDS,0,1,["=> "]
FOR i=0 TO 7
n=i+48
SEROUT TXD,BDS,0,1,["S",n,"=",bin(i)]
IF i<>7 THEN SEROUT TXD,BDS,0,1,[", "]
NEXT i
END IF
IF SMS(2)<4 THEN SEROUT TXD,BDS,0,1,[" (Flag=",FlagPort
(SMS(2)),") "]
RETURN
'PREPARE LENVOI DU SMS (composition du numro de tlphone)
'-----------------------------------------------------------
219
INTERFACES GSM
Ce sous-programme permet de convertir la valeur dcimale fournie par linstruction DATA=ADIN(i) en trois caractres ASCII. La
formule qui permet de calculer la tension correspondante est de
la forme V = (D 5)/28. Comme le PicBasic ne peut pas travailler
avec des nombres virgule, nous allons multiplier le rsultat
par 100, en simplifiant, la relation devient V = (100 D)/51. On
obtient alors un nombre entier compris entre 0 et 500. Pour
extraire le chiffre des units nomm V1 on divise le rsultat par
100, do la relation V1 = V/100. La premire dcimale nomme
V2 est obtenue par la formule V2 = (V 100 V1)/10. Enfin la
deuxime dcimale est obtenue par la formule
V3 = V (100 V1 + 10 V2), notez quil est ncessaire de
dcouper cette formule en 3 sous formules pour que le PicBasic
puisse effectuer le calcul de V3. Finalement on ajoute chacun
des chiffres le nombre 48dec pour obtenir le caractre ASCII correspondant.
CONVTENS:
V=(100*DATA)/51
V1=V/100
V3=100*V1
V2=(V-V3)/10
V3=V3+10*V2
V3=V-V3
V1=V1+48
V2=V2+48
V3=V3+48
RETURN
'MASQUE UTILISE POUR MODIFIER 1 BIT
'----------------------------------
Le masque utilis pour les oprations sur 1 seul bit est ralis par
un simple dcalage gauche dune variable j initialise 1. Le
nombre de dcalage est dfini par SMS(4) qui contient le numro
de la sortie modifier. La boucle produit un dcalage gauche
de trop, do la prsence de la formule j=j/2.
UnBIT:
j=&b00000001
FOR i=0 TO SMS(4)
j=(j<<1)
NEXT i
j=j/2
n=SMS(2)-4
RETURN
'LECTURE DE LEEPROM ENTRE LES ADRESSES j1 et j2
'-----------------------------------------------
220
CHAPITRE
RALISATIONS LECTRONIQUES
READ_EE:
FOR j=j1 TO j2
n=EEREAD(j)
SEROUT TXD,BDS,0,1,[n]
NEXT
RETURN
'LECTURE DE LA DONNEE INDEX ENTRE LES ADRESSES j1 et j2 DE
LEEPROM
'---------------------------------------------------------------
Programmation et configuration
Le programme CES.bas destin au PicBasic, une fois compil,
ne fait que 1 857 octets + 27 octets de paramtrage. Sachant que
leeprom du PICBASIC-2S est de 8 Ko, le programme est laise
puisquil occupe moins de 1/4 de lespace. Cela peut sembler du
luxe mais vu la simplicit du langage de programmation basic il
est plus que probable que vous allez ajouter de nouvelles fonctionnalits la carte. Voyons tout dabord comment transfrer
notre programme au PicBasic. La programmation ne se fait pas
via le port srie, mais par le port parallle laide dun cordon
spcifique fourni par Lextronic. Si celui-ci est dj monopolis
par limprimante vous pouvez utiliser le port LPT2. Si votre ordinateur dispose que dun seul port parallle pas de problme,
il suffit de dconnecter temporairement limprimante. Lautre
extrmit du cordon prend place dans le petit connecteur prsent
sur le module PicBasic, un dtrompeur vous vite toute erreur de
branchement. Attention, vous devez alimenter la carte une fois
que le PC est allum et que le logiciel PICBASIC-LAB est actif.
Consultez la documentation fournie par Lextronic pour linstallation et ltalonnage du logiciel PICBASIC-LAB. Copiez ensuite
le programme CES.bas sur votre disque dur et ouvrez ce fichier
partir du logiciel PICBASIC-LAB. Cliquez sur licne RUN ce
qui a pour effet de compiler le programme, de le transfrer dans
leeprom et de lexcuter. Attention, vous devez imprativement
couper lalimentation de la carte avant de dconnecter le PicBasic
du PC.
221
INTERFACES GSM
Maintenant que le PicBasic est programm vous pouvez relier la
carte au port srie de votre PC pour procder la configuration.
Les diffrents paramtres utiles au montage seront envoys par
lintermdiaire du logiciel ConfigES_GSM.exe . Slectionnez
le port com sur lequel le montage est connect (com2 par dfaut),
cliquez alors sur le bouton Ouvrir . Un voyant signalant que
la communication est tablie doit sallumer en rouge, en fait les
caractres AT envoys par la carte sont bien rceptionns par
le PC. Entrez le code PIN de votre tlphone, la mmoire utilise
pour stocker les SMS rceptionns, lindex du prochain SMS et le
numro de tlphone utilis pour envoyer les SMS. Pour chacun
des ports n 0 3, il est possible de dfinir une valeur qui va
dclencher lenvoi de SMS, condition davoir coch la case
Envoi SMS . Chaque case cocher n 0 7 correspond une
entre. Par exemple, avec la copie dcran ci-aprs, si une fois le
montage connect un tlphone, toutes les entres du port n 0
sont 1, un SMS est envoy. Une fois tous ces paramtres dfinis,
cliquez sur le bouton ECRITURE pour les transfrer dans la
mmoire eeprom du PicBasic. Le bouton LECTURE permet
de sassurer que les paramtres sont correctement mmoriss.
Figure 5.38.
Configuration
de la carte.
Essais
Pour faciliter le contrle de bon fonctionnement des diffrents
ports de la carte, deux montages trs simples vous sont proposs.
Le premier est une platine de visualisation qui comporte 8 bargraphs constitus de 10 Led rouges rectangulaires associes des
rsistances de 470 qui limitent le courant. Cette platine senfiche
directement dans les 4 ports utiliss en sortie. En effet le 74HCT541
peut dbiter un courant denviron 50 mA sur chacune de ses
222
CHAPITRE
RALISATIONS LECTRONIQUES
Figure 5.39.
Schma
des platines dessais.
223
INTERFACES GSM
la prsence de la tension dalimentation. laide de ces deux
petits montages vous pourrez valider le bon fonctionnement de
chaque port de la carte, celle-ci ne comportant aucun rglage.
Pour le contrle du port analogique il est possible de cbler un
potentiomtre de 10 k qui viendra se connecter sur les plots de
lalimentation et sur les lignes de lecture analogique.
Interface de puissance
En bonus, nous vous proposons une interface de puissance
base de triacs qui permet notre carte de piloter 8 charges indpendantes, alimentes sous une tension de 220 V. Cette interface
se connecte sur lun des 4 ports de sortie de la carte (ports n 4, 5,
6 ou 7). En ralisant 4 exemplaires de cette interface vous aurez
la possibilit de commander 32 charges !
Figure 5.40.
Schma
de linterface
de puissance.
224
CHAPITRE
RALISATIONS LECTRONIQUES
Figure 5.41.
Circuit imprim.
225
INTERFACES GSM
Figure 5.42.
Implantation
des composants.
Liste des composants
R : 16 rsistances 470
IC : 8 MOC3041
ou TLP3041
TR : 8 triacs BTA08-400B
VR : 8 varistances 220 V
CN : 9 connecteurs vis
2 bornes
FUS : porte fusible + fusible
C : connecteur HE10
mle 10 broches
226
CHAPITRE
RALISATIONS LECTRONIQUES
Action du montage
!!L, port
!!T
!!V
!!N,06xxxxxxxx
!!F,f0f1f2f3
227
INTERFACES GSM
Cell Monitor
Il est important de noter que les oprateurs gardent secret les
numros didentification de leurs cellules. Dans un premier temps
nous allons reprogrammer le montage vu prcdemment dans la
partie Rcepteur/metteur SMS afin dafficher sur lcran LCD
les paramtres LAC et Cell-ID, ainsi il vous sera possible didentifier et de situer gographiquement les cellules de votre environnement plus ou moins proche afin de vous constituer une
petite base de donnes. Nous en profiterons pour afficher galement la puissance du signal reu.
228
CHAPITRE
RALISATIONS LECTRONIQUES
DIM
DIM
DIM
DIM
Tampon(16)
Rssi
i
n
AS
AS
AS
AS
BYTE
BYTE
BYTE
BYTE
229
INTERFACES GSM
Tant que la liaison nest pas tablie le programme boucle sur
ltiquette TEST0. Lcran LCD affiche le message PB liaison ! .
Une fois la liaison tablie le programme suit son cours normal.
IF i=0 THEN GOTO TEST0
'SELECTION DE lALPHABET GSM
'--------------------------SEROUT TXD,BDS,0,1,["AT+CSCS=",34,"GSM",34,13]
DELAY 500
'CODE PIN
'--------
230
CHAPITRE
RALISATIONS LECTRONIQUES
caractres +CREG , le PicBasic se contente de dtecter la paire
de caractres EG et de placer les 16 caractres suivants dans la
variable Tampon.
SEROUT TXD,BDS,0,1,["AT+CREG=2"]
DELAY 500
SEROUT TXD,BDS,0,1,[13]
ATT1: SERIN RXD,BDS,0,10000,ATT1,[WAIT("EG"),Tampon(0)~16]
SEROUT TXD,BDS,0,1,["AT+CREG=0",13]
Un exemple de ce que peut contenir la variable Tampon est indiqu tableau 5.31.
Tableau 5.31.
"
Tampon(2) contient la donne <stat> qui reprsente ltat denregistrement du tlphone sur le rseau :
<stat> :
0 tlphone non enregistr, pas de recherche doprateur en
cours
1 tlphone enregistr sur le rseau
2 tlphone non enregistr, recherche doprateur en cours
6 enregistrement interdit
7 inconnu
8 enregistr, roaming
Tampon(5) Tampon(8) contiennent les 4 octets codifiant la
donne <lac>.
Tableau 5.32.
"
231
INTERFACES GSM
BEEP 9
BEEP 9
CLS
LOCATE 0,0
PRINT "[",Tampon(2),"]"
LOCATE 0,1
PRINT "LAC:",Tampon(5) ,Tampon(6) ,Tampon(7) ,Tampon(8)
PRINT " CI:",Tampon(12),Tampon(13),Tampon(14),Tampon(15)
Un exemple de ce que peut contenir la variable Tampon est indiqu tableau 5.33.
Tableau 5.33.
232
CHAPITRE
RALISATIONS LECTRONIQUES
Tampon(2)=Tampon(2)-48
Rssi=Tampon(2)
END IF
IF Rssi<=31 THEN
Rssi=113-(2*Rssi)
ELSE
Rssi="?"
END IF
Tableau 5.34.
CELL MONITOR
Configuration
Cavalier J1 mettre en place uniquement si vous utilisez un cble DATA LINK du commerce
lments du programme PicBasic modifier
Code PIN (7208 par dfaut)
Tracker GPS
Nous vous proposons la ralisation dun montage capable
denvoyer par SMS sa propre position gographique. La grande
prcision est due la mise en uvre dun rcepteur GPS miniature. Une fois les coordonnes longitude et latitude rentres dans
les applications telles que Google Map ou Google Earth, vous
localiserez prcisment la position de votre montage sur une
carte et/ou une photo satellite.
Positionnement gographique
Dterminer une position gographique sur notre bonne vieille
plante revient dterminer les coordonnes dun point situ
la surface dune sphre. Qui dit coordonnes dit repre cartsien
constitu de deux plans perpendiculaires. Le premier passe par
les ples Nord et Sud et par lobservatoire de Greenwich prs de
Londres : on lappelle le mridien dorigine. Le deuxime est
quidistance des ples Nord et Sud : il sagit de lEquateur. Positionner un point sur la Terre revient dterminer la distance qui
le spare du mridien dorigine : cest la longitude, et la distance
233
INTERFACES GSM
qui le spare de lEquateur : cest la latitude. Ces distances se
mesurent en degrs dangle avec une tendue de 180 (Ouest et
Nord) +180 (Est et Sud).
Oprationnel depuis 1995, le GPS (Global Positioning System)
permet un rcepteur utilisant cette technologie de dterminer
prcisment sa position gographique. Un tel rcepteur est
susceptible dutiliser les quelque 24 satellites en orbite autour de
la Terre. Chaque satellite met en permanence un signal radio
contenant diverses informations, dont un signal horaire, lheure
dmission du signal et la position du satellite. Afin de se situer
le rcepteur GPS mesure le temps que met ce signal lui parvenir. En effectuant cette opration avec au moins trois satellites
simultanment il est capable de calculer les donnes longitude et
latitude.
Rcepteur GPS
Le rcepteur mis en uvre dans cette ralisation est un GPS
OEM subminiature rfrenc EM-406 ; il est distribu en France
par la socit Lextronic (http://www.lextronic.fr) pour un prix
abordable mme pour llectronicien amateur (au sens noble du
terme).
Ce GPS est bas sur le chipset SiRF StarIII, un des plus apprci du march, ce qui lui confre une stabilit exceptionnelle. Il
est capable dutiliser jusqu 20 satellites, ce qui lui permet
davoir un bon temps de rponse et une prcision correcte.
Un des avantages de ce modle est quil dispose dune antenne
de rception intgre GPS USGlobalSat, ce qui permet la ralisation dun montage compacte et discret.
234
CHAPITRE
RALISATIONS LECTRONIQUES
tion). Les trames sont composes de caractres ASCII qui transitent sous forme srie sur la sortie nomme TX. Le protocole
utilis est conforme la norme RS232 avec une vitesse prdfinie
de 4 800 bits/s.
Nom
Exemple
Message ID
$GPGGA
UTC Time
161229.487
hhmmss.sss
Latitude
3723.2475
ddmm.mmmm
N/S Indicator
Longitude
12158.3416
E/W Indicator
E=east or W=west
Position Fix
Indicator
Satellites
Used
07
Range 0 to 12
HDOP
1.0
Horizontal Dilution of
Precision
MSL Altitude1
9.0
mtre
Units
mtre
Geoid
Separation1
Units
Description
GGA protocol header
N=north or S=south
dddmm.mmmm
mtre
M
Age of Diff.
Corr.
mtre
seconde
Diff. Ref.
Station ID
0000
Checksum
*18
<CR><LF>
Unit
235
Tableau 5.35.
GGA : GPS fix et date
INTERFACES GSM
Tableau 5.36.
GLL : position
gographique
longitude-latitude.
Nom
Exemple
Message ID
$GPGLL
Latitude
3723.2475
N/S Indicator
Longitude
12158.3416
E/W Indicator
UTC Time
161229.487
Status
Checksum
*2C
Unit
<CR><LF>
Tableau 5.37.
GSA :
satellites actifs.
Description
Nom
Exemple
Message ID
$GPGSA
Unit
Description
GSA protocol header
Mode 1
M : Manual-forced to operate in
2D or 3D mode
A : 2Dautomatic-allowed to
automatically switch 2D/3D
Mode 2
Satellite used
07
Sv on Channel 1
Satellite used
02
Sv on Channel 2
...
Satellite used
Sv on Channel 12
PDOP
1.8
HDOP
1.0
VDOP
1.5
Checksum
*33
<CR><LF>
Dans le cadre de notre application nous utiliserons exclusivement la trame RMC qui nous donne les informations ncessaires
et suffisantes compte tenu de notre application : la longitude et la
latitude.
236
CHAPITRE
RALISATIONS LECTRONIQUES
Nom
Exemple
Unit
Message ID
$GPGSV
Number of Messages
Range 1 to 3
Message Number1
Range 1 to 3
Satellites in View
07
Satellite ID
07
Elevation
79
degr
Azimuth
048
degr
SNR(C/No)
42
dBHz
Satellite ID
27
degr
Channel 4
Elevation
27
degr
Channel 4
Azimuth
138
degr
Channel 4
SNR(C/No)
42
dBHz
Checksum
*33
Description
GSA protocol header
...
<CR><LF>
End of message
termination
Les champs sont spars par des virgules. Un checksum optionnel peut tre prsent la fin de la trame (non utilis ici), il est
prcd du caractre *. Chaque trame se termine par les caractres <CR><LF> (retour chariot, retour la ligne).
Schma lectrique
La broche I/O11 est ddie la rcupration des trames mises sur
la sortie TX du GPS. Toutefois les niveaux de tension entre ces deux
broches ne sont malheureusement pas compatibles. Le PicBasic
attend des niveaux de 0v ou +5v alors que le GPS dlivre des
niveaux compris entre 0v et 3,3v. Plutt que de mettre en uvre un
circuit intgr pour adapter les niveaux de tension, nous avons
choisi la simplicit en utilisant deux transistors BC547 travaillant en
bloqu ou satur. Lorsque la base de T1 est soumise une tension de
3,3v on relve sur le collecteur de T2 une tension de +5v.
237
Tableau 5.38.
GSV : satelites
visibles.
INTERFACES GSM
Tableau 5.38.
RMC : donnes
minimales
exploitables
specifications.
spcifiques.
Nom
Exemple
Unit
Message ID
$GPRMC
UTC Time
161229.487
Status
Latitude
3723.2475
N/S Indicator
Longitude
12158.3416
E/W Indicator
Speed Over
Ground
0.13
noeud
Course Over
Ground
309.62
degr
Date
120598
Magnetic
Variation
Checksum
*10
True
ddmmyy
degr
<CR><LF>
Tableau 5.39.
VTG : direction et
vitesse de
dplacement.
ifi
Description
E=east or W=west
Nom
Exemple
Message ID
$GPVTG
Course
309.62
Reference
Course
Unit
Speed
0.13
Units
Speed
0.2
Units
Checksum
*6E
<CR><LF>
Measured heading
True
degr
Reference
Description
Measured heading
Magnetic
noeud
km/h
238
CHAPITRE
RALISATIONS LECTRONIQUES
Particularit concernant la ralisation
Le rcepteur GPS est livr avec un petit cble muni de deux
connecteurs. Sectionnez le cble afin dliminer un connecteur et
remplacez-le par un morceau de barrette scable 6 points. Ainsi
il est facile de le relier au connecteur CN5 du montage. Attention
lorientation du connecteur car celui-ci na plus de dtrompeur
se reprer par rapport au conducteur de couleur grise.
239
Figure 5.44.
Schma du tracker GPS.
INTERFACES GSM
240
CHAPITRE
RALISATIONS LECTRONIQUES
Figure 5.45.
Circuit imprim.
Figure 5.46.
Implantation
des composants.
Liste des composants
R1 : 470
R2, R3, R5, R6 : 10k
R4 : 2,2k
C1, C4 : 100nF (pas de 2,54mm)
C2, C3 : 22pF / cramique
C5, C6, C7, C8 : 1uF / tantale / 15v
C9 : 220uF / lectrolytique / 15v
D1 : diode 1N4004
D2 : diode 1N4148
L : Led standard
Q : quartz 20MHz
REG : rgulateur 7805
241
INTERFACES GSM
SERIN RXD_GSM,BDS_GSM,0,2000,TEST1,[WAIT("OK"),i]
TEST1:
IF i=0 THEN GOTO TEST
BEEP BUZZER
DELAY 1000
BEEP BUZZER
'SELECTION DE lALPHABET GSM
'--------------------------SEROUT TXD_GSM,BDS_GSM,0,1,["AT+CSCS=",34,"GSM",34,13]
DELAY 500
'CODE PIN
'--------
242
CHAPITRE
RALISATIONS LECTRONIQUES
EEWRITE &HFFD,"x"
EEWRITE &HFFE,"x"
EEWRITE &HFFF,"x"
END IF
'INITIALISATION DES VARIABLES
'----------------------------
Initialisation des
programme :
diffrentes
variables
utilises
par
le
DEBUT:
FOR i=0 TO 42
Tampon[i]=0
NEXT i
'ATTENTE RECEPTION SMS
'---------------------
Comme lindex sincrmente chaque nouveau message rceptionn, il est ncessaire dextraire cette donne pour savoir o
aller lire le message en mmoire. Dans ltat actuel des choses
admettons que la donne Tampon contient ceci :
On considre dans le programme que la valeur <index> sera
code au maximum sur 3 chiffres. Il est possible, comme le
montre cet exemple, que le stockage des SMS se fasse dans la
mmoire ME partir de lindex 900 :
'LECTURE DU SMS RECU
'-------------------
Tampon
(1)
Tampon
(2)
Tampon
(3)
Tampon
(4)
Tampon
(5)
Tampon
(6)
Tampon
(7)
Tampon
(8)
Tampon
(9)
"
"
243
INTERFACES GSM
SEROUT TXD_GSM,BDS_GSM,0,1,
["AT+CPMS=",34,Tampon(3),Tampon(4),34,13]
DELAY 500
Tampon
(1)
244
CHAPITRE
RALISATIONS LECTRONIQUES
Le numro utilis est celui situ dans la mmoire EEPROM du
PicBasic, aux adresses FF6hex FFFhex ou le cas chant celui
prcis dans le corps du SMS reu :
Tableau 5.42.
Tampon
10
11
12
Donne
SEROUT TXD_GSM,BDS_GSM,0,1,["AT+CMGS=",34]
IF Tampon(2)="," THEN
FOR i=3 TO 12
SEROUT TXD_GSM,BDS_GSM,0,1,[Tampon(i)]
NEXT i
ELSE
FOR j=&HFF6 TO &HFFF
num=EEREAD(j)
SEROUT TXD_GSM,BDS_GSM,0,1,[num]
NEXT j
END IF
SEROUT TXD_GSM,BDS_GSM,0,1,[34,13]
'ACQUISITION TRAME NMEA
'----------------------
ATT_GPS:
SERIN RXD_GPS,BDS_GPS,0,1000, ATT_GPS,
[WAIT("$G"), Tampon(0)~42]
Comme linstruction WAIT nadmet que 2 caractres en argument, il nous faut ruser et contrler les caractres suivants afin
dexclure les trames inutilises :
IF
IF
IF
IF
Tampon(0)<>"P"
Tampon(1)<>"R"
Tampon(2)<>"M"
Tampon(3)<>"C"
THEN
THEN
THEN
THEN
GOTO
GOTO
GOTO
GOTO
ATT_GPS
ATT_GPS
ATT_GPS
ATT_GPS
245
INTERFACES GSM
Tampon
10
11
12
13
14
15
Donne
Type
Message ID
UTC Time
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Status
Latitude
N/S
30
31
32
33
34
35
36
37
38
39
40
41
42
Longitude
Tableau 5.43.
E/W
246
CHAPITRE
RALISATIONS LECTRONIQUES
IF Tampon(28)="N" THEN
SEROUT TXD_GSM,BDS_GSM,0,1,["+"]
ELSE
SEROUT TXD_GSM,BDS_GSM,0,1,["-"]
END IF
SEROUT TXD_GSM,BDS_GSM,0,1,[26]
'EFFACE LE SMS EN MEMOIRE
'------------------------
247
INTERFACES GSM
SEROUT TXD_GSM,BDS_GSM,0,1,[13]
DELAY 5000
GOTO DEBUT
Interprtation du rsultat
Les coordonnes sont fournies en reprsentation sexagsimale. Il
est ncessaire de les convertir en dcimal afin de pouvoir les
utiliser dans Google Map et Google Earth :
Latitude: ddmm.mmmm = dd + mm.mmmm/60
Longitude : dddmm.mmmm = ddd + mm.mmmm/60
Exemple (il sagit des coordonnes extraites de la datasheet du EM406):
Latitude: = +3723,2475 = + (37+23,2475/60) = +37,387458
Longitude = -12158,3416 = -(121+58,3416/60) = -121,97236
Dernire minute
Parmi les fichiers tlchargeables via le site www.dunod.com,
vous trouverez une version 2 du programme (trackerGPS
V2.bas). Dans cette version lenvoi du SMS est dclench lorsque
le montage reoit un appel, condition que le numro de lappelant soit celui indiqu dans le programme. Ainsi il ny a pas de
frais de communication prvoir car il ny a pas de prise de
ligne, cest la sonnerie qui est le vecteur de la commande.
Attention, il faut tout de mme que la carte SIM utilise par le
tracker inclue la prsentation du numro.
248
CHAPITRE
RALISATIONS LECTRONIQUES
Figure 5.47
TRACKER GPS
Configuration
Cavalier J1 mettre en place uniquement si vous utilisez un cble DATA LINK du commerce
Elments du programme PicBasic modifier
Code PIN (7208 par dfaut)
Numro de tlphone utilis pour lenvoi des SMS (06xxxxxxxx par dfaut)
Utilisation
Commande SMS reue
Action du montage
!!G?
!!G?,06xxxxxxxx
249
PAGE
ANNEXE
ANNEXES
252
259
Glossaire
261
Bibliographie
264
251
INTERFACES GSM
Dsignation
Bloc
Fonction
RES
Reset
I/O 0-AD0
E/S ou CAN
I/O 1AD1
E/S ou CAN
I/O 2AD2
E/S ou CAN
I/O 3AD3
E/S ou CAN
CLKIN
Comptage
I/O 4-AD4
E/S ou CAN
GND
Masse
Quartz
OSCIN
10
OSCOUT
11
I/O 8
1 LSB
12
I/O 9-PWM0
E/S ou PWM
13
I/O 10-PWM1
E/S ou PWM
14
I/O 11
E/S
15
I/O 12
E/S
16
I/O 13
E/S
17
I/O 14
E/S
18
I/O 15
1 MSB
E/S
19
GND
Masse
20
+5V
Alimentation
21
I/O 16
E/S
22
I/O 17
E/S
23
I/O 18
E/S
24
I/O 19
E/S
Quartz
E/S
25
I/O 20
E/S
26
PICBUS
Afficheur
27
PCIN
Prog. PC
28
PCOUT
Prog. PC
Caractristiques :
252
ANNEXES
PicBasic 2S
Broche
Dsignation
Bloc
Fonction
+5V
Alimentation
RES
Reset
GND
I/O 0-AD0
0 LSB
E/S ou CAN
I/O 1AD1
E/S ou CAN
I/O 2AD2
E/S ou CAN
I/O 3AD3
E/S ou CAN
I/O 4-AD4
E/S ou CAN
E/S
Masse
I/O 5
10
I/O 6
E/S
11
I/O 7
0 MSB
E/S
12
I/O 8
1 LSB
E/S
13
I/O 9-PWM0
E/S ou PWM
14
I/O 10-PWM1
E/S ou PWM
15
I/O 11
E/S
16
I/O 12
E/S
17
I/O 13
E/S
18
I/O 14
E/S
19
I/O 15
1 MSB
E/S
20
I/O 16
2 LSB
E/S
21
I/O 17
E/S
22
I/O 18
E/S
23
I/O 19
E/S
24
I/O 20
E/S
25
I/O 21
E/S
26
I/O 22
E/S
27
I/O 23
2 MSB
E/S
28
I/O 24-AD5
3 LSB
E/S ou CAN
29
I/O 25-AD6
E/S ou CAN
30
I/O 26-AD7
3 MSB
E/S ou CAN
31
CLKIN
Comptage
32
PICBUS
Afficheur
33
NC
Non connecte
34
NC
Non connecte
Caractristiques :
Plage dalimentation : 4,5 5,5 V
Consommation typique : 15 mA
253
INTERFACES GSM
Courant maximum par sortie : 25 mA
Temprature de stockage : 40 + 80 C
Temprature dutilisation : 0 75 C
Dsignation
C1+
V+
C1-
C2+
C2-
Fonction
V-
TX2o
RX2i
RX2o
10
TX2i
11
TX1i
12
RX1o
13
RX1i
14
TX1o
15
GND
Masse
16
Vcc
Alimentation + 5 V
254
ANNEXES
Amplificateur ULN2803A
Broche
Dsignation
IN1
IN2
IN3
IN4
IN5
IN6
IN7
IN8
Fonction
Entres
GND
Masse
10
Vcc
Alimentation + 5 V
11
OUT8
12
OUT7
13
OUT6
14
OUT5
15
OUT4
16
OUT3
17
OUT2
18
OUT1
Sorties
(Courant maximum par sortie : 500 mA)
Optocoupleur MOC3041
Broche
Dsignation
Fonction
ANODE
CATHODE
NC
CHARGE
NC
CHARGE
Non connect
Charge max. 400 V/1 A *
Non connect
Charge max. 400 V/1 A *
(*)Dtection de passage au 0
255
INTERFACES GSM
Dsignation
B1
GND
CS
Fonction
Bute B du potentiomtre numrique
Masse
Entre de slection du circuit (Chip Select)
active ltat bas
SDI
CLK
Vdd
W1
A1
Optocoupleur 4N33
Broche
Dsignation
ANODE
CATHODE
NC
Fonction
Anode diode IR
Cathode diode IR
Non connect
EMETTEUR
metteur transistor
COLLECTEUR
Collecteur transistor
BASE
Base transistor
(non connect)
Dsignation
Fonction
DQ
CLK/CONV
RST
GND
Masse
THIGH
TLOW
TCOM
Vdd
Alimentation + 5 V
Entre/Sortie de donnes
Horloge/Conversion
256
ANNEXES
74HCT574
Broche
Dsignation
Fonction
CLK
Horloge
Sur un front montant appliqu sur CLK,
la valeur prsente sur les entres Dx et
recopie sur les sorties Qx
D0
D1
D2
D3
D4
D5
D6
D7
10
OE
11
GND
12
Q7
13
Q6
14
Q5
15
Q4
16
Q3
17
Q2
18
Q1
Q0
20
Vcc
Sorties logiques
Alimentation + 5 V
19
Entres logiques
257
INTERFACES GSM
74HCT541
Broche
Dsignation
Fonction
G1
D0
D1
D2
D3
D4
D5
D6
D7
10
GND
11
Q7
12
Q6
13
Q5
14
Q4
15
Q3
16
Q2
17
Q1
18
Q0
19
G2
20
Vcc
Alimentation + 5 V
Entres logiques
Masse
Sorties Logiques
24LC32
Broche
Dsignation
A0
A1
Fonction
Entres dont ltat logique dfinit ladresse
du circuit
A2
Vss
Masse
SDA
Ligne de donnes
SCL
Ligne dhorloge
WP
Vcc
Alimentation + 5 V
258
ANNEXES
ASCII
b7
b6
b5
b4
b3
b2
b1
(nul)
(dle)
(sp)
(soh)
(dc1)
(stx)
(dc2)
"
(etx)
(dc3)
(eot)
(dc4)
(enq)
(nak)
(ack)
(syn)
&
(bel)
(etb)
(bs)
(can)
(tab)
(em)
10
(lf)
(eof)
11
(vt)
(esc)
12
(np)
(fs)
<
13
(cr)
(gs)
14
(so)
(rs)
>
15
(si)
(us)
Exemples de conversion :
CRASCII = 0001101bin = 13dec = Dhex
1ASCII = 0110001bin = 49dec = 31hex
259
INTERFACES GSM
GSM
b7
b6
b5
b4
b3
b2
b1
SP
&
10
(lf)
11
12
<
13
(cr)
14
>
15
260
GLOSSAIRE
261
INTERFACES GSM
dBm : Unit de mesure exprimant un niveau rfrenc par
rapport une puissance de 1 mW.
E-GSM. : Extended GSM. Extension du systme GSM dautres
frquences que la zone de frquences standards.
ETS : European Telecommunication Standard. Nom de la norme
cre par lETSI, la norme provisoire est nomme I-ETS. Par
exemple les normes GSM 07.07 et GSM 07.05 sont des ETS.
ETSI : European Telecommunications Standard Institute. Organisme
cre par la Commission europenne et charg de la normalisation
des tlcommunications.
FCN : Frequency Chanel Number. Numro dsignant une porteuse
de faon unique dans le systme GSM.
GPRS : General Packet Radio Services. Systme de commutation de
donnes par paquets selon le protocole TCP/IP permettant
damliorer les dbits fournis par les rseaux GSM, on peut esprer un dbit de 115 kbits/s. Technologie standardise lETSI
(Institut Europen des Normes de Tlcommunication). On
trouve dsormais sur le march des tlphones utilisant le GPRS,
cest le cas du MY-X5 de Sagem. Le constructeur SIEMENS
propose le terminal MC35 qui dispose de cette fonction.
GSM : Global System for Mobile communications. Norme de tlphonie cellulaire numrique europenne dveloppe par lETSI.
Le GSM utilise une frquence de 900 MHz et atteint un taux de
transfert de 9 600 bits/s. Il existe aussi des versions drives du
GSM atteignant des frquences de 1 800 ou 1 900 MHz. Cette
norme de tlphone mobile est apparue en 1992 avec un premier
appel effectu en Finlande. Le GSM (Itinris, SFR) est la principale norme utilise en Europe avec le DCS (Bouygues Tlcom).
GSM Phase 1. : Premire phase de spcification du systme
GSM.
GSM Phase 2. : Deuxime phase de spcification du systme
GSM.
GSM Phase 2+ : Nouvelle phase de spcification du GSM, aprs
un codage plus efficace des donnes le dbit atteint 14,4 kbits/s.
IMEI : International Mobile Equipment Identity. Terme qui dsigne
le numro didentification dun mobile, et qui figure dans le corps
de lappareil ainsi que dans sa mmoire.
IMSI : International Mobile Subscriber Identity. Identit Internationale de labonn Mobile.
262
GLOSSAIRE
ITU-T : International Telecommunication Union, Telecommunication
sector.
LAC : Location Area Code. Code attribu lensemble des cellules
dune mme zone.
ME : Mobile Equipement. quipement mobile qui permet lenvoi
et la rception de donnes sur le rseau GSM.
MODEM : Modulateur-Demodulateur. Il sagit dun dispositif, ou
dun priphrique de conversion des donnes qui transitent via
une ligne tlphonique RTC ou GSM. (conversion en mission
analogique vers numrique).
OPRATEUR : Compagnie offrant des services de tlcommunications.
PDU : Protocol Data Unit. Protocole qui dfinit la constitution
numrique de la trame dun SMS.
PIN : Personal Identification Number. Numro didentification
personnel. linverse des cartes bancaires, le code PIN du mobile
peut tre modifi par lutilisateur. Un code PIN2 permet galement de limiter des droits daccs lorsque lon prte son mobile
une autre personne.
PLMN : Public Land Mobile Network. Rseau GSM gr par un
oprateur.
263
INTERFACES GSM
SMS-SUBMIT : Reprsente le protocole qui permet le transfert
dun SMS partir dun tlphone portable destination dun
SMSC.
SMSC : Short Message Service Center. Centre de service de messages courts. Tous les messages courts sont tout dabord transmis
dans le SMSC. Le message est ensuite transmis au destinataire
depuis ce centre. Le SMSC stocke temporairement les messages
lorsque le destinataire nest pas disponible. Ds que le destinataire est nouveau disponible sur le rseau (par exemple en allumant son appareil), les messages en attente lui sont transmis.
TA : Terminal Adaptator. Assure la liaison entre le ME et le TE.
TE : Terminal Equipement. Reprsente un ordinateur ou un microcontrleur disposant dun port srie permettant de piloter le ME
travers le TA.
TEXT : Permet de constituer/lire un SMS en mode texte.
TTL : Transistor Transistor Logic. Famille de circuits logiques utilisant des transistors bipolaires. Ltat logique haut est fix entre 2
et 5 V, ltat logique bas entre 0 et 0,8 V. Le courant maximum
disponible par sortie est de 20 mA.
BIBLIOGRAPHIE
ETSI - ETS NORME GSM 07.07
ETSI - ETS NORME GSM 07.05
SIEMENS - DATA SHEET TC35 TERMINAL
LEXTRONIC. COMFILE Technologie - PICBASIC Manuel de
rfrence Vol.1.A
D. REY. Interfaces PC numro 08 Potentiomtres numriques sur
port srie
P. GUEULLE. Tlphones portables et PC 3e dition, Dunod, PARIS,
2006