Arduino : 24h/24 7j/7 sans plantage, est ce possible ?

Bjr,

J'ai fait un projet : Teleinfo + suivi conso graph 72h/h+ sauvegarde sur SD M/A + 2 relais : Mega 2560 - Réalisations et Projets Finis - Arduino Forum mais au bout d'un certain temps il plante et je n'y ai plus accés. Il tourne 24h/24 7j/7 sans aucune intervention de ma part.

Je voudrais juste savoir si vous faites aussi tourner au même rythme votre projet arduino qui tourne sans planter. Je voudrais déterminer si c'est mon hard ou mon soft qui déconne ?

merci pour tout aide

bluemax2001:
Bjr,

J'ai fait un projet : Teleinfo + suivi conso graph 72h/h+ sauvegarde sur SD M/A + 2 relais : Mega 2560 - Réalisations et Projets Finis - Arduino Forum mais au bout d'un certain temps il plante et je n'y ai plus accés. Il tourne 24h/24 7j/7 sans aucune intervention de ma part.

Je voudrais juste savoir si vous faites aussi tourner au même rythme votre projet arduino qui tourne sans planter. Je voudrais déterminer si c'est mon hard ou mon soft qui déconne ?

merci pour tout aide

Le problemes des plantages , c'est qu'il faut determiner ce qui provoque les plantages
Il y a peu de chance qu'un blink sur arduino finisse par faire planter l'arduino .
Apres dans un projet comme le tien, il faut determiner ce qui pourrait bien conduire au plantage.

  • si cela apparait de maniere +/- reguliere (temporellement) , voir du coté des debordements
  • si c'est (ou semble) etre plus aleatoire , voir du coté des evenements.

En palliatif , peut etre prevoir un watchdog

Mon projet Relaix Box Control fonctionne sans soucis 24/24 7/7 et est branché sur le réseau par l'ethernet.

Salut,

Essaye d'installer un watchdog pour le reset quand il plante.

Problème du reset, c'est qu'il perd l'état des boutons on/off.

Je viens d'acheter un minuteur hebdo qui va l'arrêter une fois par semaine mais pareil je perdrais mes boutons et autres décomptes. Donc mon projet n'est plus viable pour une partie.

Sinon, je vais voir dans le commerce mais cela serait dommage.

Beau projet john_lenfr.

Il me faudrait quelqu'un qui voudrait bien étudier le code car moi je seche ...

koala:
Salut,

Essaye d'installer un watchdog pour le reset quand il plante.

C'est un palliatif mais ça ne corrige rien.
Il vaut mieux chercher la cause du plantage.

Suis ta RAM, il a des routines qui existe sur le net pour le faire simplement.

Une fuite mémoire est la plupart du temps responsable des plantages "inexplicables"

Je vais essayer de faire tourner un sketch sur la même période avec 4 relais on/off par internet
mega + shield officiel

Je vais être mauvais sur ce coup là, critiquer même, mais pouvez vous m'en conseiller un qui a fait ses" preuves" :blush:

B@tto:
Suis ta RAM, il a des routines qui existe sur le net pour le faire simplement.

Une fuite mémoire est la plupart du temps responsable des plantages “inexplicables”

il y a aussi :

  • les tableaux (ou chaines de caractères) mal dimensionnés qui explosent de temps en temps en écrasant les variables qui sont stockées à des adresses juste au-dessus.

  • l’utilisation d’objets qui font de l’allocation dynamique (String par exemple) et qui fractionnent la mémoire

je n'arrive plus à remettre la main sur un sketch 4 relais on/off par internet pui fonctionnait lors de mes premiers pas :grin:

Pour traquer les fuites mémoire : Arduino Playground - AvailableMemory

J'ai aussi un mega + ethernet qui tourne h 24 (domotique)
Je peux le harceler de requêtes html ... Il me répond gentillement ... Puis au beau milieu de la nuit ... Alors qu'aucune action (à priori) n'est en cours ... Plantage ( au bout de plusieurs jours quand même ...). Je surveille la ram aussi et j'ai de la marge ...

Alors j'ai mis un watchdog dans la niche ... Et j'ai quelques redémarrages (je compteur de jours de marche repart à zéro, et je reçois un email ), mais ils sont assez rare et aucun symptôme ne m'oriente vers un problème possible...

Mais parfois ... Au redémarrage dans le setup, le bouzin reste planté à l'initialisation de UDP (me sert à la mise à l'heure) .. Je suppute donc que mes plantages intempestifs soient liés à des "coupures" internet (j'envoie régulièrement mes datas sur xively) ... Si elles durent 15 s ça pourrait expliquer le bug.

Pour récupérer l'état du système après un redémarrage j'utilise l'eeprom ... Même si sa durée de vie est limitée avec 60000 écritures au rythme de 2 ou 3 par jour ... J'ai un peu de marge devant moi

Comme j'ai certains éléments sensibles au plantage ... J'ai opté pour un redémarrage possible sans connection, puis au bout de quelques minutes, un redémarrage pour voir si la connection internet à été rétablie ( ça ne fait pas très pro ... Mais je n'ai rien trouvé d'autre !)

J'ai aussi pensé à des plantages internet. Je me demande même si cela n'est pas lié à certaines box (je teste actuellement sur deux box de FAI différent). A voir donc dans quelques jours ...

Pour la mise à l'heure j'utilise aussi un serveur internet ntp. Peut-être serait il interressant d'utiliser mon DS1307 !!!

Sinon, je pense utiliser un mini serveur juste pour les relais ou voir vers un Raspberry mais ce serait b^te après tout mes efforts

bluemax2001:
J'ai aussi pensé à des plantages internet. Je me demande même si cela n'est pas lié à certaines box (je teste actuellement sur deux box de FAI différent). A voir donc dans quelques jours ...

Pour la mise à l'heure j'utilise aussi un serveur internet ntp. Peut-être serait il interressant d'utiliser mon DS1307 !!!

Sinon, je pense utiliser un mini serveur juste pour les relais ou voir vers un Raspberry mais ce serait b^te après tout mes efforts

bonjour
simple idée rapide (c'est pas trop "mon truc" :grin: )
selon les FAI et les abonnements , le bail IP est renouvellé par periode fixe = nouvelle adresse IP externe.
Peut etre voir comment la librairie etehernet arduino gere ça avec la box , meme si en theorie l'arduino accede à la box avec une IP generalement fixée en 192.168.xxx.yyy

Artouste:
simple idée rapide (c'est pas trop "mon truc" :grin: )
selon les FAI et les abonnements , le bail IP est renouvellé par periode fixe = nouvelle adresse IP externe.

Et puis il y a aussi:

  • ton routeur, l'adresse allouée par ton routeur ne l'est pas toujours pour une durée indéterminée de nombreux routeur délivre un bail pour quelques heures
  • les réinitialisations périodiques de certaines box.

Je n’ai que des adresses IP fixes avec déclaration dans le nat et dhcp.

Mais, il me semble (à vérifier dans quelques temps) qu’un FAI utilise une box vraiment pas terrible. Ce n’est plus que ma seule piste de recherche avant de valider autrement l’utilisation des relais on/off. Pourquoi juste cette partie : parce qu’un reset mettrait l’état on ou off autrement ( soit bon soit mauvais et voir pour une programmation, l’arrêt).

Je perdrais aussi dans ma SD une journée de conso ou de production et la T°C mais là ce n’est pas important pour moi.

bluemax2001:
J'ai aussi pensé à des plantages internet. Je me demande même si cela n'est pas lié à certaines box (je teste actuellement sur deux box de FAI différent). A voir donc dans quelques jours ...

Pour la mise à l'heure j'utilise aussi un serveur internet ntp. Peut-être serait il interressant d'utiliser mon DS1307 !!!

Sinon, je pense utiliser un mini serveur juste pour les relais ou voir vers un Raspberry mais ce serait bête après tout mes efforts

Bizarre car j'utilise le NTP pour synchroniser tous les jours et mettre à l'heure, le DS1307 prenant en charge l'heure le reste du temps. Comme ça en cas de coupure internet j'ai toujours l'heure et le NTP me permet de gérer le passage heure d'été/hiver et la dérive du DS1307 même si elle est très faible.

En étant connecté tout le temps je n'ai pas remarqué de plantage jusqu'à maintenant à cause de la connexion internet

Je cherche juste une explication et je compare avec # scenario d'utilisation en changeant le matos et les box.

Pour info je suis en neufbox v4

john_lenfr:
Mon projet Relaix Box Control fonctionne sans soucis 24/24 7/7 et est branché sur le réseau par l’ethernet.

les images de ton sites renvoient un 403.