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

  1. #1
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    4 893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 4 893
    Points : 13 926
    Points
    13 926
    Par défaut Shutdown de la raspberry avec mise au minimum de l'alimentation !
    Salut à tous.

    Un remarque qui a son importance.
    Dans le fichier "/boot/config.txt", il faut écrire "gpio-shutdown" ainsi que "gpio-poweroff" avec un tiret et non un souligné.

    Voici les tests que j'ai fait :

    I-1) j'ai mis dans le fichier "/boot/config.txt" ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dtoverlay=gpio-poweroff,gpiopin=21,active_low=0
    dtoverlay=gpio-shutdown,gpio_pin=4,active_low=1
    Après modification du fichier "/boot/config.txt", je fais un reboot.

    I-2) je sors en faisant un "halt" ou en reliant par un BP, la GPIO4 à la masse.

    I-3) je constate que je n'obtiens pas de "shutdown". Qu'est-ce que j'entends pas "shutdown" ?
    Un arrêt prolongé, puis la led verte se met à clignoter dix fois. J'obtiens un arrêt immédiat !

    I-4) j'ai placé une led jaune ainsi qu'une résistance de 1k ohms à la sorti de la GPIO21.
    Je tiens à signaler que la GPIO21 est en output.

    I-5) j'ai mis "active_low=0". La led jaune ne s'allume pas tant que ma raspberry fonctionne normalement.
    Si je sors (voir §2), la led jaune s'allume et reste allumée.

    I-6) je ne peux pas redémarrer la raspberry en reliant la GPIO3 à la masse.

    I-7) à l'arrêt, mon disque dur est alimenté, ainsi qu'une prise USB. J'ai branché un voltmètre pour le constater.
    La led rouge de la raspberry fonctionne encore. A priori, la GPIO21 peut servir à déclencher un relais.


    II-1) j'ai mis dans le fichier "/boot/config.txt" ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dtoverlay=gpio-shutdown
    Après modification du fichier "/boot/config.txt", je fais un reboot.

    II-2) je sors en faisant un "halt" ou en reliant par un BP, la GPIO3 à la masse.

    II-3) je constate qu'il y a un court arrêt de l'alimentation avant une reprise.
    Mon disque dur n'est plus alimenté durant ce laps de temps.

    II-4) après cet arrêt momentané de l'alimentation, j'obtiens un "shutdown" avec les dix clignotements de la led verte.
    Oui, sauf que cela se passe après l'arrêt de l'alimentation. Bizarre.

    II-5) j'appuie sur le BP. La raspberry redémarre. C'est normal, car la GPIO3 le permet mais pas les autres GPIO.


    III-1) j'ai mis dans le fichier "/boot/config.txt" ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dtoverlay=gpio-shutdown
    dtoverlay=gpio-poweroff,gpiopin=21,active_low=0
    Après modification du fichier "/boot/config.txt", je fais un reboot.

    III-2) je sors en faisant un "halt" ou en reliant par un BP, la GPIO3 à la masse.

    III-3) pas de "shutdown", ni les dix clignotements de la led verte. L'arrêt est immédiat.

    III-4) la led jaune s'allume et reste allumé.
    La raspberry semble être à l'arrêt, la led rouge est allumée, ainsi que mon disque dur et la prise USB.

    Conclusion : je rencontre deux problèmes.

    a) je ne comprends pas pourquoi durant ce qui semble être le "shutdown", la raspberry n'est plus alimenté durant un court instant.
    Cette phase est trop rapide. Ce qui me fait dire que le "shutdown" n'est pas conforme, même si la led verte clignote dix fois.

    b) je cherche à mettre la raspberry au minimum de son alimentation.
    Avec "gpio-poweroff", une GPIO passe dans un état différent de son état d'origine.
    A priori, ce n'est pas la bonne méthode.

    Qu'est-ce que je veux faire ?

    Avec un BP relié disons à la GPIO4 (broche 7), je désire un "shutdown" normal ainsi que la led verte qui clignote dix fois.
    A l'issue de cette phase, je désire que ma raspberry se mette au minimum de son alimentation.
    Entre autre, arrêt de l'alimentation de mon disque dur.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  2. #2
    Membre confirmé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    juin 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 680
    Points : 586
    Points
    586
    Par défaut
    Salut,

    Tu as mis un relais de coupure ou pas ?

    L'alimentation 5V du Raspberry Pi ne va pas se couper toute seule.

    Il y a à la fois un problème de programmation informatique et de câblage électronique.

    Il est fort probable que le 5V de l'alimentation soit relié directement au broches +5V GPIO et au +5V des ports USB (tout composant de coupure occasionnerait une chute de tension, et devrait être capable de supporter plusieurs ampères ainsi que les pointes de courant)

    Si le microprocesseur du Raspberry PI est capable de se mettre en mode "veille", le port USB risque d'être alimenté en permanence.

    Autrement dit, pour vraiment éteindre le Raspberry PI et ses accessoires branchés en USB ou en GPIO, il faut un relais.

    La situation est différente avec nos ordinateurs de bureaux. L'alimentation se coupe vraiment, il reste juste une petite alimentation annexe pour la mise en route (et d'ailleurs, il vaut mieux débrancher - avec une multiprise à interrupteur - un ordinateur de bureau éteint)

    Pour un PC portable, là aussi, son alimentation interne se coupe, en revanche il faut aussi débrancher manuellement son chargeur.

    Moralité de l'histoire : rien ne vaut un interrupteur marche/arrêt mécanique, ou son équivalent commandé le relais !

    C'est un électronicien à l'origine qui te le dis : les "veilles" c'est le mal :
    - consommation électrique permanente certes faibles mais 24h/24 7j/7
    - usure prématurée des composants
    - vulnérabilité aux surtensions
    - risque d'incendie
    => on éteint ET on débranche !

    Débranches tout, comme chantait France Gall

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  3. #3
    Membre confirmé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    juin 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 680
    Points : 586
    Points
    586
    Par défaut
    Re bonjour,

    j'avais réalisé une étude sur la consommation en veille et le rendement des alimentations, fort instructive, voyez le PDF ci-dessous :

    PetitsWattsEtGrandesRivieres.pdf

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  4. #4
    Membre confirmé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    juin 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 680
    Points : 586
    Points
    586
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    II-3) je constate qu'il y a un court arrêt de l'alimentation avant une reprise.
    Mon disque dur n'est plus alimenté durant ce laps de temps.
    Ca, c'est bizarre...

    Tu a vu que le HDD s'est arrêté de fonctionné, mais as-tu "mesuré" l'état du +5V USB avec une LED et une résistance en série pour voir si le +5V du port USB se coupe vraiment ?

    (ne pas faire la mesure au voltmètre, car le temps de réponse d'un voltmètre est trop lent et il ne verra pas une petite coupure)

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    4 893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 4 893
    Points : 13 926
    Points
    13 926
    Par défaut
    Salut electroremy.

    Citation Envoyé par electroremy
    Tu as mis un relais de coupure ou pas ?
    Une led jaune (voir §I-4 & §III-4). Cela revient au même qu'un relais.
    Elle fonctionne parfaitement sauf qu'elle se déclenche un peu trop tôt.
    Il me semble que le shutdown est trop rapide.

    Citation Envoyé par electroremy
    L'alimentation 5V du Raspberry Pi ne va pas se couper toute seule.
    Si tu parles de l'adaptateur secteur qui produit le 5V/3A, je suis d'accord.

    Mais quand je parle de la coupure de l'alimentation, il s'agit, entre autre, de celle de mon disque dur.
    Avec la RPi 2B, après le shutdown, la raspberry n'alimente plus mon disque dur.
    Je ne sais pas pourquoi, cette fonctionnalité a disparu avec la RPi 3B+.
    Je peux débrancher sans risque ma raspberry et de surcroit mon disque dur qui est éteint.

    Et donc, je me retrouve avec un disque dur encore alimenté et je ne sais pas trop s'il continue à travailler ou pas.
    Je suis obligé de faire attention aux dix clignotements, pour être certain que je peux débrancher ma raspberry, sans risque.

    Citation Envoyé par electroremy
    Il y a à la fois un problème de programmation informatique et de câblage électronique.
    De câblage électronique, je ne pense pas. Le BP est des plus simples. Il n'y a même pas de résistance.

    Inversement, il s'agit bien du paramétrage (du fichier "/boot/config.txt") qui me pose quelques problèmes.
    Je ne sais pas trop si ce que je fais est correcte ou pas.

    Citation Envoyé par electroremy
    Il est fort probable que le 5V de l'alimentation soit relié directement au broches +5V GPIO et au +5V des ports USB
    Je n'ai pas encore abordé la question des deux broches PEN & RUN.
    Quand tu relies la broche PEN (Power Enable) à la masse, la raspberry se met au minimum de son alimentation.
    Et dès qu'elle n'est plus reliée, l'alimentation revint et la raspberry redémarre.

    Citation Envoyé par electroremy
    Si le microprocesseur du Raspberry PI est capable de se mettre en mode "veille", le port USB risque d'être alimenté en permanence.
    Le mode veille, d'après ce que j'ai compris, correspond à la broche PEN.
    Je ne désire pas souder quoi que ce soit sur ma raspberry pour exploiter cette broche.

    A vrai dire, ce n'est pas le mode veille que je déclenche car je ne peux pas redémarrer la raspberry en reliant la GPIO3 à la masse.

    Citation Envoyé par electroremy
    Autrement dit, pour vraiment éteindre le Raspberry PI et ses accessoires branchés en USB ou en GPIO, il faut un relais.
    Je suis d'accord avec toi, mais tu vas trop vite dans ton raisonnement.
    Ce que je veux faire doit se passer en trop phases :

    a) un shutdown normal avec dix clignotements de la led verte.

    b) passer la raspberry au minimum de son alimentation. Dans ce cas, mon disque dur est éteint.
    Je ne cherche pas à redémarrer (faire un reset) la raspberry quand je suis dans cette phase.

    c) et là, je peux couper l'alimentation de la raspberry sans avoir peur de casser quelque chose.
    Installer un relais est une bonne idée.
    Dans la phase b), je peux utiliser une GPIO quand elle est à bas, pour déclencher un relais.

    Citation Envoyé par electroremy
    La situation est différente avec nos ordinateurs de bureaux. L'alimentation se coupe vraiment
    La situation n'est pas différente car dans un ordinateur de bureau, la coupure de l'alimentation est prévue.
    Dans une carte mère, il n'y a pas la possibilité de couper quoi que ce soit.
    Mais inversement, la carte mère peut dire à un bloc d'alimentation (ou autre), que la coupure peut se faire sans danger.
    Avec la raspberry, nous devons indiquer par l'intermédiaire d'une GPIO, que nous pouvons couper le courant.

    Citation Envoyé par electroremy
    Pour un PC portable, là aussi, son alimentation interne se coupe, en revanche il faut aussi débrancher manuellement son chargeur.
    Ce n'est pas tout ce fait pareil. Si je laisse l'adaptateur branché sur ma raspberry, celle-ci continue d'être alimenté.
    Je dois débrancher l'adaptateur de la prise secteur, pour que la raspberry ne soit plus du tout alimenté.

    Inversement, quand l'arrêt est terminé, mon ordinateur portable n'est plus du tout alimenté.
    Même si le chargeur est encore branché dans la prise secteur, cela ne pose aucun problème.

    Citation Envoyé par electroremy
    Moralité de l'histoire : rien ne vaut un interrupteur marche/arrêt mécanique, ou son équivalent commandé le relais !
    Ce n'est pas un interrupteur mécanique (je possède un tel câble que je branche sur la prise micro USB de la raspberry) qu'il faut.
    Mais un système intelligent qui quand la raspberry à terminer son "shutdown", puisse dire à un relais de couper l'alimentation.

    Citation Envoyé par electroremy
    j'avais réalisé une étude sur la consommation en veille et le rendement des alimentations, fort instructive
    J'ai encore des ampoules à incandescence, voire des ampoules à mercure de la première génération dite économique.
    Pas d'ampoule à leds, ni des interrupteurs ou ampoules dites intelligentes que l'on peut contrôler par le wifi.

    C'est très électronique ce que tu as fait ! Très bien, mais c'est en dehors de mes compétences.
    Lenovo, c'est de la merde. Tu ne fais que me le confirmer.

    Je suis très surpris de tous tes appareils électriques que tu as dans ta maison.
    J'ai ma chaudière à condensation qui fonctionne 24H/24H sauf quand il fait plus de 20°C.
    Je possède deux réfrigérateurs qui fonctionnent aussi 24H/24H, ainsi que deux téléphones fixes.
    J'ai que l'ensemble routeur SFR + décodeur TV SFR + téléviseur Samsung que j'ai relié à un onduleur, et que je mets hors service avec son interrupteur.
    Le reste de mes appareils électriques fonctionne avec des interrupteurs mécaniques, je veux dire pas de mise en veille, donc pas de consommation.
    Je n'ai pas de téléphones mobile (juste deux fixes, sans fils) que je dois recharger durant la nuit.
    Pas de volets électriques ou quoi que ce soit d'autres comme gadgets pouvant simplifier la vie.

    Si tu veux vraiment faire des économiques, tu devrais passer aux panneaux solaires, au moins pour tout ce qui consomme beaucoup.

    Citation Envoyé par electroremy
    Tu a vu que le HDD s'est arrêté de fonctionné, mais as-tu "mesuré" l'état du +5V USB avec une LED et une résistance en série pour voir si le +5V du port USB se coupe vraiment ?
    Durant mes tests, j'avais mon disque dur + un détecteur de tension branché sur la prise usb + une led jaune relié à la GPIO21.
    Tout c'est arrêté de fonctionner durant un laps de temps. Ca ma surpris.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  6. #6
    Membre confirmé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    juin 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 680
    Points : 586
    Points
    586
    Par défaut
    Je n'ai pas encore abordé la question des deux broches PEN & RUN.
    Quand tu relies la broche PEN (Power Enable) à la masse, la raspberry se met au minimum de son alimentation.
    Et dès qu'elle n'est plus reliée, l'alimentation revint et la raspberry redémarre.
    Une partie du problème est peut être là

    D'après ce que j'ai pu lire sur des forums en anglais lors de mes recherches, les broches PEN et RUN ne fonctionnent pas de la même façon sur les différents Raspberry Pi, certains affirment même qu'elles ne font pas ce qui était prévu au départ.

    J'ai un peu le sentiment que la gestion de l'alimentation a été oublié lors de la conception initiale du Raspberry PI et que ça a été ajouté ensuite plus ou moins à l'arrach'

    Ma solution avec Moode Audio a le mérite d'être très simple : une poignée de composants avec deux lignes à ajouter dans un fichier texte.
    Mais ce doit être un cas particulier, la distribution Moode étant prévue pour simplifier cet aspect au maximum.

    En voyant tes problèmes, je comprends pourquoi on trouve des Raspberry Hat avec microcontroleur juste pour gérer l'alimentation.

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  7. #7
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    4 893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 4 893
    Points : 13 926
    Points
    13 926
    Par défaut
    Salut electroremy.

    Mon étude porte sur les points suivants qui sont :

    a) le shutdown.

    C'est la sortie normal ou devrais-je plutôt dire "propre" de la raspberry.
    Cette phase se termine par dix clignotements de la led verte.
    C'est indicateur permet de débrancher sans risque pour la carte micro SD, votre raspberry de son adaptateur d'alimentation.

    Pour cela, dans le fichier "/boot/config.txt", on fait l'usage de : "dtoverlay=gpio-shutdown" (avec un tiret et non un souligné).
    Par défaut, c'est la GPIO3 qui est utilisé. La GPIO est en "input".

    J'ai quand même un doute sur le fonctionnement du "shutdown" au travers de cette superposition (overlay).
    Il me semble que la durée du "shutdown" matériel soit plus courte que la durée habituelle du "shutdown" logiciel.

    Si vous utilisez un BP pour provoquer un "shutdown", je préconise plutôt de gérer la GPIO dans un service où vous faites vous même le "shutdown" logiciel (la commande).

    En dehors de cette superposition (overlay), cette GPIO3 permet de faire redémarrer la raspberry (reset).
    D'après mes lectures, il me semble que la GPIO1 permet aussi de le faire. A confirmer.


    b) le poweroff.

    La raspberry est capable d'indiquer à un relais, si l'on peut arrêter l'alimentation extérieure.
    Une GPIO (dans mon exemple la 21) pourra fournir une indication (haute ou basse) à un relais.
    Je l'ai testé avec une led jaune et ça fonctionne parfaitement.

    Pour cela, dans le fichier "/boot/config.txt", on fait l'usage de : "dtoverlay=gpio-poweroff" (avec un tiret et non un souligné).
    Par defaut, c'est la GPIO26 qui est utilisé. La GPIO est en "OUTPUT".

    Le problème que je rencontre est dans la durée du "shutdown".
    Il me semble qu'il n'y a pas les dix clignotements marquant la fin du "shutdown".
    Je suppose même que le "shutdown" est inexistant, voire même que la GPIO se met tout de suite en fonction.

    Autrement dit, le "poweroff" provoque un arrêt brutale de votre raspberry.

    La question demeure sur la bonne gestion de cet mise en arrêt de la raspberry, juste avant de provoquer la coupure de son alimentation.
    Je préconise quand le "shutdown" logiciel est lancé, de ce mettre en attente disons de 2 minutes avant de faire la coupure de l'alimentation.


    Sur les raspberry, il y des trous où il faut souder des broches.
    Il s'agit d'un petit rectangle avec à l'intérieur un carré et un ou plusieurs ronds.
    Ces broches sont présentes ou pas selon le modèle de la raspberry que vous utilisez.

    Voici pour la RPi 2B :



    Le carré est la broche RUN.
    Le rond est la masse.

    Voici pour la RPi 3B+ :



    Le carré est la broche PEN (Power Enable).
    Le rond est le RUN.

    Voici pour la RPi 4B :



    Le carré est la broche Global_EN.
    On retrouve le rond de gauche qui est le RUN
    Et au milieu, le rond sans désignation est la masse.


    c) le reset.

    Il y a deux cas qui peuvent se présenter.

    c-1) l'usage de la GPIO3 permet de faire redémarrer la raspberry quand le "shutdown" a été fait.
    Il suffit de relier la GPIO3 à la masse par l'intermédiaire d'un BP.

    Attention, cela ne fonctionne pas si vous utilisez "poweroff".

    c-2) on peut faire le reset en utilisant la broche RUN en la reliant à la masse par l'intermédiaire d'un BP.

    Le RUN permet de faire un hard reset quand la broche est reliée à la masse par l'intermédiaire d'un BP.
    On peut se servir de cette broche pour redémarrer la raspberry d'une manière brutale quand vous vous retrouvez bloqué.


    d) mise au minimum de l'alimentation de la raspberry.

    Il s'agit de la broche PEN (Power enable) qui est présente à partir de la Raspberry Pi 3B+.
    Elle a été rebaptisé en Global_En avec la Raspberry Pi 4B.

    Quand cette broche est relié en permanence à la masse, la raspberry bascule dans un mode d'alimentation minimale.
    Dès qu'elle n'est plus relié à la masse la raspberry redémarre.

    Attention à ne pas se servir de cette broche pour faire un reset (un redémarrage)

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  8. #8
    Membre confirmé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    juin 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 680
    Points : 586
    Points
    586
    Par défaut
    Citation Envoyé par Artemus24 Voir le message

    a) le shutdown.

    C'est la sortie normal ou devrais-je plutôt dire "propre" de la raspberry.
    Cette phase se termine par dix clignotements de la led verte.
    C'est indicateur permet de débrancher sans risque pour la carte micro SD, votre raspberry de son adaptateur d'alimentation.

    [...]

    J'ai quand même un doute sur le fonctionnement du "shutdown" au travers de cette superposition (overlay).
    Il me semble que la durée du "shutdown" matériel soit plus courte que la durée habituelle du "shutdown" logiciel.

    Si vous utilisez un BP pour provoquer un "shutdown", je préconise plutôt de gérer la GPIO dans un service où vous faites vous même le "shutdown" logiciel (la commande).

    [...]

    b) le poweroff.

    La raspberry est capable d'indiquer à un relais, si l'on peut arrêter l'alimentation extérieure.

    Le problème que je rencontre est dans la durée du "shutdown".
    Il me semble qu'il n'y a pas les dix clignotements marquant la fin du "shutdown".
    Je suppose même que le "shutdown" est inexistant, voire même que la GPIO se met tout de suite en fonction.

    Autrement dit, le "poweroff" provoque un arrêt brutale de votre raspberry.


    La question demeure sur la bonne gestion de cet mise en arrêt de la raspberry, juste avant de provoquer la coupure de son alimentation.
    Je préconise quand le "shutdown" logiciel est lancé, de ce mettre en attente disons de 2 minutes avant de faire la coupure de l'alimentation.
    Tout ce que vous dites m'étonne et m'inquiète...

    Pour que l'arrêt soit fait sans dommage, il faut et il suffit que Linux ai fermé proprement les logiciels ouverts et qu'il ai terminé toutes les opérations d'écritures requises sur la carte SD et la clef USB (ou le disque dur branché sur USB).
    La distribution Moode est conçue pour être allégée et ne pas trop solliciter les disques.
    Rien à voir avec la satanée mémoire virtuelle de Windows qui met une minute à s'arrêter.

    Avec mon Moode Audio, quand j'appuie sur le bouton poussoir, j'ai le comportement suivant :
    - arrêt de la musique en cours de lecture au bout d'une demi seconde
    - 3 ou 4 secondes plus tard, le relay se désenclenche
    - 2 secondes plus tard, la led jaune que j'ai placée entre GND et +5V s'éteint

    J’éteins mon Raspberry Pi de cette façon deux ou trois fois par jour depuis 10 jours.

    Aucun plantage au redémarrage, Moode arrive très bien à repartir là où s'était arrêté avant dans la playlist.

    Si, au moment d'éteindre le Raspberry Pi, j'avais connecté mon smartphone en bluetooth pour lire un podcast, tout s'éteint proprement aussi, la lecture du podcast s'arrête sur le smartphone, aucun message d'erreur.
    Et quand je rallume le Raspberry Pi, et que je me connecte sur la page Moode Audio avec smartphone, il se reconnecte tout seul en Bluetooth.

    Ce comportement ne ressemble en rien à un arrêt brutal. Cela me semble "propre".
    Si j'avais fait une trentaine d'arrêts barbares, j'aurais planté mon RPi en corrompant des fichiers sur la carte SD et/ou la clef USB.

    Je me demande si la séquence de dix clignotements n'est pas là juste pour informer l'utilisateur en l’absence de gestion d'alimentation, et que lorsqu'on utilise les GPIO cette séquence n'est plus faite.

    Ca serait vraiment bien que vous posiez vos questions sur le forum de Moode Audio.

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  9. #9
    Membre confirmé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    juin 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 680
    Points : 586
    Points
    586
    Par défaut
    Il me semble que la durée du "shutdown" matériel soit plus courte que la durée habituelle du "shutdown" logiciel.
    Cela ne signifie pas forcément un arrêt malpropre...

    Cela pourrait s'expliquer de la façon suivante : le shutdown matériel force la fermeture de certains démons alors que le shutdown logiciel attends qu'ils se ferment.
    De la même façon, la carte vidéo ou les connexions réseaux sont interrompues tout de suite et donc plus vite.

    Pensons au niveau "électronique"...

    Un shutdown matériel rapide est indispensable si on veut un arrêt sans dommage en cas de coupure de courant (il suffit que l'alimentation ait des condensateurs pouvant tenir la charge pendant les 3 ou 4 secondes que dure le shutdown)

    Cela permet de protéger l'intégrité du Raspberry Pi sans être obligé de l'alimenter sur batterie ou sur onduleur.

    La dernière imprimante 3D Prusa fait la même chose : elle est capable de détecter une coupure de courant et elle est suffisament réactive pour se mettre en sécurité et sauvegarder les données d'impression avant que les condensateurs de l'alimentation ne soient vident.
    Lorsque le courant revient, l'imprimante est capable de reprendre l'impression là où elle s'était arrêtée.

    En effet, un Rapsberry Pi est conçu à la base pour être un appareil embarqué, donc pouvant fonctionner possiblement en l'absence de présence humaine.
    Il est logique de la part des concepteurs de prévoir qu'il puisse supporter une coupure de l'alimentation sans se planter, et redémarrer normalement ensuite.

    Il serait donc logique que les concepteurs du RPi et des distributions Linux aient prévu que le shutdown matériel soit plus rapide, tout en évitant la corruption de données.

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  10. #10
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    4 893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 4 893
    Points : 13 926
    Points
    13 926
    Par défaut
    Salut electroremy.

    Citation Envoyé par electroremy
    Pour que l'arrêt soit fait sans dommage, il faut et il suffit que Linux ai fermé proprement les logiciels ouverts et qu'il ai terminé toutes les opérations d'écritures requises sur la carte SD et la clef USB (ou le disque dur branché sur USB).
    Oui, je suis d'accord, mais je ne suis pas sous la distribution Moode Audio, mais sous Raspbian, linux si tu préfères.

    Citation Envoyé par electroremy
    Rien à voir avec la satanée mémoire virtuelle de Windows qui met une minute à s'arrêter.
    Sous windows, je mets au moins cinq bonnes minutes avant d'obtenir l'arrêt de mon ordinateur.
    Et pourtant, j'ai un processeur qui tourne à 2,4GHz.

    Citation Envoyé par electroremy
    Avec mon Moode Audio, quand j'appuie sur le bouton poussoir, j'ai le comportement suivant :
    J'ai un disque dur mécanique de la marque Maxtor, qui est branché sur une prise USB 3.0 (la bleue).
    Mais j'ai l'impression que c'est plutôt du USB 2.0.

    Quand je fais un shutdown logiciel, c'est-à-dire en tapant la commande "halt", le temps est variable avant d'avoir les 10 clignotements.
    Cela dépend de ce que j'ai fait avant. Parfois, il me faut au moins 2 minutes, parfois 20 secondes. C'est très variable.

    Dans le cadre des mes test, je rentre dans l'os et j sors tout de suite.
    Le temps du shutdown est de l'ordre de quelques secondes, jamais plus.
    Et quand je dis quelques secondes, c'est le temps pour que ma led jaune met pour s'allume (oui, c'est l'inverse de chez vous).

    Citation Envoyé par electroremy
    Aucun plantage au redémarrage, Moode arrive très bien à repartir là où s'était arrêté avant dans la playlist.
    Je n'ai aucun plantage au redémarrage si je sors par la commande "halt".
    Pas même un bloc de perdu dans le répertoire "/lost+found".

    Inversement, j'ai des blocs perdus dans le cadre de mes test, mais pas tout le temps.

    Citation Envoyé par electroremy
    Ce comportement ne ressemble en rien à un arrêt brutal. Cela me semble "propre".
    Oui. Mais chez moi, les temps sont bien plus long.

    Citation Envoyé par electroremy
    Ca serait vraiment bien que vous posiez vos questions sur le forum de Moode Audio.
    Comme dit précédemment, ma distribution est raspbian et non Moode Audio.
    Je n'ai aucun raison de déposer un message dans ce forum de discussion.

    Citation Envoyé par electroremy
    Cela ne signifie pas forcément un arrêt malpropre...
    Je ne sais pas répondre à cette question, mais je constate que j'ai perdu quelques blocs en consultant le répertoire "/lost+found".
    Ce qui n'arrive jamais quand je tape ma commande "halt" pour sortir proprement.

    Citation Envoyé par electroremy
    Pensons au niveau "électronique"...
    Le "shutdown" n'est pas au niveau électronique mais système.

    Citation Envoyé par electroremy
    Un shutdown matériel rapide est indispensable si on veut un arrêt sans dommage en cas de coupure de courant
    Je ne suis pas du tout d'accord avec vous.

    Un "shutdown" de votre système d'exploitation est une opération système.
    Elle consiste à attendre et fermer proprement tout ce qui est encore ouvert, voire faire aussi des sauvegardes sur le disque dur.

    Un "shutdown" matériel est un arrêt brusque de votre ordinateur, genre panne de courant.
    Il y a une confusion, même avec windows, entre un "cold shutdown" et un "hot shutdown."

    Sur votre disque dur, il existe un contexte de sauvegarde de votre environnement ou si vous préférez votre point de reprise.
    Quand votre ordinateur démarre, il charge ce contexte afin que vous puissiez travailler normalement.

    Il existe deux arrêts possibles, l'un avec sauvegarde de ce contexte (donc à chaud) et l'autre sans sauvegarde (donc à froid).
    Mais vous aurez toujours un contexte présent dans votre disque dur.
    Le reset est un démarrage à froid puisque l'arrêt a été brutale, sans sauvegarde du contexte quand vous étiez en train de travailler.

    Le problème est que nous ne faisons plus de "cold shutdown". Pourquoi ?
    La raison est que votre disque dur est une extension de la mémoire vive de votre ordinateur.
    Ce sont les fameux swap-in swap-out de la mémoire virtuelle, quand la ram est insuffisante pour stocker un programme, mais il n'y a pas que ça.

    Quand l'ordinateur redémarre, il réinstalle tout un ensemble de sauvegarde qui va servir comme point de reprise et que je nomme contexte.
    Si l'arrêt a été brusque, il y a un problème d'intégrité ou si vous préférez, vous avez perdu des informations pour repartir proprement.

    Ce n'est pas le cas dans les microcontrôleurs car le hot shutdown n'existe pas car il n'y a pas de contexte à sauvegarder.
    Tout ce trouve dans la mémoire flash.

    Pour faire cette sauvegarde, cela prend du temps, surtout dans windows.
    Le shutdown matériel n'a rien à voir avec le shutdown logiciel car il est immédiat.
    Sinon, cela voudrait dire qu'il existe une GPIO (ou autre) qui pourrait dire maintenant que j'ai terminé mon aspect système, tu peux exécuter l'aspect électronique de l'arrêt de la raspberry.
    A ma connaissance, ça n'existe pas dans la raspberry, sinon nous ne serions pas en train de discuter de cela dans ce sujet.

    Citation Envoyé par electroremy
    En effet, un Rapsberry Pi est conçu à la base pour être un appareil embarqué
    C'est là que se trouve ta confusion. Une raspberry n'est pas un micro-contrôleur, comme le ESP32 ou l'arduino. La raspberry est un ordinateur comme windows.

    Citation Envoyé par electroremy
    Il serait donc logique que les concepteurs du RPi et des distributions Linux aient prévu que le shutdown matériel soit plus rapide, tout en évitant la corruption de données.
    Dans ta logique à toi, car tu es électronicien et tu penses à des systèmes embarqués où il n'y a pas de système d'exploitation et donc rien à sauvegarder.
    En tant qu'informaticien, le shutdown est une sauvegarde qui s'effectue à partir du système d'exploitation sur un support physique comme une disque dur, ou une mémoire permanente.
    C'est ce que j'ai nommé contexte ou point de reprise, sinon comme dans l'embarqué, il va toujours refaire la même chose au démarrage.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  11. #11
    Membre confirmé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    juin 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 680
    Points : 586
    Points
    586
    Par défaut
    La seule chose qu'on pourrait conclure, c'est que votre version de Linux et la mienne sont très différentes

    Normal, elles répondent à des besoins différents.

    La vôtre permet d'utiliser le Raspberry PI comme un PC, la mienne a été simplifiée et optimisée pour le faire fonctionner en équipement HiFi.

    Linux est versatile mais du coup une solution adaptée à une configuration particulière ne n'est pas pour l'autre...

    Le mieux est d'abandonner ma solution, car elle n'est pas adaptée à votre besoin, et donc de chercher autre chose, comme un HAT de gestion d'alimentation
    Celui là est bien :
    https://www.waveshare.com/power-management-hat.htm
    C'est du luxe mais il y a :
    - un vrai management de l'alimentation (utile pour prendre soin de votre disque dur)
    - la possibilité d'alimenter le Pi avec une source de 7V à 28V pouvant être une alimentation facilement secourue avec une batterie
    - une RTC
    - une EEPROM
    ...

    Si vous voulez un truc très simple et pas cher au niveau câblage, une édition du fichier texte ne sera pas suffisante, il faut installer des scripts qui vont gérer extinction comme vous le voulez, et ensuite raccorder le circuit de commande du relais, éventuellement avec un monostable (temporisation) pour laisser au Raspberry Pi le temps de finir de s'éteindre avant de lui couper l'alimentation.

    Voici deux articles détaillés qui traitent du sujet, ça correspond mieux ce que vous avez besoin de faire :
    - https://learn.sparkfun.com/tutorials...own-button/all
    - https://magpi.raspberrypi.org/articl...h-raspberry-pi

    A vous de jouer
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  12. #12
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    4 893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 4 893
    Points : 13 926
    Points
    13 926
    Par défaut
    Salut electroremy.

    Citation Envoyé par electroremy
    La vôtre permet d'utiliser le Raspberry PI comme un PC
    L'usage premier de mes raspberry et entre autre la RPi 4B / 8GB est celle d'un ordinateur fonctionnant sous la version DEBIAN de la raspberry que l'on nomme RASPBIAN.
    Je précise qu je travail en ligne de commande mais très peu avec le mode bureau graphique.

    Je fais aussi du "bare metal" avec les RPi zéro que j'ai.

    Attention : PC correspond à Personal Computer mais il désigne courant un ordinateur fonctionnant sous windows.

    Citation Envoyé par electroremy
    Le mieux est d'abandonner ma solution, car elle n'est pas adaptée à votre besoin
    Votre solution est intéressante et est certainement utilisé dans des HAT qui gère l'alimentation.

    Pour l'instant, je suis encore dans une phase de compréhension.
    Cela me permet de mieux comprendre comment la raspberry gère le shutdown, le reset et sa mise au minimum de son alimntation.

    Merci pour les liens.

    Je vais quand même expliquer ce que je cherche à faire.

    a) je possède deux Argon FAN HAT pour mes deux raspberry pi 4B / 8GB.
    Il y a un ventilateur dont on peut moduler la vitesse, ainsi qu'un bouton poussoir.

    Je désire créer un service et développer un programme en 'C' pour gérer la vitesse du ventilateur, ainsi que le BP.

    b) avec le BP, je désire effectuer les points suivants :
    Quand la raspberry est en fonction et que j'appuie sur le BP :
    --> soit je fais un halt.
    --> soit je fais un reboot.

    A l'issue du halt, la raspberry se met dans son alimentation minimale.
    Et du coup, le disque dur n'est plus alimenté.

    Si j'appuie à nouveau sur le BP, la raspberry sort de sa mise en veille et redémarre.
    Ou bien, je débranche l'adaptateur éleectrique du secteur.
    Ca, c'est mon premier sujet.

    c) je désire me procurer un HAT qui gère le mode UPS (Uninterruptible power supply) pour mes RPi Zero.
    Ayant un baterie mais qui se branche aussi sur le secteur.

    d) et j'aimerai aussi gérer le démarrage et l'arrêt par programme.
    Cela nécessite d'avoir une horloge quand la raspberry n'est pas connecté à l'internet.

    e) dans quel but ?
    Pour effectuer des relevés de mesures périodiquement.
    De les envoyer via le net à un SGBDR comme mysql.
    Et ça, c'est mon second sujet.

    Je dois entreprendre des recherches sur mes besoins.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  13. #13
    Membre confirmé Avatar de electroremy
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    juin 2007
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2007
    Messages : 680
    Points : 586
    Points
    586
    Par défaut
    Citation Envoyé par Artemus24 Voir le message
    Votre solution est intéressante et est certainement utilisé dans des HAT qui gère l'alimentation.
    OK, dans ce cas il faut certainement ajouter ou modifier les scripts dans Linux qui gèrent les GPIO choisies pour le bouton poussoir et le relais.

    Je ne sais pas ce que fait vraiment la modif toute simple du fichier "/boot/config.txt" (les utilisateurs de Moode considéraient que cela suffisait, et chez moi ça fonctionne)

    N'ayant jamais administré Linux de façon approfondie, je ne peux pas trop vous aider, mais les deux articles que j'avais indiqué dans ma réponse précédente devrait constituer une piste intéressante.

    Autre idée :
    - éplucher le code des bibliothèques ou script fournies avec les fameux HAT de gestion d'alimentation pour voir comment ils font
    - il y a peut être une section "linux" ailleurs sur ce forum où les habitués s'y connaissent mieux que sur le forum Raspberry Pi

    C'est un peu le soucis avec le forum quand on a une question qui "recouvre" plusieurs forums ; par exemple quand j'avais du mal avec le Shield Ethernet Arduino, je posais des questions sur le forum Arduino mais certains aspects relevaient beaucoup plus des spécifications TCP/IP et HTTP.

    A bientôt
    Quand deux personnes échangent un euro, chacun repart avec un euro.
    Quand deux personnes échangent une idée, chacun repart avec deux idées.

  14. #14
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    février 2011
    Messages
    4 893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : février 2011
    Messages : 4 893
    Points : 13 926
    Points
    13 926
    Par défaut
    Salut Electroremy.

    Citation Envoyé par electroremy
    Je ne sais pas ce que fait vraiment la modif toute simple du fichier "/boot/config.txt"
    L'ajout de la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dtoverlay=gpio-shutdown,gpio_pin=3
    permet de dire que la GPIO3 (broche 5, c'est aussi la GPIO par défaut) va servir à déclencher un shutdown.
    Ceci est une superposition, dont la déclarative est fait dans un fichier ".dto", de nom "gpio-shutdown.dto" et qui se trouve dans le répertoire "/boot/overlays".
    La GPIO3 est en input, et un pull-up interne est activé sur cette broche.
    Par l'intermédiaire d'un BP, il suffit de la relier à la masse (sans résistance) de la broche 6, pour provoquer le shutdown.

    L'ajout de la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dtoverlay=gpio-power,gpiopin=26
    permet de dire que la GPIO26 (broche 37, c'est aussi la GPIO par défaut) va servir à positionner l'état de cette GPIO.
    Quand la raspberry est prête à s'arrêter l'état de la GPIO26 est inversée.
    Ceci est une superposition, dont la déclarative est fait dans un fichier ".dto", de nom "gpio-poweroff.dto" et qui se trouve dans le répertoire "/boot/overlays".
    La GPIO26 st en output, et une résistance est nécessaire.
    Par l'intermédiaire d'un relais, on peut provoquer l'arrêt de l'alimentation externe de la raspberry.*

    En ce qui me concerne, vous m'avez aidé dans vos explications sur le montage et l'usage de votre relais. Merci !

    J'ajouterai qu'il existe un paramétrage particulier concernant la raspberry pi 4B.
    Il s'agit du bootloader et des paramètres :
    --> WAKE_On_GPIO qui est à 1 : permet de déclencher le réveil de la raspberry avec la GPIO3.
    --> POWER_OFF_On_HALT qui est à 0 : pas de mise au minimum de l'alimentation.

    Mais chose bizarre avec la raspberry pi 4B, lors du shutdown, mon disque dur n'est plus alimenté, ce qui est une bonne chose.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/11/2013, 11h55
  2. Réponses: 41
    Dernier message: 02/05/2006, 14h17
  3. Access Problème avec mise à jour données
    Par Yanmeunier dans le forum Access
    Réponses: 2
    Dernier message: 30/03/2006, 16h05
  4. Form Web avec mise en forme et stockage BdD
    Par jflebegue dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 14/10/2005, 09h32
  5. problème avec mise en page de <table>
    Par dyree dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 08/09/2005, 16h54

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