IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

Redémarrage physique des systèmes en utilisant un microcontrôleur


Sujet :

Embarqué

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Redémarrage physique des systèmes en utilisant un microcontrôleur
    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 ?

  2. #2
    Membre confirmé
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 257
    Points : 519
    Points
    519
    Par défaut
    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é.
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

  3. #3
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    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.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 620
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 620
    Points : 56 857
    Points
    56 857
    Billets dans le blog
    40
    Par défaut
    Bonsoir,

    Il y a une discussion complète sur le playground arduino : http://playground.arduino.cc/Main/ArduinoReset

  5. #5
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    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+
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    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.

  7. #7
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Citation Envoyé par khalid.fathi Voir le message
    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 ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    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.

  9. #9
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    Citation Envoyé par khalid.fathi Voir le message
    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 ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    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

  11. #11
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    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 ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    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

  13. #13
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 190
    Points : 11 573
    Points
    11 573
    Par défaut
    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 ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  14. #14
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2015
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    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é.

  15. #15
    Membre confirmé
    Avatar de deletme
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2011
    Messages : 257
    Points : 519
    Points
    519
    Par défaut
    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.
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
    - Martin Golding
    Traduction obligatoire : "Toujours écrire du code en gardant en tête que le mec qui en assurera la maintenance est un psychopathe violent qui connait votre adresse"

Discussions similaires

  1. Pourquoi inclure des .lib pour utiliser des DLLs système?
    Par NicolasJolet dans le forum Windows
    Réponses: 4
    Dernier message: 08/08/2006, 14h59
  2. [Modélisation] Maille des cas d'utilisation
    Par ftrifiro dans le forum Cas d'utilisation
    Réponses: 14
    Dernier message: 28/08/2005, 18h39
  3. Réponses: 19
    Dernier message: 23/12/2004, 12h01
  4. Recherche des exemple d'utilisation
    Par lemme dans le forum Merise
    Réponses: 2
    Dernier message: 26/02/2003, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo