Carte d'Acquisition Web

De wiki
Aller à : navigation, rechercher

Cet article décrit la réalisation d'une carte d'acquisition de mesures et de données. Les contraintes sont les suivantes :

  • enregistrement des données dans une base de données standard
  • acquisition de mesures analogiques et digitales
  • acquisition des informations de télé-information issues d'un compteur Erdf
  • consommation électrique inférieure ou égale à 1W
  • coût faible, inférieur à 100 €
  • charge de réalisation la plus faible possible

Architecture

Un PC associé à une carte d'acquisition du commerce permettrait de remplir tout ces fonctions mais avec une consommation d'énergie trop importante.

Je me suis donc tourné vers les cartes à micro contrôleur avec port Ethernet et stack IP intégrée. L'idée est de transférer les données vers une plateforme d'hébergement web et ensuite d'utiliser la base de données (typiquement mysql) de cette dernière pour les enregistrer (à l'aide de scripts en php). Teleinfo.png

La carte SBC68EC de Modtronixsemble répondre au cahier des charges. Elle est basée sur un PIC18F6680, propose des IO digitales, des entrées analogiques, un UART, etc... Elle s'alimente en 12V et consomme 500 mW. Elle est livrée avec une pile TCP/IP et un serveur web intégré. On peut lui ajouter une carte de prototypage (réf: PT24E-ASM ) et l'intégrer dans un boitier (réf: ENC2015S ) avec une face avant (réf: PT24E) et une face arrière (ENC2015S NET). Il suffit d'ajouter une alim 12V pour avoir un ensemble complet dans un boitier soigné pour moins de 100 €. A l'heure de l'écriture de cet article elle est disponible aux USA (il faudra payer la TVA lors de la livraison) ou en Allemagne. Enfin le soft se charge simplement à l'aide d'un PC et du logiciel Modtronix Network Bootloader Applicationpar le biais de la liaison Ethernet, sans outillage ni câble supplémentaire.

Réalisation

Prérequis

Avant de commencer il est indispensable de lire la documentation disponible de la carte SB68EC sur le site de Modtronix.

Après avoir lu la documentation, il est aussi conseillé de s'entrainer à utiliser le serveur web intégré et à recharger le logiciel fourni par modtronix à l'aide de l'application netloader.

Electronique

La réalisation de la partie électronique est assez simple. Pour cette version nous avons juste besoin de disposer d'une alimentation sur les point 1 (0V) et 2 (5V), de deux entrées analogiques sur les points 3 (AN0) et 4 (AN1) : il suffit pour cela de souder 4 straps sur la carte de prototypage.

Pour cette version nous avons aussi besoin d'une entrée destinée à la télé-information Erdf sur les points 23 et 24 du connecteur 24 broches de la carte PT24E-ASM. Il est nécessaire de réaliser une interface qui permet de démoduler les signaux issus du compteur EdF avant de les injecter dans l'UART du microcontroleur. Pour cela on utilise une version très légèrement modifié de l'interface décrite sur l'excellent site MacodaWiki.

Les deux modifications sont la suppression de la résistance d'alimentation de l'optocoupleur (inutile selon moi et la datasheet) ainsi que l'ajout d'une capacité de découplage sur la porte nand (a permis dans mon cas d'avoir un signal beaucoup plus propre en sortie). SchemaTeleinfo.png

Le signal de sortie est noté SIG0 car c'est sous ce nom que l'on trouve l'entrée de l'UART sur la carte de prototypage PT24E-ASM. Pour ne pouvoir éventuellement réutiliser la carte de prototypage, j'ai réalisé l'interface sur une plaque de veroboard indépendante. On obtient alors l'ensemble ci-dessous. CarteTeleInfo1.jpg

La réalisation de la partie électronique est terminée.

Chargement du Logiciel

Le logiciel est une version modifiée (nommée WebSampling) du logiciel SBC68EC Web Server. La version 1.0 de WebSampling est basée sur la version 3.06 de SBC68EC Web Server. L'archive du logiciel, contenant les sources, le fichier de description de projet permettant la compilation avec l'IDE microchip MPLAB est disponible ici.

Pour le charger dans la carte SB68EC, le mieux est de s'être entrainé auparavant avec la version v3.06 du logiciel Modtronix (Rappel, lors du chargement du logiciel, le DHCP n'est pas utilisable. Il faut donc au préalable avoir rentrer en dur l'IP, le masque et la gateway dans la page Configuration/Network Setting). Il suffit ensuite, toujours avec le logiciel Modtronix Netloader de charger le fichier WebSampling_68_mc_h221.hex, en ayant pris soin de cocher la case "Update EEPROM Configuration Data". Cela a pour effet collatéral de réinitialiser les paramètres réseau aux valeurs par défaut. Il faudra donc les personnaliser de nouveau. Vous pouvez ensuite (toujours avec Netloader) charger les PagesWeb dans la carte à partir du répertoire default de l'archive de WebSampling.

Netloader.png

Votre carte est maintenant fonctionnelle. Si elle est correctement connectée à votre compteur EDF, vous pouvez visualiser la dernière trame TeleInfo échantillonnée en cliquant sur le lien Last Teleinfo Frame du menu de la page web principale. Cette trame est mise à jour toute les minutes.

LastTeleinfoFrame.png

Envoi des Données sur le Web

A des fin de démonstration les données sont envoyées vers le site web www.dom-ip.com. Seule la dernière trame de données reçue est conservée. Vous pouvez consulter ces informations en cliquant ici.

Vous pouvez surtout transférer les données sur votre site web personnel et les enregistrer comme vous le souhaitez. Un exemple de script php de réception se trouve dans le fichier WebServer/upload.php de l'archive WebSampling. Vous pouvez ensuite diriger l'envoi des données à l'aide de la page Configuration/WebSampling Settings. Attention, le script upload.php doit être à la racine de votre siteweb (le caractère / n'est pas géré (pour l'instant dans le path)). L'IP n'a pas besoin d'être définie si votre serveur DHCP fourni un serveur DNS correct. Attention : il faut rebooter la carte lorsque que vous modifier le servername pour que la résolution d'IP soit rafraichie.

WebSamplingSettings.png

En cliquant sur le lien d'accès à la requête http envoyée, on obtient le résultat suivant :

WebSamplingHttpRequest.png

Exploitation des Données

Vous pouvez ensuite exploiter les données comme bon vous semble. On trouve d'excellent scripts de présentation des données sur le web, et en particulier sur vesta.homelinux.free.fr