Depuis quelques temps, j’avais envie d’essayer une carte qui permette de mettre en œuvre deux de mes passions, l’électronique et le développement WEB.
En faisant des recherches sur internet, j’avais trouvé quelques modèles de cartes de développement intéressantes notamment chez Olimex.
Ce fabricant m’a gentiment proposé une carte PIC-MAXI-WEB pour que je puisse la tester. Je vous présente donc un test/tutoriel de cette carte :
- 1] Présentation de la carte
- 2] Mise à jour
- 3] Chargement des pages WEB
- 4] Programmation et chargement d’une page WEB
- 5] Paramétrage de la carte
- 6] Commande de la carte via WIFI et BOX
- 7] Conclusion
- 8] Documentations / Boutique Olimex
1] Présentation de la carte :
Elle est composée de :
- Un microcontrôleur PIC18F97J60
- Une mémoire Flash 1Mbit pour la sauvegarde des pages WEB
- Un connecteur ICSP/ICD pour le débogage
- Un capteur de température
- Un potentiomètre
- Deux relais 10A/250VAC
- Quatre entrées numériques isolées par optocoupleur
- Douze entrées analogiques
- Deux boutons poussoirs
- Un afficheur LCD 16×2 avec rétro-éclairage
- Une interface RS232
- Une interface Ethernet
2] Mise à jour :
En configuration usine, la carte est programmée avec la version 5 de la pile Microchip TCP-IP (TCP-IP stack).
La première manipulation a faire est de la mettre à jour :
Il faut télécharger les fichiers nécessaires à la mise à jour (V5.42) sur le site d’Olimex.
Connectez un PICKit2/PICKit3 sur la carte puis ouvrez MPLAB, choisissez le programmateur puis le microcontrôleur :
Importez le fichier « PIC-MAXI-WEB demo Prebuilt.hex » se trouvant dans le dossier « PIC_MAXI_WEB_5_42/TCPIP » (File->Import) puis programmez la carte.
Sur l’écran LCD, la nouvelle version doit apparaître :
3] Chargement des pages WEB :
Pour que la liaison Ethernet fonctionne, il faut configurer la carte réseau comme ceci :
Dans « Adresse IP » choisissez une adresse ne se terminant pas comme celle indiquée sur l’afficheur LCD.
Connectez un câble Ethernet entre votre ordinateur et la carte, puis ouvrez un navigateur internet.
Entrez l’adresse IP affichée sur l’écran LCD suivi de « /mpfsupload » (exemple : http://1692.168.0.95/mpfsupload), une page de chargement doit s’afficher :
Si ce n’est pas le cas, il y a certainement un problème de configuration de la carte réseau. Vous pouvez tester la liaison avec une invite de commandes ping :
Sur cette image la communication est établie.
Selectionnez le fichier « WebPage MPFSImg2 Prebuilt.bin » se trouvant dans le dossier « PIC_MAXI_WEB_5_42/TCPIP » puis cliquez sur « Upload » :
Une fois le fichier chargé, un message apparaît :
Cliquez sur le lien ou entrez l’adresse IP de la carte sur la navigateur internet.
Si la procédure s’est bien déroulée une page WEB apparaît :
Des informations relatives à la carte sont affichées comme la température ou la valeur du potentiomètre.
Si vous cliquez sur les points dans le cadre en haut à droite, la carte doit réagir en allumant des LEDs, actionnant des relais ou en allumant le rétro-éclairage de l’écran :
Sur cet exemple, le rétro-éclairage est allumé et les relais sont commandés.
Vous pouvez explorer les différentes pages qui présentent les possibilités offertes par la pile TCP-IP Microchip.
En allant sur la page « Form Processing », vous pouvez également agir sur la carte et également sur le texte de l’afficheur LCD :
4] Programmation et chargement d’une page WEB personnalisée :
Comme indiqué au début de cet article, une autre de mes passions est le développement WEB, j’étais donc impatient de mettre en œuvre ma propre page WEB sur cette carte !
J’ai donc examiné les fichiers précédemment chargés. Ils sont disponibles dans le dossier « PIC_MAXI_WEB_5_42/TCPI/Demo App/WebPages2 ».
Les mises à jour des informations sont faites avec de l’AJAX et un fichier XML, c’est un système assez simple à comprendre.
Je me suis donc amusé à faire un thermomètre graphique qui se met à jour automatiquement :
Je mets à disposition les fichiers WEB et le fichier BIN de mon exemple car il est plus simple à comprendre que l’exemple fourni par Olimex.
Pour pouvoir convertir les fichiers WEB en fichier BIN, il faut utiliser un utilitaire fourni avec les fichiers exemples et de mise à jour.
Il s’agit du programme JAVA « Microchip MPFS Generator » (MPFS2.jar) se trouvant dans le dossier « PIC_MAXI_WEB_5_42/Microchip/TCPIP Stack/Utilities » :
Son fonctionnement est assez simple, il faut choisir le répertoire où se trouvent les fichiers à convertir et l’emplacement ou le fichier BIN doit être créé.
5] Paramétrage de la carte :
Il peux être utile de pouvoir configurer la connexion Ethernet la carte, c’est possible de le faire via la liaison série RS232.
Sur cette carte, c’est une liaison RS232 sur connecteur SUB-D9, ce qui devient compliqué à trouver sur les ordinateurs récents. Il est peut-être possible d’utiliser un module de conversion USB FTDI (à tester).
Connectez un câble de liaison série entre votre ordinateur et la carte puis ouvrez HyperTerminal ou un autre programme de console terminal (pour moi c’est TeraTerm).
Configurez le port COM comme ceci :
Quand la carte est sous tension, appuyez sur le bouton reset (RST), un message doit apparaître sur le terminal :
Pour accéder au menu de configuration, appuyez sur le bouton n°1 (BUT1) pendant quelques secondes puis appuyez sur le bouton reset (RST) en même temps.
Le menu suivant doit apparaître :
Il sera peut-être nécessaire de modifier les autres paramètres selon l’utilisation de la carte.
Pour modifier l’adresse IP de la carte, choisissez le menu n°3 et entrez la nouvelle adresse. Il est préférable de cocher l’option « Echo local » sur la console terminal (Menu Setup/Terminal avec TeraTerm) pour pouvoir visualiser les manipulations au clavier.
Une fois les paramètres modifiés, choisissez le menu n°0 pour les sauvegarder :
La nouvelle adresse IP apparaît sur l’afficheur LCD.
6] Commande de la carte via WIFI et BOX :
En essayant cette carte, je me suis dit qu’il serait sympa de pouvoir commander la carte par WIFI, même si elle n’a pas d’électronique pour le faire.
Je me suis donc lancé, tête baissée, sans savoir si c’était possible de le faire avec ma BOX SFR. Et bien c’est tout à fait possible en configurant la carte correctement.
J’ai configuré la carte comme ceci :
Il faut faire attention au paramétrage du DHCP qui doit être activé pour permettre un changement d’adresse IP dynamiquement.
J’ai connecté ma BOX sur le port LAN2 et j’ai vérifié sur la page interface de la BOX que ma carte était bien reconnue :
L’adresse IP de la carte a été modifiée automatiquement dès le branchement du câble Ethernet.
J’ai ensuite entré la nouvelle adresse IP de la carte sur le navigateur de ma tablette et ai testé le fonctionnement :
Modification de l’état d’un relais et du rétro-éclairage.
Modification du texte sur l’afficheur LCD.
7] Conclusion :
J’ai eu un peu de mal au début pour faire fonctionner cette carte mais avec les bonnes documentations, j’ai fini par réussir.
N’ayant pas trouvé beaucoup de tutoriels sur l’utilisation de cette carte, j’ai décidé de faire cet article qui me paraît assez complet pour la mise en fonction de la carte.
La prochaine étape sera de mettre en route un serveur WEB pour pouvoir utiliser la carte à distance via internet, c’est le principe de base de la domotique.
8] Documentations / Boutique Olimex :
Vous pouvez retrouver les produits Olimex sur leur boutique eBay.
9 réponses à Essai : PIC-MAXI-WEB Olimex