Serveur Ethernet/ enregistrement SD pourTeleinfo et conso eau

Nouvelle version du projet en cours d’essai avec nouvelle structure basé sur:
1 Arduino Due + Shield Ethernet + Micro SD et une horloge RTC DS3231 avec son Eeprom AT24C32 (également compatible avec Arduino Mega 2560 et RTC DS1307+AT24C32 )

Les pages Web seront stocké sur carte SD, la page index s’adaptera à la configuration de votre installation que vous aurez préalablement réglé dans le sketch avant sa compilation via 2 variables:

#define Precence_Compteur_Eau
#define Precence_Compteur_Production

EDF seul:

EDF+Eau:

EDF+Production:

EDF+Production+Eau:

Concernant la téléinfo consommation du compteur EDF, ici dans le sketch ainsi que la page index elle est établie pour un abonnement Tarifaire Heures Creuses; Le passage en BASE ou TEMPO est néanmoins réalisable.

La page index de mon installation: (ici 1compteur EDF HP/HC +Compteur eau)

L’enregistrement sur carte SD se fait toute les minutes dans différents fichiers .csv aux formats suivants:

Pour l’électricité : Date heure, index HP index HC , intensité et puissance instantanée.
Exemple: 17/01/2016,09:51,53042868,44240620,18,4110

Pour l’eau : Date heure, index
Exemple: 17/01/2016,09:51,572.34

(j’ai repris le même principe utilisé pour le Shield Téléinfo vendu sur le site cartelectronic.fr, comme cela on peut lire les fichiers csv avec leur logiciel “Consult Téléinfo” qui est plutôt bien foutu )

Le logiciel Consult Téléinfo:

Le rapatriement des fichiers .csv ce fait via une page web, donc pas besoin de retirer la carte sd…
La page pour la sélection du fichier csv:

Le contenu du fichier csv:

Pour le suivi rapide au quotidien des consommations, j’utilise l’EEPROM AT24C32 (soit 4Ko) du module RTC.

Les pages de cette EEPROM ont une taille de 32 octets ,

L’enregistrement sur page (de 32 octets) EEPROM est sur le format suivant:
4 octets Date/HeureCode
4 octets Index ConsoHP
4 octets index ConsoHP
4 octets Index Compteur Eau
4 octets Index Production Photovoltaïque
12 octets Réservation futur (exemple: compteur gaz , température intérieur , température extérieur …)

Cela donne la possibilité de faire 128 enregistrements.
o si on fait toutes les 10 minutes, 1280 minutes soit environ 21H (comme je l’ai déjà réalise)

Courbe conso EDF: (1 releve tous les 10min)

L’adresse 0x00 de l’Eeprom sert de référence pour la consommation journalière, elle est actualisé chaque jour à 0H00.

L’enregistrement sur L’EEPROM se fait en boucle; c’est grâce au “Date/HeureCode” que l’on sait où démarre les courbes, de même si il y a panne de courant, on reprend pas à l’adresse 0x32 , mais le programme va rechercher la “Date/HeureCode” la plus élevé et reprendre à la page suivante.

Réglage RTC:
![](http://pimg.imagesia.com/fichiers
/15q/rglrtc21_imagesia-com_15qqk_small.jpg)

Réglage index compteur d’eau:

Le fichier log:

Plan de câblage en pièce jointe

tres beau boulot mais bon de mon coté je ne suis pas encore arrive a ce niveau

pourquoi une frequence si eleve de lecture de trame tele info ? tu parle d'extraction de donnees csv depuis ta page web tu procede comment ? merci.

pourquoi une fréquence si élevé de lecture de trame tele info ?

Parce que je voulais une page web qui s'anime en temps réel avec une actualisation de toutes les info tous les 2 secondes si et uniquement si on est sur cette page. Si pas de client sur cette page, alors l'arduino mega interroge tous les 10 secondes.

tu parle d'extraction de donnees csv depuis ta page web tu procede comment ?

Après avoir fait une sélection type et date du fichier désire via un formulaire, Je fais simplement une lecture du fichier, je balance son contenu sur une page web.

moi ce que je cherche a faire c’est de telecharger depuis la page web les fichiers csv afin de les enregistre sur pc et pouvoir les exploités sur consulte
aurais tu une idee pour modifier ma page web la stocker sur la sd

je voudrais aussi creer des zones de saisies pour rentrer des consignes haute et basse de temperatures sur ma page web

tu as repris du code fourni avec la carte de cartelec mais je pense que tu aurais du utilser un peu plus les traitement des index tel quel en faisant conso_actuel=index11-index1 avec les heures de bascule hp/ hc j ai relu ton code et la j ai du mal LOL

ton projet m’intéresse enormement.

[u]Coût du projet:[/u] 47,28 € (Hors alimentation et boitier) 19,15 € - Arduino Due Atmel SAM3X8E -Horloge 84MHz + Câble USB 13,99 € - Ethernet Lan Shield Module W5100 Micro SD 5,49 € - Le module DS3231 AT24C32 IIC 5,49 € 1,65 € - Jarretière non polarisée F/F - 4 points - 20cm 3,00 € - KIT téléinfo SFH620 2,00 € - Bornier à 2 Vis 2,00 € - PCB

[u]Le shield 1 Compteur Teleinfo:/u

[u]Le shield 2 Compteurs Teleinfo:/u

superbe réalisation. J'ai un problème de plantage sur mon projet donc je vais peut-être essayer le tien mais avant d'acheter un DUE je vais "étudier" ( si je comprends ) ton projet. merci en tout cas. As tu le shema technique des branchements ? le dernier sketch ?

Tu fais la mise à l'heure comment ? et la T°C visible sur la photo ?

Bonjour bluemax2001, le projet sera également compatible Arduino Mega.

La mise à jour de l'heure ce fait via une page web, mais le programme intègre le passage heure été/hiver.

Et une fois l'heure réglée sur le DS3231, on y reviens plus de sitôt dessus, elle est précise à 2ppm soit environ 1min sur 1 an.

Et la température affiché est celle du module DS3231.

Autre avantage du module DS3231 ainsi que son EEPROM AT24C32 fonctionne aussi bien en 5V qu’en 3.3V

merci. J'attends la suite dont le plan du montage et le sketch n°2.

Tu as prévu aussi une gestion du chauffage sauf erreur ?

Mon usine à gaz : http://forum.arduino.cc/index.php?topic=108382.0 ( ou : http://www.touteladomotique.com/forum/viewtopic.php?f=119&t=7252 ) qui malheureusement n'est pas assez stable pour une utilisation continu sans possibilité d'intervenir manuellement (reset).

J'attends la suite dont le plan du montage et le sketch n°2.

euh... bluemax, je pense pas que tu n'as télécharge le bon sketch, tu as sans doute téléchargé un fichier ino que pascal m'avait confié pour modification. J'ai enlevé ce matin tous mes fichiers étant donné que je suis en pleine refonte du projet.

Concernant le plan de montage c'est plutôt curieux que tu me pose cette question, mais c'est simplement un optocoupleur qui attaque la liaison serie, et quelles pin supplémentairement pour branché à l'aide de jarretièr la RTC.

Tu as prévu aussi une gestion du chauffage sauf erreur ?

A un moment donné j'avais prévu de faire la programmation par fil pilote pour une zone qui n'est pas géré chez moi (la SdeB), j'ai même acheter le matériel nécessaire, j'ai commencé quelques trucs pour finalement abandonnée.

Mon usine à gaz ....

Oui tu veux dire l'usine à gaz de Stantor, ne critique pas le boulot des autres car tu l'aurais fais de tes mains , tu serais aptes à corriger les problèmes.

je ne critique pas son boulot car c'est moi qui lui demandait de m'aider à créer ce système téléinfo en nov 2011, étant non compétant dans la programmation. Personnellement je ne faisais que la partie hard et les tests puis faire de belles photos et mettre sur internet, voir aider si possible ceux qui le voudraient. D'ailleurs, tous ceux qui me l'ont demandé ici ou ailleurs ont toujours eu une réponse. D'une idée simple de départ pour UNO, on est arrivée à quelque chose de trop gros sur Mega en 2014 que je ne pouvais pas tester de façon cohérente étant donné que mon lieu de consommation était trop loin de chez moi, d'où le clash entre nous. Je l'ai d'ailleurs remercié ( par ex en post #4) . Mais, j'avais beau testé dans mes conditions, il y avait toujours des plantages et des problèmes dans le datage par serveur tmp. J'ai essayé d'acheter ailleurs qu'en chine les arduino et mettre tout dans un boitier en acier pour éviter les interférences mais rien n'y a fait. Donc, oui j'ai compris sa décision. Pour tout te dire, je pense peut-être un jour acheter le serveur web de chez cartoelectronic qui rassemble tout mais c'est pas aussi amusant que de le monter !!!

Pour le schéma de branchement, c'était pour faciliter le montage.

Bon, quand tu mettras en ligne ta nouveauté, si tu veux bien que je le teste et peut-être l'utilise chez moi, je serais très content.

merci pour ton boulot.

Bonsoir bluemax2001, je pense pouvoir fournir le sketch ainsi que l’ensemble des pages web dimanche soir après avoir valider le fonctionnement.

Tu as quoi comme carte Arduino (mega?) , shield Ethernet? as tu une RTC ??? et quel est ton installation EDF consommation? production? , type d’abonnement?

Plan de câblage en pièce jointe.

EDF Conso: Rx2
EDF Production: Rx3
Capteur impulsion compteur d’eau: Digital 2 (entrée interruption)
Remarque: l’alimentation du RTC est fournit par la broche Digital 13 permettant le RESET du Bus I2C en cas de plantage de celui-ci.

Bonjour, impeccable.

J'ai des Mega, des Uno, shield W5100 et DS1307. Je n'ai pas utilisé ce dernier suite problème lors de test.

Je suis en HP/HC monophasé.

Si il faut un Due, j'en achèterais un sans problème.

N'as tu pas peur qu'un jour l'API google ne soit plus disponible ? C'est pour cela que l'option par page web avait été préféré sur Mega pour le "dessin" des compteurs et des graphs.

Thanks

La mega fera parfaitement l’affaire.

Concernant la DS1307, c’est la Tiny RTC avec Une Eeprom embarqué dessus? si c’est le cas c’est parfait !

Tu me servira de cobaye!

N’as tu pas peur qu’un jour l’API google ne soit plus disponible ?

Attention à pas confondre API et Google chart!
Je n’utilise pas “Image Charts API” qui crées des images dynamique car elle ne sera plus disponible:

J’utilise Google chart qui remplace API pour les gauges et les courbes et il 'est vrai que j’aimerais trouver autres choses du genre en SVG.

Tiny-RTC.png

Comme je devais faire une commande, j'en ai profité pour acheter un : DS3231 avec son Eeprom AT24C32.

Et pour être avec le même matos ( pour le tester aussi ), je pense commander un Due. Le watchdog est différent sur le Due ?

Le watchdog est différent sur le Due ?

Non mais par contre à la compilation, c’est différent…

J’avais promis de fournir un code dimanche soir, mais hélas j’ai rencontré quelques difficultés et mauvaises surprises (notamment avec l’ISR).
J’espère terminer et mettre en ligne une première version pour ce soir.

ptitnitro62000: Et sur la méga il faut modifié le bootloader car à l'origine le watchdog n'est pas disponible.(c'est manip nécessite une 2eme carte et elle n'est pas simple pour un novice. Voici le lien qui traite du sujet: http://forum.arduino.cc/index.php?topic=244627.0

j'ai mis en oeuvre le watchdog sur 2 méga(R3) sans rien modifier et ça fonctionne