Teleinfo + suivi conso graph 72h/h+ sauvegarde sur SD M/A + 2 relais : Mega 2560

Salut j'aime bien ton projet et j'aimerai si c'est possible que tu me montre le programme que tu as utilisé poir recuper les données du compteur et les afficher sur le webserver stp

Regarde en page 2

bluemax2001:
Par contre, je n'arrive pas à régler le problème de l'heure sur les serveurs de temps qui changent d'adresse ou qui ne réponde pas ou pas bonne adresse. Manuellement deviendrait l'idéal.

il y a un pool de serveurs NTP en france pool.ntp.org: NTP Servers in France, fr.pool.ntp.org que l'on peut utiliser raisonnablement (une requète par jour devrait suffir avec une RTC

Ensuite, en cas de plantage, il est incapable de se relancer et quand on est pas sur place c'est problématique.

il faut mettre un watchdog et ça fonctionne bien

#include <avr/wdt.h> // watchdog
setup : wdt_enable(WDTO_8S); // watchdog fixé à a 8s (maxi possible)
loop : wdt_reset(); // watchdog démarré on le raz a chaque passage sinon reboot ...

Excuse du retard, j'étais sur un autre sujet.

Merci pour ton aide.

Pour le serveur ntp, je ne peux, dans le sketch, mettre que des adresse IP d'où ma difficulté. Il est vrai qu'avec une RTC tout serait plus facile mais j'avais un problème matériel que je n'ai pu régler.

Pour le watchdog effectivement on y avait pensé . Tu mets où ses lignes dans le sketch ? Si le système est planté, comment le watchdog peut-il encore fonctionner ?

Salut bluemax2001,

Si le système est planté, comment le watchdog peut-il encore fonctionner ?

Le jour ou tu arrive à faire planté un watchdog tu m'appelle.

Le watchdog est un mécanisme implanté dans les microprocesseurs pour éviter qu'un système ne reste gelé après un plantage du software.
On considère que le software « plante » si celui-ci ne repasse pas par un certain point avant un délai pré-établi.
En cas de plantage, on redémarre le microprocesseur et (facultativement) le reste du système, ce qui est préférable à un système qui reste inopérant.
Avec les Arduinos antérieurs au Due, il était délicat d'utiliser le watchdog, pourtant présent dans les microprocesseurs Atmega, sans modifier le bootloader des platines.
Ce n'est plus le cas avec l'Arduino Due et son microprocesseur SAM3X.

source: forum.snootlab.com

Je comprends mieux l'utilité d'une part et peut-être pourquoi on ne l'avait pas mis d'autre part.

Il me faudrait essayer car là je suis planté depuis le mois de septembre et je ne peux m'y rendre avant le mois prochain pour faire mon reset hard.
Ou essayer sur la version HTML directement car c'est bête de rester sur un échec.

Donc en faite, il me faut changer le bootloader et rajouter les lignes de rjnc38.

rjnc38, aurait une solution sans changer de bootloarder

je vais aller voir si j'ai le bon condo.

et si j'ai bien compris, on peut même lancer le watchdog à distance.

bluemax2001:
et si j'ai bien compris, on peut même lancer le watchdog à distance.

oui il suffit de le prévoir dans le serveur web ... enfin .... par une backdoor pour éviter les plaisanteries

Il faut mettre tes lignes du watchdog en début ou fin de sketch ?

et si tu voulais le lancer à distance, tu écrirais quoi ?

#include <avr/wdt.h> // watchdog
setup : wdt_enable(WDTO_8S); // watchdog fixé à a 8s (maxi possible)
loop : wdt_reset(); // watchdog démarré on le raz a chaque passage sinon reboot ...

le #include en début de sketch avec les autres
le wdt_enable(...) à la dernière ligne du setup()
le wdt_reset() à la première ligne de la loop()
ensuite il faut faire une fonction par ex à la fin du sketch :

void reboot() {
while(1);
}

et après quand tu veux déclencher le redémarrage .... tu appelle : reboot();

merci, c'est sympas.

Au fait, si je ne change pas le bootloader du Mega, cela ne fonctionnera pas ?

et comme je ne me suis jamais "penché" sur le Due, le code est compatible à 100% ? Et pourrais je utiliser mes relais 5V ( je crois avoir lu qu'il ne gerait que le 3.3v) ?
C'est juste pour savoir si j'en commande un second.

Bonjour, le code que rjnc38 t'as fournit est opérationnel sans changer le bootloader de ton mega, je l'ai essai hier soir sur une mega que je possédé.

En ce qui concerne la définition du watchdog sur DUE, elle est totalement différente!
Et d’ailleurs si tu peux transférée tout ton boulot que tu as fais sur mega vers une DUE ! ça va être très compliqué. Ton code ne sera pas du tout compatible!!! Beaucoup de librairies ne sont pas compatibles...
Il faut reprendre chaque partie du programme et les retravailler.

Concernant tes relais, ça dépend des niveaux d'hystérésis des commandes, car tu n'existe pas une bobine relais directement avec la sortie....

merci, je vais essayer comme je dois revenir sur mes tests.

la library: avr/wdt.h est directement dans le logiciel arduino ( pas trouvé sur ma version ) ou il faut aller la chercher quelque part ?

bluemax2001:
la library: avr/wdt.h est directement dans le logiciel arduino ( pas trouvé sur ma version ) ou il faut aller la chercher quelque part ?

il est dans l'IDE

Salut,

Quelqu'un aurai-il le sketch dispo ?

Merci d'avance
Aurélien

Si tu arrives à faire un reset automatique programmé par semaine par ex, il fonctionnera bien