Un contrôle à distance GSM avec Siemens A65

Système de contrôle à distance capable de gérer, par SMS, deux sorties à relais et de vérifier l’état logique des entrées numériques, lesquelles peuvent être configurées comme entrées d’alarme. Les trois lignes I2C-bus dont est doté l’appareil lui permettent de gérer en cascade jusqu’à huit extensions en entrée et en sortie et ce jusqu’à un total de 64 E / S.


Caractéristiques techniques
- Commande à distance par SMS
- Entrées d’alarme photo-isolées : 2
- Envoi de SMS en cas d’alarme
- Sorties de puissance à relais
  (avec fonctionnement bistable) : 2
- Lignes d’extension I2C-bus : 3 (possibilité de gérer jusqu’à 64+64 E / S)
- Complètement programmable et gérable à distance par SMS
- Téléphone mobile utilisé : Siemens A65
- Alimentation : 12 VDC
- Consommation avec batterie en charge : environ 500 mA (au repos 20 mA).

Les téléphones portables SIEMENS série 35/45, jadis utilisés par nous pour construire des dispositifs de commande à distance GSM étant devenus difficiles à trouver (même en occasion), nous nous sommes “rabattus” sur un modèle plus récent, le téléphone mobile (terme désormais consacré) SIEMENS A65. Notre choix est présidé par sa disponibilité (bien sûr !) et son coût raisonnable (neuf ou occasion), mais aussi parce qu’il intègre un modem facilement accessible de l’extérieur.
Notre montage restitue toutes les potentialités acquises avec les précédents aujourd’hui obsolètes, ses caractéristiques sont identiques : possibilité d’être avertis à distance, où que nous soyons, de la survenue d’une intrusion, pour peu que nous couplions l’appareil à une installation antivol (de voiture ou domestique) ; possibilité d’activer à distance, en envoyant des SMS, un grand nombre de sorties à relais (avec les extensions jusqu’à 64) ; possibilité de contrôler autant d’entrées numériques (parmi lesquelles deux peuvent être configurées comme entrées d’alarme), avec réception chaque fois d’un SMS de confirmation de l’aboutissement de l’opération.
Le circuit est doté de lignes I2C-bus permettant de le rendre facilement extensible : on peut, en effet, relier en cascade 8 extensions avec 8 sorties (EN488) et 8 extensions avec 8 entrées numériques (EN473). Le présent appareil (EN585) intègre en un seul circuit une alarme à distance et un contrôle ou commande à distance, ce qui sera fort utile toutes les fois où il s’agira d’être averti à distance de l’état d’une alarme antivol (voiture, bureau, entrepôt ou maison) ou bien de savoir si des appareils distants (voire difficiles d’accès) fonctionnent correctement.
On pourra aussi installer la platine (avec ou sans extensions) dans un appareil existant, afin de s’en assurer le contrôle (surveiller son bon fonctionnement et lui envoyer des commandes avec, rappelons-le, réception des confirmations).
La version standard de notre contrôle à distance (soit sans extension) prévoit deux entrées de commande, photocouplées, configurables comme alarmes, dont l’activation peut se faire par impulsions positives ou négatives provenant de contacts ou de relais. A ces deux entrées (IN1 et IN2) peuvent être associés deux messages, distincts et personnalisables (par exemple «alarme intrusion» et «chaudière en panne») envoyés par SMS, en cas d’alarme, à un maximum de 9 destinataires, avec une précision : seul le dernier message concerne l’entrée IN2. Ce qui veut dire que si nous voulons envoyer le message d’alarme concernant l’entrée IN1 à notre numéro de téléphone, à celui de notre épouse et pour finir à celui de notre fils, il faudra mémoriser trois messages associés à ces trois numéros de téléphone plus un quatrième SMS, référé à IN2 et adressé, par exemple, à notre propre numéro (si un seul message a été prévu, il sera utilisé pour les deux entrées).
Tous les modes de fonctionnement (temps d’inhibition des entrées, désactivation de la fonction d’alarme, gestion des sorties , etc.) peuvent être modifiés à distance par envoi de SMS spécifiques de configuration.
Afin de garantir un haut niveau de sécurité d’utilisation, un mot de passe à 5 chiffres protège l’appareil (par défaut 12345, il est modifiable à tout moment) : les SMS arrivant au dispositif sans comporter de mot de passe ou avec mot de passe erroné, sont ignorés et immédiatement éliminés. A chaque demande de paramétrage ou de contrôle, l’appareil répond toujours par un message de confirmation au numéro ayant envoyé le SMS.

Le schéma électrique
Le coeur du circuit, dont le schéma électrique est visible en figure 1, est le microcontrôleur U1, un PIC16F876A déjà programmé en usine. Le micro se charge de lire les deux entrées photo-isolées IN1 et IN2 à travers le port RB3/RB4, il gère également l’excitation et la relaxation des relais RL1 et RL2, il envoie et lit, grâce à une ligne I2C-bus dédiée, les données contenues dans le mémoire EEPROM externe de 256 kbits. Le PIC, se servant d’une ligne série bidirectionnelle, communique avec le téléphone mobile à 19 200 bauds pour envoyer les commandes AT nécessaires à l’exécution des diverses fonctions, pour acquérir les informations arrivant par SMS et pour contrôler l’état de charge de la batterie du mobile. Le microcontrôleur gère encore les périphériques E / S par I2C-bus (correspondant au connecteur RJ45) et s’occupe en outre de lire l’état des micro-interrupteurs de DS1, des poussoirs P1 à P3 et de commander la LED bicolore LD1.
Analysons en détail le circuit en partant de l’alimentation. La tension appliquée en PWR est de 12 VDC (après le fusible et la diode de protection elle est légèrement inférieure à cette valeur).
Elle alimente en direct les relais et les (éventuelles) platines d’extension. U3 réduit le 12 V en 5 V stabilisé, ce qui est nécessaire pour faire fonctionner le microcontrôleur, l’EEPROM et l’étage convertisseur de niveau formé par T1 et T2. Le circuit allant avec U4 LM317, est un véritable chargeur de batterie (grâce à la configuration obtenue avec R1/R2 et R3) qui s’occupe de maintenir celle du Siemens en état de charge optimale (la recharge commence lorsque la ligne RA4 excite RL3). Le microcontrôleur, avec des commandes AT adéquates, interroge à intervalles réguliers le téléphone à propos de l’état de charge de sa batterie et, quand le niveau est inférieur à 40%, il active le port RA4 (type drain ouvert) et le met à la masse pendant environ 4 heures. Le relais étant excité et sous l’effet de la charge de la batterie, la tension aux extrémités de C6 passe de 9 à 4,5 V environ. La charge proprement dite de la batterie au Li-ion est gérée par le A65.
La communication entre celui-ci et le PIC est de type sérielle : elle utilise deux ports configurés pour cela. Mais le microcontrôleur travaille sous une tension de 5 V, incompatible avec celui utilisé par le téléphone (qui est au maximum de 3,6 V). Pour pallier cet inconvénient, on monte un convertisseur de niveau composé de DZ1 et T1-T2. La configuration correcte du port série du mobile est assurée par R11 et R12 qui mettent à la masse les broches CTS et DCD. On l’a dit, l’appareil comporte trois lignes I2C-bus utilisées pour contrôler les platines d’extension E / S et pour d’éventuelles utilisations futures : aux broches 7 et 8 du connecteur RJ45 correspond la première ligne utilisée par les extensions avec sorties à relais, les platines avec entrées numériques utilisant la deuxième ligne reliée aux broches 3 et 4 ; la dernière (non utilisée ici) est reliée aux broches 1 et 2. A chacune des deux premières lignes on peut connecter jusqu’à 8 extensions, soit 64+64 E / S, ce qui permet d’utiliser notre appareil pour toute application nécessitant un grand nombre de contrôles et de commandes. Mais pour une utilisation plus modeste, les deux relais RL1 et RL2 de la platine de base peuvent suffire ; les sorties à relais fonctionnent en mode bistable et peuvent être activés aussi localement avec les poussoirs P1 et P2. Les LED LD2/LD3, en parallèle sur les relais, signalent quand les sorties sont actives.
L’appareil comporte également deux entrées IN1 et IN2, isolées galvaniquement et dotées chacune d’une résistance de limitation de 4,7 k (avec cette valeur on peut activer les photocoupleurs sous des tensions continues comprises entre 5 et 24 V). IN1 et IN2 peuvent être configurées comme entrées d’alarme (voir tableau figure 5) avec niveau d’activation haut et bas selon l’état des micro-interrupteurs de DS1. LD1 (bicolore) signale l’état du contrôle à distance : la section rouge est gérée par RC4, la verte par RC5.
A la mise sous tension du circuit, LD1 émet cinq clignotements verts puis passe en vert fixe pour indiquer un fonctionnement correct ; l’absence de liaison au mobile Siemens est signalée par un clignotement rouge.
Nous avons monté dans cet appareil une EEPROM contrôlée par le micro : mais aucune donnée n’y est inscrite et elle pourrait ne pas être montée (bien sûr, cette mémoire a été prévue pour des applications futures que nous ne manquerons pas de vous soumettre).

Figure 1 : Schéma électrique du contrôle à distance par GSM.

Figure 2a : Schéma d’implantation des composants du contrôle à distance par GSM.

Figure 2b : Dessin, à l’échelle 1, du circuit imprimé du contrôle à distance par GSM.

Figure 3a : Photos d’un des prototypes du contrôle à distance par GSM, côté composants.

Figure 3b : Photos d’un des prototypes du contrôle à distance par GSM, côté soudures où sont montés les poussoirs et les LED.

Liste des composants
R1 ...... 1,8 k
R2 ...... 270
R3 ...... 4,7
R4 ...... 4,7 k
R5 ...... 4,7 k
R6 ...... 10 k
R7 ...... 4,7 k
R8 ...... 10 k
R9 ...... 10 k
R10 ..... 680
R11 ..... 15 k
R12 ..... 15 k
R13 ..... 470
R14 ..... 470
R15 ..... 4,7 k
R16 ..... 4,7 k
R17 ..... 4,7 k
R18 ..... 10 k
R19 ..... 4,7 k
R20 ..... 10 k
R21 ..... 4,7 k
R22 ..... 4,7 k
R23 ..... 1 k
R24 ..... 1 k
R25 ..... 4,7 k
C1 ...... 100 nF multicouche
C2 .......470 μF 25 V électrolytique
C3 ...... 100 nF multicouche
C4 .......470 μF 25 V électrolytique
C5 ...... 100 nF multicouche
C6 .......470 μF 16 V électrolytique
C7 ...... 22 pF céramique
C8 ...... 22 pF céramique
D1 ...... 1N4007
D2 ...... 1N4007
D3 ...... 1N4007
D4 ...... 1N4007
DZ1 ..... zener 3,3 V 400 mW
T1 ...... BC547
T2 ...... BC557
T3 ...... BC547
T4 ...... BC547
U1 ...... PIC16F876A-EF585
U2 ...... 24LC256
U3 ...... 7805
U4 ...... LM317
FC1 ..... 4N25
FC2 ..... 4N25
Q1 ...... quartz 4 MHz
P1 ...... μ-poussoir
P2 ...... μ-poussoir
P3 ...... μ-poussoir
DS1 ..... dip-switch à 2 micro-interrupteurs
LD1 ..... LED bicolore
LD2 ..... LED 3 mm rouge
LD3 ..... LED 3 mm rouge
RL1 ..... relais 12 V 10 A
RL2 ..... relais 12 V 10 A
RL3 ..... relais miniature 12 V
FUS1 .... fusible 1 A

Divers :
5 borniers enfichables 2 pôles 90°
1 dissipateur ML26
1 boulon 3MA 8 mm
2 supports 2 x 3
1 support 2 x 4
1 support 2 x 14
2 connecteurs à cavaliers 3 broches
1 connecteur RJ45
1 câble de liaison pour Siemens 65
1 porte-fusible pour ci
Sauf spécification contraire, toutes les résistances sont des 1/4 W à 5 %.


Les commandes
Pour apprendre à les utiliser, regardez le tableau récapitulatif ci-après de la figure 5. Les commandes envoyées à l’appareil par SMS permettent d’activer des fonctions ou de changer les paramètres opérationnels.
Par exemple, pour activer le relais RL1 il suffit d’envoyer un SMS contenant la commande RELEB1ON*12345 où les cinq derniers chiffres représentent le mot de passe numérique choisi à volonté (LD1 confirme cette étape par une lumière jaune fixe) ; inversement, pour relaxer RL1 il faut envoyer la commande RELEB1OFF*12345.
Quand la commande est exécutée, l’appareil vous envoie un message de confirmation. De même, avec la commande RELEenOFF*12345, on peut relaxer un relais précis (n) d’une extension (e) ; pour paramétrer l’adresse des extensions, il est nécessaire d’utiliser les trois connecteurs à cavaliers situés sur chaque platine, comme le montre la figure 4.
Si l’on veut habiliter IN1 comme entrée d’alarme et lui attribuer un délai d’inhibition, il faut utiliser la commande ALLARMEnONtt*12345 en remplaçant n par le nombre 1 et tt par un temps (en minute) déterminant l’inhibition de l’appareil suite à une alarme ; rappelons qu’il faut établir, au moyen des micro-interrupteurs du dip-switch, pour quel niveau de signal (haut ou bas) l’appareil reconnaît l’état d’alarme. Quand le micro détecte, sur l’entrée IN1 (ou IN2) un signal d’alarme, le système envoie aux différents destinataires les messages sauvegardés dans la mémoire du téléphone ; cette étape est soulignée par la lumière rouge fixe de LD1. Nous nous occuperons un peu plus loin de la mémorisation des messages et des numéros de téléphone. Les SMS reçus par l’appareil, après extraction de la commande et vérification des données, sont effacés afin d’éviter de remplir la mémoire du téléphone. Figure 5, notons que le mot de passe par défaut (12345) peut être facilement remplacé par un mot de passe personnel au moyen d’une commande spécifique ; si on oublie le mot de passe, on peut réinitialiser le mot de passe par défaut par une action locale (pression et maintien de la pression sur P3 pendant la mise sous tension de l’appareil).

Figure 4 : Les extensions à utiliser.



Afin d’augmenter le nombre des entrées et des sorties, il est possible de coupler ce circuit avec les extensions ET488 (8 entrées pour chaque platine) et ET473 (8 sorties à relais pour chaque platine). Au contrôle à distance par GSM ET585 on peut relier huit platines d’entrées et huit platines de sorties pour un ensemble de 64+64 E / S. Chaque extension doit avoir sa propre adresse paramétrée au moyen de trois cavaliers J1 à J3 (voir photos et tableau).

Figure 5 : Les commandes et les réponses.



Le tableau récapitule toutes les commandes que l’on peut envoyer au dispositif, par SMS, pour activer, désactiver et interroger à distance les sorties disponibles sur l’appareil ou sur une des extensions de sortie, ainsi que pour interroger les deux entrées numériques ou une des extensions d’entrée. On a prévu aussi la possibilité de paramétrer IN1 et IN2 comme entrées d’alarme, avec un temps d’inhibition (réglable de 0 à 99 minutes) pendant lequel l’appareil, suite à une alarme, ignore tout autre signal présent sur les entrées. Il est également possible de modifier le mot de passe d’accès (par défaut 12345).

Figure 6 : Photo d’un des prototypes de l’appareil de contrôle à distance par GSM couplé au téléphone mobile SIEMENS A65 au moyen du câble spécifique (ce téléphone se trouve facilement à bas prix).

Figure 7 : Le brochage du connecteur du câble pour téléphone mobile Siemens A65.



Le repère (broche 1) est indiqué sur le dessin du connecteur. Référez-vous au tableau pour effectuer les liaisons du connecteur Siemens A65 avec les pistes du circuit imprimé identifiées par GND, TX, RX, VB, CTS et DCD.

Le programme résident
Vous trouverez le “listing” d’une partie du programme résidant dans le PIC, ainsi que les commentaires, figure 8.
Analysons cette partie dédiée à la procédure utilisée pour lire les SMS et en extraire les données.
On le voit, tout commence par la routine “SMS” au moyen de laquelle le microcontrôleur vérifie si de nouveaux messages sont arrivés (envoi au mobile de la commande AT+CMGL =0) ; s’il n’y en a pas, le programme saute au label NOMSG puis retourne au programme principal ; dans le cas contraire (nouveau SMS), le téléphone mobile communique au micro l’adresse de mémoire et le texte du message au format PDU (“Protocol Data Unit”).
La séquence reçue par le microcontrôleur contient non seulement une série d’informations qui ne sont pas utilisées par notre montage, mais également le numéro de téléphone de l’appelant, qui sera mémorisé dans le tableau NUMERO, numéro auquel sera ensuite envoyée la réponse. Le corps du message est mémorisé dans la variable BUFFER au format hexadécimal, comme indiqué dans l’instruction HSERIN 500,FINEMESG,[HEX2 TMP2] : de ce fait, avant d’être analysé, le texte doit être converti pour pouvoir être compris ; c’est à cela que s’attelle le programme résident au moyen de la routine PDUTOTEXT à la suite de laquelle le texte obtenu est sauvegardé dans le tableau BUFFER2.
Ensuite le PIC16F876 efface, dans la mémoire du téléphone, le message reçu (au moyen de la commande AT+CMGD=pos1,pos2 où pos1 et pos2 indiquent l’adresse de mémoire occupée par ce message. Après cette procédure, le programme analyse le mot de passe reçu (au moyen de la routine ANALIZZASMS), mais pour ce faire il doit d’abord identifier à l’intérieur du message le symbole * (astérisque), lequel indique où se trouve le mot de passe, pour ensuite appeler la routine PASS. Là s’opère la comparaison entre le mot de passe mémorisé et celui reçu : s’ils concordent, le programme passe à la subroutine COMANDI, dans laquelle il analyse le reste du message en vérifiant la syntaxe et en élaborant la réponse envoyée à l’usager ; dans le cas contraire, il passe à l’étiquette EXITPASS et achève ainsi le cycle de lecture du message.

Figure 8 : Programme de lecture des SMS (sous format d'image).

La réalisation pratique et l’utilisation
Pour la réalisation de cet ensemble, procurez-vous d’abord un téléphone mobile Siemens A65 et son câble d’extension. Fabriquez le circuit imprimé simple face en vous aidant du dessin à l’échelle 1 de la figure 2b (le procédé préconisé dans le numéro 26 d’ELM est vraiment le plus efficace et le plus simple quand on travaille à l’unité) ou procurez-vous-le.
Quand vous l’avez devant vous, montez et soudez tous les composants (comme le montrent les figures 2a et 3a), en commençant par les supports de circuits intégrés et photocoupleurs et en terminant par les “périphériques” : les borniers enfichables, la RJ45 (elle sert à relier les éventuelles extensions), le porte-fusible, le dipswitch et les relais ; le connecteur vers le câble du téléphone mobile A65 est à souder dans les trous TX - RX - GND - CTS - DCD - VB. Le régulateur U4 est monté couché dans son dissipateur ML26 et fixé par un petit boulon 3MA.
Attention à l’orientation des composants polarisés : circuits intégrés et photocoupleurs, diodes, zener, transistors et électrolytiques. Tout cela côté composants.
Ensuite, retournez la platine et, côté soudures (en vous aidant des figures 2a et 3b) soudez les LED (bicolore et rouges : attention à la polarité) et les micropoussoirs.
Montez la platine dans un boîtier adapté, comme le montre la photo de première page, en laissant sortir à l’extérieur les borniers enfichables (dont celui d’alimentation PWR), la RJ45, les poussoirs, les LED et le câble de liaison allant au Siemens A65. Avant de refermer le couvercle, insérez le microcontrôleur, les circuits intégrés et les photocoupleurs dans leurs supports, sans vous tromper de sens.
Avant de pouvoir utiliser le A65, vous devez le configurer : pour cela, insérez une carte SIM valide et déshabilitez la demande de code PIN. Puis effacez tous les messages présents dans le téléphone mobile (les entrants comme les envoyés et les non envoyés). Une fois vérifié que tous les paramètres d’envoi de SMS sont correctement entrés, vous pouvez mémoriser les messages à envoyer en cas d’alarme.
Il est possible d’insérer au maximum 9 messages. Le dernier, sans tenir compte du nombre de messages mémorisés, est toujours associé à l’entrée 2 (tous les autres à l’entrée 1).
Chaque message pourra être personnalisé à volonté et envoyé à n’importe quel numéro de téléphone mobile.
Pour mémoriser un message, après avoir tapé le texte, pressez Options, choisissez Envoyer et insérez le numéro de téléphone auquel doit être envoyé le message, puis sélectionnez OK. Le message est ainsi localisé sous l’onglet Envoyés en position 1. Pour mémoriser les messages suivants, il suffit de répéter cette opération. Si vous devez éliminer un message, il faut vider la mémoire et recommencer la procédure de mémorisation depuis le début.
Vous pourrez ensuite intégrer le système aux appareils à contrôler et ce dans la voiture comme à l’usine ou à la maison. Et n’oubliez pas, le cas échéant, de mettre à profit les larges possibilités d’extension des E / S autorisées par les platines ET488 et ET473.
Commentaires



Font Size
+
16
-
lines height
+
2
-