Bonjour les amis, j'ai besoin d'aide !
Est-ce qu'on peut programmer un microcontrôleur "Arduino " pour qu'il détecte les crashes d'un système et commande le redémarrage physique de ce dernier ?
Est-ce que c'est possible ?
Bonjour les amis, j'ai besoin d'aide !
Est-ce qu'on peut programmer un microcontrôleur "Arduino " pour qu'il détecte les crashes d'un système et commande le redémarrage physique de ce dernier ?
Est-ce que c'est possible ?
Bonjour,
Une façon de procéder serait de mettre en place sur le système à surveiller un bit de vie rafraichi de façon régulière (qui peut se caractériser par une sortie TOR mise à '1' puis à '0').
A l'aide de ton système de surveillance (carte Arduino par exemple), tu surveilles cette sortie en déclenchant un timer à chaque fois qu'elle change d'état. Tu dois paramétrer ta surveillance pour qu'à chaque changement d'état de cette entrée (entrée vue du côté Arduino), ton timer soit remis à 0. Lorsque le système que tu surveilles plantera, il ne rafraichira plus sa sortie, ton timer ne sera plus remis à 0 périodiquement ce qui le poussera au débordement et donc à te générer une interruption.
Sur cette interruption, tu peux activer une sortie de ta carte Arduino reliée au reset de ton système pour le faire redémarrer. A toi de bien estimer la valeur à pré-charger dans ton timer pour qu'il en déclenche pas de façon intempestive.
Une solution matérielle plus simple (mais moins sympa à mettre en œuvre je te l'accorde) est d'utiliser à la place de ton Arduino un relais à déclenchement temporisé.
Salut,
Si on se base sur la solution de deletme, qui est une très bonne solution, il y a plus simple que Arduino. Il y a des Watchdog externes très petits qui répondent a la fonction. http://www.st.com/web/en/resource/te...CD00176077.pdf (entres autres)
A moins que ton système ne puisse pas être modifié de la sorte mais sans info c'est impossible de te répondre.
Bonsoir,
Il y a une discussion complète sur le playground arduino : http://playground.arduino.cc/Main/ArduinoReset
Salut,
Sauf erreur de ma part cette discution traite du Watchdog du micro Arduino alors que je ne suis pas sur que notre ami veuille reseter le micro ? Il veut plutôt reseter le système (dont on ne connait rien) même si il est peut être possible d'utiliser le WDT du micro Atmel pour vérifier, d'une part si le micro lui même n'a pas planté et d'autre part, vérifier en même temps si le système n'est pas mouru (mais ce n'est pas si simple eu égard de l'ajustement du fenêtrage du WDT qui peut être différent entre le système externe et le programme interne)
Si jamais ce fameux système est en réalité le programme dans le micro Arduino alors en effet, le WDT est là pour ça.
Force est de constater que la question est trop flou, on ne peut pas y répondre.
A+
pour être bien précis :
Voilà ce que je cherche à faire : un dongle qu'on pourra utiliser pour des systèmes embarqués et pour d'autres serveurs de vidéosurveillance que nous allons monter par nous-mêmes. les systèmes qu'on a, ne doivent pas crasher et il faut qu'il reste tout le temps bien marché sans aucun problème donc lorsqu'un serveur par exemple crashé il faut redémarrer le système pour qu'il prend son état normal. d'ailleurs puisqu'il est crashé donc la solution c'est le redémarrage physique.
Salut,
Ma question est plutôt :
Est ce que c'est toi qui va concevoir le système embarqué ou le serveur de vidéo surveillance ? Donc tu as la main dessus pour programmer le WDT (WatchDog).
Ou bien
Est ce que le système embarqué ou le serveur de vidéo surveillance est un appareil tout fait que tu vas installer ? Là, tu n'as pas la main sur dessus et oui il va falloir créer un dongle ou autre chose a côté pour faire de la surveillance.
Avec la réponse a cette question, on pourra surement t'aiguiller. Suivant ce que tu vas nous dire, la solution de deletme ou le lien que f-leb donne ne pourra peut être pas t'aider pas puisque le système embarqué que tu vas installer est un appareil tout fait et que tu n'as pas la main sur l'électronique ni même sur l'informatique qu'il y a dedans.
Tu vois où je veux en venir ?
le système va être installer par d'autres ingénieurs .moi je suis qu'un stagiaire ils m'ont demandé de faire la conception de ce dongle externe bien sur.
D'accord.
Je suppose que tu as un minimum de doc sur le système à surveiller.
Sinon c'est tout simplement impossible car ça voudrait dire qu'on te demande de faire un dongle qui puisse surveiller le plantage de n'importe quel système embarqué, qui n'ont peut être rien a voir les uns avec les autres, dans leurs conceptions matérielles. (une Box internet, un Raspberry, un serveur multimédia, un NAS, un serveur de vidéo surveillance, ...)
La question principale est : Comment sait on que le système est planté et pas simplement en veille ou en attente d'un ordre ?
Qui y a t-il dans les docs du système ? Un voyant qui ne clignote plus ? Plus de trafic réseau ?
le dongle que je vais réaliser normalement doit marché pour n'importe quel système ( surtout les serveurs de vidéosurveillance), ce système qui va être surveiller ne sera jamais en veille ou en attente d'une action ( toujours marché ) donc ce dongle doit détecter que le plantage , j'ai bien cherché est ce qu'on peut redémarrer un PC par exemple en utilisant le port USB mais je trouve que c'est impossible donc la seule solution qui reste c'est de faire en sorte que mon dongle soit lié a l'alimentation ou bien au reset même s'il est externe.
j'ai totalement perdu
Ce qu'on te demande de faire me parâit très bizarre ou incomplet.
D'où mes questions ci dessous :
1) Donc dans tous les cas de figure, c'est bien un PC que tu dois surveiller ? Et pas autre chose ?
2) Comment ça fonctionne un serveur de vidéo surveillance ? Tu as un réseau de caméra IP reliés sur le port Ethernet du PC serveur ?
3) Le serveur envoi les infos collectées des caméra sur un site internet ?
Suivant ta réponse évidemment, tu pourrais surveiller le traffic réseau et en absence de trafic tu peux agir sur le reset du PC serveur. En supposant bien sur que plus de trafic = plantage ?
A mon avis les ingénieurs qui installent ce type de serveur peuvent répondre à cette simple question : Qu'est ce qui fait dire que le système est planté ?
- Exemple sur un BBOX internet, en cas de perte de synchro ADSL, il y a un voyant vert qui clignote rapidement.
- Exemple sur une vieille LiveBox internet, que j'ai eu dans le temps, c'était la couleur du voyant qui changé pour signaler si tu étais en ligne ou hors ligne.
- Sur les centrales que je développais dans le temps, je faisais clignoter une LED toutes les secondes pour être sur du premier coup d'oeil, que quelqu'un puisse voir que la centrale était encore active (car l'écran se mettait en veille)
- Sur les panneaux d'affichage des autoroutes françaises, lorsqu'il n'y a rien de particuliers à afficher, il y a un point ou une étoile d'allumé en plein milieu. Comme ça quand l'équipe de maintenance passe sur l'autoroute, ils savent si l'écran est en panne ou si simplement éteind car pas d'infos particulières a communiquer aux automobilistes.
Sur ton serveur y a t-il quelque chose dans ce genre ?
bon je vais répondre question par question :
1) oui normalement c'est un serveur
2-3) oui c'est un serveur qui enregistre les vidéo des cameras IP qui sont relié par une câble ethernet avec ce serveur sans les envois a un site web c'est juste un serveur de stockage donc il doit être en marche tout le temps.
il n’y a ni alarme ni clignotement ni rien qui indique que ce système a crashé.
mon dongle qui doit détecter ce plantage.
ce qui me parait que la seule solution est de programmé une carte arduino de façons à envoyer des données et s'attend à ce que le PC lui renvoie ces même données, Si le PC ne le fait pas, c'est qu'il a crashé.
apparemment cette carte doit être lié avec l'alimentation de PC est un relais qui va couper la tension lors de la détection de ce crashe.
bon coté matériel il me semble facile a faire mais coté programmation je pense que c'est très difficile de faire cela
Ok, dans ce cas tu as bien trouvé la solution. Ton arduino peut être relié via ethernet sur le même réseau que les caméras. Ensuite tu peux simplement faire des ping et le serveur répondra. Tant que le serveur répond au ping c'est qu'il est en vie et si au bout d'un timeout tu n'as pas de réponse c'est que le serveur est cuit.
Pour le reste, le hardware. Es tu sur qu'un PC redémarre après un coupure de courant ? Un pc de maison ne redémarre pas il me semble ? Est ce que vos serveurs démarrent automatiquement ou bien il y a un marche/arrêt ?
j'ai fais une recherche en ce qui concerne le redémarrage automatique d'un PC , eeeh oui c'est possible puisque le BIOS de l'ordinateur va me permettre de modifier ce comportement et faire en sorte qu'il soit automatiquement redémarré.
Bonjour,
Bon je vois que ça avance bien ce projet .
Il ne te reste plus qu'à dimensionner correctement ton relai ainsi que ton timer pour le déclencher. Attention, concernant les requêtes de PING, nous ne sommes jamais à l'abri d'une perte de trame, je te conseillerai donc d'en envoyer une deuxième quand tu détectes une absence de ton serveur vidéo (ce serait gênant de couper un système qui n'a pas planté).
Pour une petite valeur ajoutée, tu peux t'amuser à compter le nombre de crash, le temps passé entre deux plantages pour faire des statistiques par exemple... et rendre le tout disponible sur une carte SD pour que le technicien de maintenance puisse faire un relever rapide (ou encore faire de ton dongle un esclave modbus directement interrogeable via le réseau..)
dM.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager