Téléchargement des logiciels pour
Windows et Android dédiés à la gestion du contrôleur :
Les
commandes sont extrêmement
simples à maitriser puisqu'elles reposent sur un transfert UDP de différentes chaines de caractères
ASCII prédéfinies.
Les chaînes accompagnées
du mot de passe sont envoyées au
contrôleur dès que vous pressez l'un des boutons des logiciels présentés ci-après.
Vous
trouverez la liste complète des chaines de caractères un peu plus bas sur
cette page...
La
lecture des différentes entrées
s'effectue en boucle à intervalles réguliers (configurable depuis
le logiciel sous Delphi ou Basic4Android) afin
de renvoyer au PC ou à la tablette l'ensemble des données,
à savoir : la mesure des potentiels
présents sur les 5 entrées
analogiques INA1 à INA5; la mesure des températures en degré
centigrade.
Remarques: -
La
mesure des températures est optionnelle
et vous pouvez utiliser l'interface
aussi bien avec ou sans les capteurs DS18B20. -
Inversement, vous pouvez utiliser le
contrôleur pour effectuer uniquement
des mesures de températures sur 6 zones
sans utiliser les fonctions domotiques.
Logiciel pour :
La
gestion du contrôleur s'effectue au moyen d'un
petit programme d'application écrit avec Borland
Delphi 7 nommé "Interface
Ethernet Domotique".
Consultez la page [ Indy sous Delphi 7 ] afin d'installer le composant nommé
"Indy" vous permettant sous Delphi
de modifier le code source pour l'adapter selon vos besoins.
Le logiciel "Interface
Ethernet Domotique" est compatible avec ,
Seven, Vista et XP et il n'a pas
été testé sous les OS antérieurs.

Cliquez sur l'image ci-dessus pour l'agrandir

L'ensemble code
source du programme Delphi et le
fichier exécutable
sont librement
téléchargeables ci-après. Le code source est commenté et vous n'aurez aucun mal à
le modifier selon vos critères personnels d'utilisation.
Téléchargement des fichiers sources
Borland
Delphi et du fichier exécutable : 992ko
Téléchargement du code source au format TEXTE : 58
ko
Logiciel pour :
La
gestion du contrôleur peut s'effectuer aussi au moyen d'un programme
d'application écrit sous Basic4Android nommé "Contrôleur Ethernet Domotique".
Consultez la page [ Applications Android ] pour en savoir plus sur le
compilateur Basic4Android afin d'adapter le logiciel selon vos
besoins.
Le logiciel "Contrôleur Ethernet Domotique" est compatible avec tous les
supports (Smartphone, tablette tactile, etc...) fonctionnant sous Android 2.2 ou supérieur.

Cliquez sur l'image ci-dessus pour l'agrandir
L'ensemble du code source et le fichier compilé Apk sont librement téléchargeables
ci-après. Le
code source est commenté et vous n'aurez aucun mal à le modifier selon vos critères personnels
d'utilisation.
Téléchargement
des fichiers sources Basic4Android et du fichier Apk : 628ko
Téléchargement du code source au format TEXTE : 25,2 ko
Paramètres
Ethernet par défaut après
programmation du microcontrôleur U3
:
Lorsque
vous insérez pour la première
fois le
microcontrôleur programmé
dans son support,
les paramètres réseaux par défaut
inscrits en mémoire sont les suivants :
Adresse IP : 192.168.0.9 Numéro du
PORT : 5030 Adresse MAC : B0
: FA
: AF
: 00 : 06 : 00
Vous
pouvez modifier à loisir
ces trois paramètres
si par exemple un de vos périphériques
Ethernet dispose lui aussi de la même adresse IP ou
bien encore, si vous souhaitez connecter
à votre réseau plusieurs exemplaires du
contrôleur Ethernet. En effet, n'oubliez
pas que
l'adresse IP du
contrôleur Ethernet ne
peut en aucun cas être la même
que celle de votre PC
ou de tout autre dispositif connecté
à votre réseau sous peine de conflit d'IP.
Chaque
adresse
doit être
unique
sur un réseau !
Pour
ce faire, lisez attentivement la page [
Configuration
du ENC28J60 ]
vous expliquant comment utiliser le
logiciel "Config
du ENC28J60"
permettant de modifier
les
paramètres
(IP, PORT et MAC) de votre contrôleur. Il vous permet également
de connaitre le numéro
de révision du silicium
de votre ENC28J60 afin de déterminer
exactement la valeur de la résistance
R7
(nommée
Rbias
sur la datasheet de Microchip). Téléchargez
et installer
ce
logiciel sur votre disque dur, vous
en aurez besoin dans la suite de ce
paragraphe.

Aspect
du logiciel "Config
du ENC28J60"
permettant de connaitre le
numéro de révision du
circuit et
éventuellement de modifier les caractéristiques
IP, PORT et MAC du
contrôleur Ethernet.
Votre
réseau local dit également
"domestique" :
Les
réseaux à IP fixe (non DHCP) sont recommandés
pour connecter ce type de contrôleur. Ainsi, votre PC dispose toujours
de la même adresse IP comme par
exemple : 192.168.0.5. Néanmoins
si vous utilisez un serveur DHCP afin d'attribuer dynamiquement les adresses IP sur vos PC, assurez-vous
que le contrôleur Ethernet soit dans
une zone d'IP fixe (voir mode d'emploi
de votre routeur). Si
vous souhaitez piloter votre contrôleur Ethernet via le
réseau Internet depuis n'importe où dans le monde,
assurez-vous de laisser passer les trames UDP au
niveau de votre routeur. Pour
ce faire, lisez attentivement la page [
Configuration
routeur ]
où vous trouverez un exemple
de configuration d'un routeur intégré
à un modem ADSL de type Freebox...
Lors
du lancement du logiciel de gestion
du contrôleur Ethernet ou
bien lors du lancement du logiciel "Configuration du ENC28J60",
votre pare-feu
(firewall) intégré à
Windows peut vous demander
si les trames UDP sont autorisées.
Il faudra bien entendu autoriser ces trames UDP
à transiter sur votre PC. Si vous refusez vous ne pourrez pas
communiquer avec votre interface.
Connexion
du contrôleur à votre réseau
domestique :
Connectez
votre contrôleur
Ethernet domotique à
votre réseau
domestique au
moyen d'un câble
Ethernet droit.

Ci-après
voici l'illustration d'une connexion du
contrôleur
à un modem ADSL de type
Freebox Révolution.

Configuration
réseau avec un Modem
ADSL
équipé
de plusieurs connecteurs Ethernet.
Détermination
provisoire de la résistance R7
(Rbias) associée à votre ENC28J60 :
Comme
nous l'avons vu dans les chapitres [
Configuration
ENC28J60 ] et
chapitre [
ENC28J60 ],
le ENC28J60
a
subi au
fil des années
de sa production des corrections
matérielles internes au niveau
du silicium.
L'une de ces corrections porte sur la
valeur
à attribuer à la résistance
référencée
R7 de
notre application nommée Rbias
par Microchip.

Pour
mémoire, nous rappelons que la résistance R7 est directement associée
à la stabilité de la connexion réseau de
votre interface connectée
à
votre routeur. Une mauvaise valeur peut
entrainer des déconnexions aléatoires de l'interface du
réseau.
Afin
de déterminer le numéro
de révision du silicium de
l'ENC28J60
que vous avez entre vos mains, nous
utilisons le logiciel nommé
"Config du ENC28J60". Or
ce logiciel
communique uniquement via une connexion
réseau, il nous faut donc dans
un premier temps choisir au hasard l'une des deux valeurs
possibles pour R7: soit une résistance de 2,32k à 1% ou bien une de 2,74k à 1%.
Ainsi et de façon totalement arbitraire,
soudez provisoirement sur le
circuit imprimé du contrôleur
Ethernet Domotique, une résistance R7 de
2,74k à 1%. Elle vous permet de vous
connecter au réseau durant
quelques instants même si sa valeur
était incorrecte. En revanche, si vous connaissez déjà
le numéro de révision
de votre ENC28J60, soudez la bonne valeur de R7.
Vérifications
préalables avant la mise sous
tension de votre contrôleur :
Conditions
initiales :
Assurez-vous
de ne pas avoir de court-circuit sur l'ensemble de
la platine. Vérifiez également
l'absence de microcoupures sur la partie cuivrée
du circuit imprimé. Connectez la
platine
à une source d'alimentation en +12V et
sans
placer aucun circuit intégré
sur les supports, mesurez toutes les
tensions présentes sur les
différentes broches des supports
du contrôleur. La led D4 (ON) doit s'illuminer. Assurez-vous d'obtenir les tensions
requises +5V et +3,3V en vous aidant du schéma de principe téléchargeable
au bas de la page [
Réalisation ]. Si
tous les potentiels mesurés sont
normaux, coupez l'alimentation et insérer tous les circuits
intégrés dans leurs supports
respectifs.
Mise
sous tension :
Votre
interface étant connectée
à votre réseau domestique
au
moyen d'un cordon RJ45 de type droit, appliquez une tension continue comprise entre +8V et +20V sur le bornier d'alimentation
deux plots référencé J9. Une tension de +12V est un bon compris comme ci-dessous
:

Instantanément,
la led rouge ON référencée
D4 doit s'illuminer. Deux secondes après la mise
sous tension, la led verte D1 nommée statut (Link) doit s'allumer en feu fixe si la connexion
réseau est correctement détectée.
Si elle reste éteinte votre interface
n'a pas été détectée sur
le réseau
et dans ce cas, vérifiez vos
branchements, le câble Ethernet,
le Modem et
les éléments qui lui sont
associés.
Si
tout c'est bien passé, après
l'illumination de la led verte D1, la led jaune D2 nommée activation (Act) peut s'illuminer un très court
instant
avant que D1 et D2 ne s'éteignent tous les deux
durant environ 1 seconde. C'est durant ce court laps
de temps que le microcontrôleur
récupère le numéro
de révision du silicium de
l'ENC28J60.
Passé
ce délai on recommence le cycle
de démarrage. La led verte D1 s'allume en feu fixe puis la led jaune D2 s'illumine de courts instants de façon aléatoire. Cette
led témoigne de la communication quasi-permanente de
l'interface avec le routeur auquel cas
ce dernier la considèrerait comme
déconnectée du réseau.
Bien entendu, dès qu'un utilisateur
agit à distance sur le contrôleur
Ethernet via les logiciels de gestion (téléchargeable
ci-dessus) la led D2 clignote également en
synchronisme attestant du transfert de données en UDP.

Cette
animation tente de reproduire approximativement
la séquence de démarrage
de l'interface Ethernet.
Détermination
exacte de la résistance R7 à
1% :
Si
vous connaissez le numéro de
révision de votre circuit ENC28J60,
vous pouvez sauter ce paragraphe et il vous suffit
de souder directement la bonne valeur
de la résistance R7 sur votre circuit imprimé.
Dans
le cas contraire, suivez les explications
suivantes.
Ayant
téléchargé et installé
le logiciel "Config du ENC28J60" disponible
à
la page [
Configuration
ENC28J60 ],
lancez ce dernier sur votre PC.

Cliquez
sur le bouton "Défaut'
permettant d'inscrire automatiquement
les paramètres par défaut
de connexion avec
l'interface.

Cliquez ensuite sur le bouton "Connexion
au ENC28J60" et si tout ce passe
bien, vous obtenez un message informatif
attestant de la bonne communication avec votre interface.
Ce message contient également
le
numéro de révision de
votre circuit ENC28J60 comme ci-après
:

Pour
les exemplaires dont nous disposons,
le numéro de révision de
notre ENC28J60 est 5. D'après
le tableau ci-après déjà
vu à la page [
ENC28J60 ], il suffit
de lire la valeur de la résistance
R7 correspondante au numéro
de révision. Dans notre cas, la valeur 5 correspond à la
Rev B5, donc nous souderons
une résistance de R7 = 2,32k à 1% sur le circuit imprimé
de l'interface Ethernet.
|
Rev
B1
|
Rev
B4
|
Rev
B5
|
Rev
B7
|
Valeurs
en décimal (Registre
EREVID)
|
2
|
4
|
5
|
6
|
Datasheets
Errata
|
[
Rev B1
]
|
[
Rev B4
]
|
[
Rev B5
]
|
[
Rev B7
]
|
Valeur
de Rbias (1%)
|
2,74k
|
2,74k
|
2,32k
|
2,32k
|
Quittez
le logiciel et désormais
votre interface Ethernet équipée
de la bonne valeur de R7 est totalement fonctionnelle
avec ses paramètres réseaux par défaut
inscrits en mémoire
que nous vous rappelons :
Adresse IP : 192.168.0.9 Numéro du
PORT : 5030 Adresse MAC : B0
: FA
: AF
: 00 : 05 : 00
Note
:
N'oubliez
pas de consulter la page
[ Configuration
routeur ]
si
vous souhaitez par la suite piloter
depuis n'importe où dans le monde
l'interface Ethernet multi IN - OUT n°2
via le réseau Internet.
Communication avec le
logiciel de gestion sous Windows pour le contrôleur Ethernet
:
Lancez
le logiciel nommé "Interface Ethernet Domotique"
disponible en téléchargement
au début de cette page.
Une
boite de dialogue vous demande si
vous souhaitez activer ou non la lecture en boucle (toutes les
500ms) des données présentes
sur l'ensemble des entrées de l'interface. Si
vous répondez "Non"
sachez qu'il sera possible par la suite
d'activer cette fonction depuis l'interface
du logiciel...

Après
avoir passé la boite de dialogue
précédente, si vous obtenez
la fenêtre suivante alors cela signifie
que la communication n'a pu être établie entre
votre PC et l'interface. Vérifiez
votre circuit imprimé, vos
branchements, le câble Ethernet,
le Modem et
les éléments qui lui sont
associés.

En
revanche si tout c'est bien passé,
vous obtenez une fenêtre ressemblant
à celle présentée
ci-dessous :

Cliquez sur l'image ci-dessus pour l'agrandir

Test
des différentes entrées
analogiques et des capteurs de
température :
Les
cinq entrées analogiques INA1,
INA2, INA3, INA4 et INA5 :

Un
soin tout particulier a été
apporté à ces cinq entrées analogiques.
D'une part elles sont toutes protégées contre
les inversions de polarité et
contre toute tension supérieure à +5V
grâce à deux réseaux
de diodes DP1 et DP2. De
plus, un condensateur de 100nF filtre les
éventuels parasites pour chacune
des entrées. Cela peut se produire
lors de l'emploi de connexions électriques
un peu trop longue entre l'interface
et le dispositif sur lequel on souhaite
mesurer un potentiel.
Afin
de tester ces différentes entrées
analogiques, appliquez un potentiel
compris entre 0V et +5V sur INA1, INA2, INA3, INA4 et INA5 avec l'aide d'un potentiomètre
comme sur le schéma ci-dessous
:

Dans
notre cas, nous avons utilisé 5 potentiomètres réglés
de manière différente
les uns des autres afin d'obtenir
5 potentiels différents sur
les 5 entrées de l'interface.
Nous avons obtenu sur le logiciel les
valeurs suivantes :
 Cliquez sur l'image ci-dessus pour l'agrandir
Sur
l'entrée INA1 nous obtenons une valeur décimale de 131 issue
de la conversion analogique - numérique
sur 10bits. Connaissant la valeur du
Quantum du convertisseur (Q=4.882mV)
on en déduit très facilement
la valeur de la tension appliquée sur l'entrée
INA1 qui ici de 0,640V (U en volt = Q . Valeur
décimale du CAN).
Le
principe est identique pour toutes les autres entrées
avec la mesure des tensions présentes
sur INA2 => 2,500V, INA3 => 4,771V, INA4 => 3.408V et INA5 => 1,909V dans le cadre de
nos mesures personnelles.
Les
températures en degré centigrade
:

Pour
rappel, vous n'êtes pas obligé de monter les capteurs de température
si
vous n'en avez aucune utilité. Dans
ce cas, le logiciel affiche 0°C en permanence.
Par
ailleurs, vous pouvez relier jusqu'à 6 exemplaires du
capteur DS18B20 sur l'interface, soit directement
aux emplacements T1 à T6 (comme sur la photo précédente)
ou bien à partir des 6 borniers 3 plots à vis
disposés sur la périphérie
du circuit imprimé
(voir implantation du circuit imprimé).
Lorsque
le ou les capteurs sont mis en place, le logiciel
vous affiche les températures avec
un chiffre après la virgule sur
une plage comprise entre -55°C et +125°C.

Bouton
d'activation de la mesure en continu
:

Ce
bouton situé tout au bas du logiciel,
vous permet d'activer en boucle l'acquisition des
données présentes sur
les entrées dans le cas où
vous n'avez pas sélectionné
OUI dans la boite de dialogue au
lancement du programme. Nous en avons
parlé un peu plus haut sur cette
page... En
cliquant sur ce bouton, vous activez un Timer chargé
de récupérer les données
en entrées de manière
cyclique toutes les 500ms.
Référez-vous
au code source du programme écrit sous Delphi et
Basic4Android
pour en savoir plus sur les chaînes de caractères ASCII
utilisées pour chacune des touches et aux tableaux présents ci-après où sont listés l'ensemble des différentes
commandes ASCII possibles.
Note : N'oubliez pas de consulter la page [ Configuration
routeur ] si vous souhaitez par la suite
piloter depuis n'importe
où dans le monde
le contrôleur Ethernet Domotique via le réseau Internet que ce soit depuis un PC ou bien depuis une tablette
Android.
Protocole
ASCII
permettant de lire les données
présentes sur les entrées du
contrôleur :
Le
contrôleur Ethernet dispose de nombreuses
entrées telles que :
INA1 à INA5 : 5 entrées
analogiques;
Entrées pour les 6 capteurs de température
de type DS18B20.
Afin
d'effectuer la récupération des données présentes
sur les différentes entrées,
nous devons préalablement envoyer au contrôleur une commande constituée d'une chaîne de 5 caractères ASCII bien
spécifiques qui compose le mot
"INPUT" comme dans le tableau
ci-dessous :
Commandes
ASCII
|
Action
|
INPUT
|
L'interface
retourne une nouvelle chaine
ASCII composée de
71 caractères.
|
Dès
que le mot de passe (voir un peu plus bas
sur cette page) suivi de la chaine ASCII
"INPUT" sont reçus par
l'interface, celle-ci retourne immédiatement une
autre chaine composée de 71 caractères. Ces 71 caractères sont représentatifs des
grandeurs analogiques et des 6 capteurs de température. Cette chaine de 71 caractères est retournée
au PC ou
à la tablette à
intervalles réguliers
modifiables par l'utilisateur (Timer)
directement
depuis le code source sous Delphi ou
sous Basic4Android.
A
chaque réception d'une nouvelle
chaine, le logiciel décompose cette
longue chaîne caractères par caractères afin d'en
reconstituer les valeurs numériques des différentes entrées comme
nous allons le voir ci-après.
La
chaine de 71 caractères
suivante (en rouge ci-dessous) correspond à
un exemple de chaine récupérée
par le logiciel sous Windows. Le principe du "décodage"
de la chaîne est strictement identique lorsque celle-ci
est récupérée par
le logiciel sous Android. C'est à partir de cette chaine que nous allons illustrer
la reconstitution de l'ensemble des
données présentes sur les différentes entrées
du
contrôleur Ethernet.
00936/00279/00438/00802/00650+000207+000205+000209+000203+000201+000209 Exemple
de chaîne de 71 caractères
utilisée comme exemple.
Détermination
de la grandeur analogique présente
sur l'entrée INA1 :
Afin
de déterminer la valeur de INA1 comprise entre 0 et 1024, seuls les caractères
n°1 jusqu'au caractère
n°5 nous intéressent. Ces
caractères sont en rouge sur
l'exemple comme ci-dessous :
00936/00279/00438/00802/00650+000207+000205+000209+000203+000201+000209
Pour
reconstituer la valeur de INA0, il nous suffit de convertir en valeurs entières les caractères
représentatifs transmis au sein
de la chaine de caractères.
Soit pour notre exemple nous obtenons
la valeur 936.
Afin de
déterminer la valeur de tension présente
sur cette entrée, il suffit de
multiplier cette valeur par le Quantum du convertisseur analogique
- numérique. Sachant que Q = 4,882mV nous obtenons une tension
sur INA1 de : 4,570 Volts.
Détermination
de la grandeur analogique présente
sur l'entrée INA2 :
Afin
de déterminer la valeur de INA2 comprise entre 0 et 1024, seuls les caractères
n°7 jusqu'au caractère
n°11 nous intéressent. Ces
caractères sont en rouge sur
l'exemple comme ci-dessous :
00936/00279/00438/00802/00650+000207+000205+000209+000203+000201+000209
Pour
reconstituer la valeur de INA2, il nous suffit de convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères.
Soit pour notre exemple nous obtenons
la valeur 279.
Afin de
déterminer la valeur de tension présente
sur cette entrée, il suffit de
multiplier cette valeur par le Quantum du convertisseur analogique
- numérique. Sachant que Q = 4,882mV nous obtenons une tension
sur INA2 de : 1,362 Volts.
Détermination
de la grandeur analogique présente
sur l'entrée INA3 :
Afin
de déterminer la valeur de INA3 comprise entre 0 et 1024, seuls les caractères
n°13 jusqu'au caractère
n°17 nous intéressent. Ces
caractères sont en rouge sur
l'exemple comme ci-dessous :
00936/00279/00438/00802/00650+000207+000205+000209+000203+000201+000209
Pour
reconstituer la valeur de INA3, il nous suffit de convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères.
Soit pour notre exemple nous obtenons
la valeur 438.
Afin de
déterminer la valeur de tension présente
sur cette entrée, il suffit de
multiplier cette valeur par le Quantum du convertisseur analogique
- numérique. Sachant que Q = 4,882mV nous obtenons une tension
sur INA3 de : 2,139 Volts.
Détermination
de la grandeur analogique présente
sur l'entrée INA4 :
Afin
de déterminer la valeur de INA4 comprise entre 0 et 1024, seuls les caractères
n°19 jusqu'au caractère
n°23 nous intéressent. Ces
caractères sont en rouge sur
l'exemple comme ci-dessous :
00936/00279/00438/00802/00650+000207+000205+000209+000203+000201+000209
Pour
reconstituer la valeur de INA4, il nous suffit de convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères.
Soit pour notre exemple nous obtenons
la valeur 802.
Afin de
déterminer la valeur de tension présente
sur cette entrée, il suffit de
multiplier cette valeur par le Quantum du convertisseur analogique
- numérique. Sachant que Q = 4,882mV nous obtenons une tension
sur INA4 de : 3,916 Volts.
Détermination
de la grandeur analogique présente
sur l'entrée INA5 :
Afin
de déterminer la valeur de INA5 comprise entre 0 et 1024, seuls les caractères
n°25 jusqu'au caractère
n°29 nous intéressent. Ces caractères sont en rouge sur
l'exemple comme ci-dessous :
00936/00279/00438/00802/00650+000207+000205+000209+000203+000201+000209
Pour
reconstituer la valeur de INA5, il nous suffit de convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères.
Soit pour notre exemple nous obtenons
la valeur 650.
Afin de
déterminer la valeur de tension présente
sur cette entrée, il suffit de
multiplier cette valeur par le Quantum du convertisseur analogique
- numérique. Sachant que Q = 4,882mV nous obtenons une tension
sur INA5 de : 3,174 Volts.
 Cliquez sur l'image ci-dessus pour l'agrandir
Pour
mieux visualiser les valeurs présentes
sur
INA1 à
INA5,
nous avons employé également
des bargraphs qui évoluent entre
0% (0)
et 100%
(1024).
Détermination
de la température du capteur
T1 :
En
reprenant comme support d'illustration
notre chaine de caractères précédente,
la température en degré centigrade du capteur
T1 est
stockée à partir du caractère
n°30 jusqu'au caractère
n°36 mis en rouge comme ci-dessous
:
00936/00279/00438/00802/00650+000207+000205+000209+000203+000201+000209
Le
caractère n°30
contient le signe
de la température, tel que
:
+
pour les températures supérieures à 0°C.
-
pour
les températures inférieures à 0°C.
La
valeur de la température est
précisément logée
entre le caractère n°31
jusqu'au caractère n°36.
Pour
reconstituer la valeur de la température, il nous faut dans un premier temps
convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères. Dans notre exemple nous obtenons
la valeur 207.
Le logiciel
se charge ensuite de diviser par 10 la précédente valeur
afin d'obtenir la température
réelle définitive 20,7°C avec un chiffre après la virgule.
On associe enfin
le signe '+' ou '-' selon les cas à la valeur
de la température précédemment
obtenue. Pour
notre exemple nous obtenons donc +20,7°C.
Détermination
de la température du capteur
T2 :
La température en degré centigrade du capteur T2 est
stockée à partir du caractère
n°37 jusqu'au caractère
n°43 mis en rouge comme ci-dessous
:
00936/00279/00438/00802/00650+000207+000205+000209+000203+000201+000209
Le
caractère n°37
contient le signe
de la température, tel que
:
+
pour les températures supérieures à 0°C.
-
pour
les températures inférieures à 0°C.
La
valeur de la température est
précisément logée
entre le caractère n°38
jusqu'au caractère n°43.
Pour
reconstituer la valeur de la température, il nous faut dans un premier temps
convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères. Dans notre exemple nous obtenons
la valeur 205.
Le logiciel
se charge ensuite de diviser par 10 la précédente valeur
afin d'obtenir la température
réelle définitive 20,5°C avec un chiffre après la virgule.
On associe enfin
le signe '+' ou '-' selon les cas à la valeur
de la température précédemment
obtenue. Pour
notre exemple nous obtenons donc +20,5°C.
Détermination
de la température du capteur
T3 :
La température en degré centigrade du capteur T3 est
stockée à partir du caractère
n°44 jusqu'au caractère
n°50 mis en rouge comme ci-dessous
:
00936/00279/00438/00802/00650+000207+000205+000209+000203+000201+000209
Le
caractère n°44
contient le signe
de la température, tel que
:
+
pour les températures supérieures à 0°C.
-
pour
les températures inférieures à 0°C.
La
valeur de la température est
précisément logée
entre le caractère n°45
jusqu'au caractère n°50.
Pour
reconstituer la valeur de la température, il nous faut dans un premier temps
convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères. Dans notre exemple nous obtenons
la valeur 209.
Le logiciel
se charge ensuite de diviser par 10 la précédente valeur
afin d'obtenir la température
réelle définitive 20,9°C avec un chiffre après la virgule.
On associe enfin
le signe '+' ou '-' selon les cas à la valeur
de la température précédemment
obtenue. Pour
notre exemple nous obtenons donc +20,9°C.
Détermination
de la température du capteur
T4 :
La température en degré centigrade du capteur T4 est
stockée à partir du caractère
n°51 jusqu'au caractère
n°57 mis en rouge comme ci-dessous
:
00936/00279/00438/00802/00650+000207+000205+000209+000203+000201+000209
Le
caractère n°51
contient le signe
de la température, tel que
:
+
pour les températures supérieures à 0°C.
-
pour
les températures inférieures à 0°C.
La
valeur de la température est
précisément logée
entre le caractère n°52
jusqu'au caractère n°57.
Pour
reconstituer la valeur de la température, il nous faut dans un premier temps
convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères. Dans notre exemple nous obtenons
la valeur 203.
Le logiciel
se charge ensuite de diviser par 10 la précédente valeur
afin d'obtenir la température
réelle définitive 20,3°C avec un chiffre après la virgule.
On associe enfin
le signe '+' ou '-' selon les cas à la valeur
de la température précédemment
obtenue. Pour
notre exemple nous obtenons donc +20,3°C.
Détermination
de la température du capteur
T5 :
La température en degré centigrade du capteur T5 est
stockée à partir du caractère
n°58 jusqu'au caractère
n°64 mis en rouge comme ci-dessous
:
00936/00279/00438/00802/00650+000207+000205+000209+000203+000201+000209
Le
caractère n°58
contient le signe
de la température, tel que
:
+
pour les températures supérieures à 0°C.
-
pour
les températures inférieures à 0°C.
La
valeur de la température est
précisément logée
entre le caractère n°59
jusqu'au caractère n°64.
Pour
reconstituer la valeur de la température, il nous faut dans un premier temps
convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères. Dans notre exemple nous obtenons
la valeur 201.
Le logiciel
se charge ensuite de diviser par 10 la précédente valeur
afin d'obtenir la température
réelle définitive 20,1°C avec un chiffre après la virgule.
On associe enfin
le signe '+' ou '-' selon les cas à la valeur
de la température précédemment
obtenue. Pour
notre exemple nous obtenons donc +20,1°C.
Détermination
de la température du capteur
T6 :
La température en degré centigrade du capteur T6 est
stockée à partir du caractère
n°65 jusqu'au caractère
n°71 mis en rouge comme ci-dessous
:
00936/00279/00438/00802/00650+000207+000205+000209+000203+000201+000209
Le
caractère n°65
contient le signe
de la température, tel que
:
+
pour les températures supérieures à 0°C.
-
pour
les températures inférieures à 0°C.
La
valeur de la température est
précisément logée
entre le caractère n°66
jusqu'au caractère n°71.
Pour
reconstituer la valeur de la température, il nous faut dans un premier temps
convertir en valeurs entières les caractères
représentatifs transmis au sein de la chaine de caractères. Dans notre exemple nous obtenons
la valeur 209.
Le logiciel
se charge ensuite de diviser par 10 la précédente valeur
afin d'obtenir la température
réelle définitive 20,9°C avec un chiffre après la virgule.
On associe enfin
le signe '+' ou '-' selon les cas à la valeur
de la température précédemment
obtenue. Pour
notre exemple nous obtenons donc +20,9°C.
Protocole
ASCII
permettant de piloter les différents
dispositifs domotiques :
Comme
nous l'avons vu précédemment,
le contrôleur
Ethernet permet
de piloter
différents boitiers domotiques
reliés
à lui par liaison
série
via l'embase J1.
Les dispositifs
domotiques sont au nombre de quatre
:
[
Le
contrôleur
Telis 4 Dual
]
[
Le
Contrôleur
Velux Trio ]
[ L'emetteur
HF - RS232
]
[
Récepteur
HF ]
 Cliquez sur l'image ci-dessus pour l'agrandir
Le
contrôleur Ethernet pilote les
différents
boitiers domotiques
via une liaison série à
9600
bauds
générée par le
microcontrôleur
U1et composée
de caractères
ASCII .
Ces mêmes caractères ASCII
sont quant à eux transmis
en
UDP
via la
liaison Internet. Ainsi,
on peut considérer le contrôleur
Ethernet
comme une sorte de convertisseur
Ethernet vers
une
liaison série.

Afin
de piloter
les différents dispositifs domotiques,
plusieurs
commandes composées
d'une suite de
caractères ASCII
ont été définies
préalablement comme nous l'avons
vu pour [
Le
contrôleur
Telis 4 Dual
] pour [
Le
Contrôleur
Velux Trio ]
pour
[ L'emetteur
HF - RS232
] et
pour le [
Récepteur
HF ].
Le
mot
de passe
est envoyé également lors
de chaque commande sous sa forme ASCII
afin d'être authentifié
par le contrôleur Ethernet. Il
est suivi de
l'entête de commande
toujours identique composé de
trois
caractères ASCII
"COM",
suivi lui-même par la commande
proprement dite, dont les caractères
seront envoyés ensuite par liaison
série via
l'embase J1.
Mot
de passe (MDP)
|
Entête
de commande toujours
identique
|
Exemple de commande pour le contrôle du Contrôleur
Telis 4 Dual.
|
"ABCDEFGHIJKLMNOP"
|
"COM"
|
"TEL01113$"
|
Exemple
n°1 de commande dédiée
au Contrôleur Telis 4 Dual :

Comme
nous l'avons vu lors de la présentation
du montage [
Contrôleur
Telis 4 Dual
] ce
dernier se laisse piloter par liaison
série
via une chaine prédéfinie de
caractères ASCII.
Prenons
par exemple la commande
"TEL03302$" permettant
de
fermer un volet roulant
équipé d'un récepteur
HF de type Somfy.
Nous
devons donc envoyer en UDP la suite
de caractères ASCII suivante
:
"ABCDEFGHIJKLMNOPCOMTEL03302$" tel que :
Mot
de passe (MDP)
|
Entête
de commande
|
Exemple de commande pour le contrôle du Contrôleur
Telis 4 Dual.
|
"ABCDEFGHIJKLMNOP"
|
"COM"
|
"TEL03302$"
|
La
liaison
série
disponible sur l'embase J1
du contrôleur Ethernet délivre
dans ce cas la chaine ASCII à
9600 bauds précédente
"TEL03302$". Cette
chaîne ASCII acheminée
par câble jusqu'au [
Contrôleur
Telis 4 Dual
] permet
de fermer le volet roulant
considéré.
Exemple
n°2 de commande dédiée
à l'émetteur HF-RS232
:

Comme
nous l'avons vu lors de la présentation
du montage [ Emetteur
HF - RS232
] ce
dernier se laisse piloter par liaison
série
via une chaine prédéfinie de
caractères ASCII.
Prenons
par exemple la commande
"BLY040740352161$"
permettant
d'allumer la
prise commandée n°1.
Nous
devons donc envoyer en UDP la suite
de caractères ASCII suivante
:
"ABCDEFGHIJKLMNOPCOMBLY040740352161$" tel que :
Mot
de passe (MDP)
|
Entête
de commande
|
Exemple de commande pour le contrôle du Contrôleur
Telis 4 Dual.
|
"ABCDEFGHIJKLMNOP"
|
"COM"
|
"BLY040740352161$"
|
La
liaison
série
disponible sur l'embase J1
du contrôleur Ethernet délivre
la chaine ASCII à 9600 bauds
précédente "BLY040740352161$".
Cette chaîne ASCII acheminée
par câble jusqu'à l'[ Emetteur
HF - RS232
] permet
d'allumer à distance la prise commandée n°1.
Le
principe de commande est
identique pour l'ensemble
des dispositifs domotiques
présents sur ce site. Nous vous
renvoyons au
code source
des programmes pour PC
ou
pour
tablette Android
pour de plus amples détails.
Mot
de passe permettant un contrôle
de l'interface sécurisé :
L'accès
au contrôleur Ethernet via le réseau Internet ne peut se
faire qu'à condition de disposer
du mot de passe définit préalablement
par l'utilisateur. Ce mot de passe composé
toujours de 16 caractères alphanumériques sécurise l'accès au contrôleur
et empêche toute personne non autorisée à piloter
la dite contrôleur.

Téléchargement
du logiciel permettant de modifier le
mot de passe du contrôleur :
Lorsque
vous insérez pour la première
fois le
microcontrôleur programmé
dans son support,
le mot de passe par défaut
inscrits en mémoire est le suivant :
Mot
de passe de 16 caractères par défaut
: "ABCDEFGHIJKLMNOP"
L'utilisateur
peut à loisir modifier
le
mot de passe
du contrôleur Ehernet
avec l'aide du logiciel sous spécialement
conçu dans ce but et disponible
en libre téléchargement
ci-dessous :

Téléchargement
du logiciel permettant de configurer
le "Mot de passe"
(546ko)
Utilisation
du logiciel permettant de modifier
le mot de passe de l'interface :
Conditions
initiales :
Connectez le
contrôleur à
votre
réseau domestique avec l'aide
d'un câble Ethernet relié
à votre Modem ADSL de
type Box. Par
défaut le contrôleur dispose des paramètres suivant : Adresse IP : 192.168.0.9 PORT : 5030 Adresse MAC : B0
: FA
: AF
: 00
: 06
: 00
Mot de passe : "ABCDEFGHIJKLMNOP"
Logiciel
"Mot de passe"
:
Lancez
le logiciel "Mot de passe"
comme ci-dessous :

Lors
du lancement du logiciel, votre pare-feu
(firewall) intégré à
Windows ou un autre peut vous demander
si les trames UDP sont autorisées.
Si vous refusez vous ne pourrez pas
communiquer avec votre interface.
Afin
de communiquer avec le contrôleur
Ethernet domotique, entrez les
deux
paramètres principaux avec
leurs valeurs par défaut, tels que
:
Adresse IP : 192.168.0.9 PORT : 5030
ou
plus simplement, il vous suffit de cliquer sur le bouton "Défaut"
comme ci-dessous
:

Pour
amorcer la communication, cliquez
sur le bouton "Connexion au ENC28J60"
et quelques instants après, deux
cas de figure peuvent se présenter
:
Si
la communication a échoué,
vous obtenez après un laps de
temps de deux secondes le message d'avertissement
suivant :

Dans
ce cas, vous devez vérifier
si le contrôleur Ethernet est bien sous tension,
si l'adresse IP et le PORT sont bien les valeurs par défaut. En effet, si vous
avez jadis modifié ces
deux paramètres
ou l'un des deux, la communication
ne peut pas s'effectuer avec les valeurs
par défaut, mais uniquement avec
les paramètres que vous aviez utilisés
!
Si
la communication a réussi, vous
obtenez instantanément sur l'écran le message
suivant :

La
communication est désormais établie
avec votre contrôleur
Ethernet. Cliquez sur le bouton
OK et vous constatez immédiatement
l'augmentation horizontale
de la fenêtre du logiciel
comme
ci-dessous :

Saisissez
dans le champ "Mot
de passe"
le mot de passe définit préalablement
lors d'une précédente
modification de ce dernier. Ici, puisque
nous utilisons le contrôleur
pour la première fois,
le mot de passe sera celui programmé
au sein du PIC18F452 par défaut
à savoir "ABCDEFGHIJKLMNOP"
comme ci-dessous :

Saisissez
ensuite dans le champ "Créer
un mot de passe"
votre
nouveau mot de passe
que vous souhaitez affecter à
votre contrôleur.
Le nouveau
mot de passe doit
être composé de 16
caractères obligatoirement
et
peut être de type alphanumérique
(avec majuscules et / ou minuscules).
Par
exemple :

Afin
d'éviter toute erreur
de saisie du
nouveau mot de passe, entrez le même
mot de passe dans le champ nommé
"Confirmer
votre mot de passe"
comme ci-dessous :

Maintenant
il ne reste plus qu'à programmer le nouveau mot de passe "aeRT45YTHJSDE785"au
sein du PIC1F252 de votre contrôleur Ethernet.
Pour ce faire, cliquez sur le bouton nommé "Programmer le mot de passe dans le PIC".
Une
boite de dialogue vous informe du succès
de la procédure comme ci-dessous
:

Cliquez
sur le bouton "OK"
de la boite de dialogue puis fermez le
logiciel en cliquant sur le bouton "Quitter".
Votre nouveau mot de passe est désormais
implanté au sein de la mémoire
EEPROM du
PIC18F252 de votre contrôleur
Ethernet.
Afin que le dispositif puisse prendre
en compte votre nouveau
mot de passe vous
devez couper
puis remettre sous tension votre contrôleur.
N'oubliez pas
de conserver une trace écrite
de
votre mot
de passe que
vous venez de
programmer au
sein de votre interface.
Si vous l'oubliez, la seule solution
pour le retrouver est de lire
avec un programmateur
de PIC la zone EEPROM du
microcontrôleur comme ci-dessous
:
Par
exemple pour le mot
de passe par défaut "ABCDEFGHIJKLMNOP"
nous obtenons en mémoire EEPROM.

Logiciel
Pickit2. Les
valeurs indiquées entre l'adresse
$10
et $1F sont celles
du
mot de passe par défaut
au
format Hexadécimal.
Prenez
garde à ne pas effacer par erreur de manipulation
le programme implanté dans le
microcontrôleur lorsque vous souhaitez
relire le contenu de la mémoire EEPROM du
PIC18F252.
Implantation
de votre mot de passe au sein des logiciels
de gestion du contrôleure :
Afin
de piloter
votre contrôleur Ethernet à
partir des
logiciels téléchargeables
au début de cette page, vous
devez saisir
au sein de leurs codes sources
votre mot
de passe
comme nous allons le voir ci-après.
Pour un PC
sous
avec un programme écrit sous
Delphi :
Afin
d'avoir accès à votre
contrôleur Ethernet,
vous devez saisir dans
Delphi 7 votre mot de passe
à partir de MDP.
Par
défaut
MDP="ABCDEFGHIJKLMNOP"
comme ci-dessous :

Code
source sous Delphi.
Pour un
Smartphone - Tablette sous
avec
un programme écrit sous [
Basic4Android
]
Afin
d'avoir accès à votre
contrôleur Ethernet,
vous devez saisir dans
Basic4Android votre mot de passe à
partir de MDP. Par
défaut
MDP="ABCDEFGHIJKLMNOP"
comme ci-dessous :

Code
source sous Basic4Android.
Monté
en température des principaux
composants : Après
plusieurs dizaines de minutes d'utilisation
du contrôleur Ethernet, le circuit
ENC28J60 référencé
U1 doit être à peine tiède au touché. Le microcontrôleur PIC18F252
référencé
U3 reste froid. Le régulateur
7805 monté sur un refroidisseur référencé
U4 devient moyennement chaud tandis
que le régulateur LM317
référencé U11 reste tiède.
Tout
échauffement excessif du circuit
ENC28J60 n'est pas normal. Dans ce cas,
coupez immédiatement l'alimentation
électrique et vérifiez
le circuit imprimé puis les tensions
d'alimentation en ayant retiré
de son support préalablement
le circuit.

Le
contrôleur
Ethernet refuse de répondre aux
sollicitations :
Si vous n'arrivez pas à communiquer via le logiciel "Config
du ENC28J60" avec votre contrôleur
Ethernet
depuis votre réseau local,
vérifiez
si vous avez bien la led verte D1 nommée "Statut" allumée en feu fixe et si la led jaune D2 nommée "Activité"
clignote de temps à autre
de façon aléatoire.
Si
la première constatation se vérifie,
assurez-vous d'avoir utilisé
le bon numéro de PORT et la bonne adresse IP et vérifiez également
votre pare-feu intégré à
Windows pouvant bloquer les requêtes
UDP.

De
plus, avec l'aide d'un oscilloscope et lorsqu'aucun câble RJ45 n'est connecté sur
l'embase K1 du contrôleur, assurez-vous d'obtenir en
permanence les différents signaux émis par le microcontrôleur
aux allures suivantes
sur les différentes broches du
circuit intégré
U1 (ENC28J60) comme ci-dessous :
Broche
6 (SO ou MISO) du circuit U1 (Time/Div 10µs)
:

Cliquez sur l'image ci-dessus pour l'agrandir
Broche
7 (SI ou MOSI) du circuit U1 (Time/Div 10µs)
:

Cliquez sur l'image ci-dessus pour l'agrandir
Broche
8 (SCK) du circuit U1 (Time/Div 10µs)
:

Cliquez sur l'image ci-dessus pour l'agrandir
Broche
9 (CS) du circuit U1 (Time/Div 10µs)
:

Cliquez sur l'image ci-dessus pour l'agrandir

|