Raspberrry ausschalten indem man einfach Strom wegnimmt?

  • Hallo


    Ich habe einen Raspberry am laufen.

    Dieser hängt an einem Stromkreis, der automatisch abgeschaltet wird.


    Ist das für den Raspberry gut oder sollte ich für den einen eigenen Stromkreis mit Dauerstrom aufbauen.


    Hat jemand dazu Erfahrung?


    Danke

  • Also mit den Read-Only- bzw. Overlay-Dateisystemen habe ich in der Firma gute Erfahrungen gemacht:
    Hier ist ein RPi in einem Testsystem ohne Bildschirm verbaut, das in der Produktion bei Leuten ohne IT-Affinität zum Einsatz kommt, à la Fehlerbehebung durch Aus- und wieder Einstecken. Das funzt problemlos!


    Aber nimm nicht die von Dir oben verlinkte Anleitung: Die ist nicht für Bullseye ausgelegt und somit veraltet. Ich bin damit gnadenlos auf die Schnauze gefallen. Zum Glück geht's wesentlich einfacher mit dem Overlay-Dateisystem aus sudo raspi-config:

    Punkt 4 "Performance Options":


    Unterpunkt P3 "Overlay File System":


    Dann die (hoffentlich) selbsterklärenden Abfragen entsprechend mit "Yes" beantworten...


    Das funzt einwandfrei.

  • Kannst Du den RPi nicht einfach runterfahren, bevor der Strom gekappt wird? :conf:


    Aktuell nicht, da die einzige Zuleitung per Relais im Schaltschrank ( Master Slave Schalter/Relais ) komplett abgeschalten wird.


    Habe aktuell 3 Möglichkeiten:

    1. Raspberry RO umstellen

    2 Zusätzliche Stromleitung verlegen

    3. Das Relais im Schaltschrank abklemmen und alles im Dauerstrom laufen lassen


    Aktuell versuche ich die 1. Möglichkeit aus, da es am einfachsten umzusetzen ist.


    Grund:

    Die Stromkosten für Dauerstrom ist mir zu hoch.

    Zusätzliche Leitung verlegen -> Aktuell ist kein Elektriker verfügbar :(

  • Ist das für den Raspberry gut

    Nein, wie ja auch die anderen geschrieben haben.

    Willst du Dateien schreiben, also kein R/O-Dateisystem nutzen, könntest du auch eine Schaltung verwenden, die bei Stromausfall den PI sauber runter fährt.

    Dazu gibt es verschiedene Vorschläge mit großen Kondensatoren oder auch kleine USV. die für den PI vorgesehen sind.

    Bei den USV hättest du den Vorteil, dass der PI, bevor er runtergefahren wird, noch einiges erledigen kann. So zum Beispiel auch eine Meldung per WiFo, Mobilfunk etwas abgeben.

    Selber denken,
    wie kann man nur?

  • Wird diese Abschaltung immer zur gleichen Zeit gemacht ??

    ;) Gruß Outi :D
    PIs: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Tests) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite)
    2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (noch ohne) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (Ubuntu Server 64 Bit) / Pi 400 (Bullseye 64 Bit) / 2x Pi Pico
    Platinen: Sense HAT / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT

  • Im Read-Only-Modus sind die SD-Karten geschützt und diese Aussage basiert auf Erfahrungswerten.


    Bei einem Projekt bin ich ähnlich vorgegangen. Die Boot-Partition und Root-Partition sind beide nur lesend gemountet und eine dritte Partition dient zum Abspeichern statistischer Daten. Die Module (RPI0) werden oftmals ohne sie herunterzufahren abgeschaltet. Das einzige korrumpierbare ist dann die SQLite-DB auf der Datenpartition, die ggf. neu erstellt wird, wenn die alte korrupt ist. Von den Modulen sind so ca. 360 im Umlauf und bis jetzt hatte ich nur ca. 4 Rückmeldungen wegen defekter SD-Karten. Alle Module sind im Dauereinsatz und es werden im unbeobachteten Betrieb jede Minute Daten geschrieben. Wie oft die Module einfach vom Strom getrennt worden sind, kann ich leider nicht herausfinden.

  • eine dritte Partition dient zum Abspeichern statistischer Daten.

    Schon einmal überlegt, diese Partition nur zum schreiben als r/w zu mounten, um sie dann wieder auf ro zu stellen oder zu entmouten?

    Kommt auch die Schreibhäufigkeit an.

    Oder, wenn z.B. nur die SQLite-Datenbank beschrieben wird, das Dateisystem nach dem Beschreiben zu sync-en. es bleibt eingehängt, doch wenn niemand schreibt, sollte beim "Absturz" das Dateisystem doch nicht kaputt gehen. (vielleicht das Journaling ausschalten)

    Selber denken,
    wie kann man nur?

  • Schon einmal überlegt, diese Partition nur zum schreiben als r/w zu mounten, um sie dann wieder auf ro zu stellen oder zu entmouten?

    Etwas Ähnliches mache ich mit dem rootfs. Der Anwender möchte ja auch den Hostnamen ändern, WLAN-SSID und Password vergeben.


    Aber solange die DB geöffnet ist, kann man das Dateisystem nicht ReadOnly remounten.

    Ich müsste dann erst die Datenbank schließen, dann den Mount-Befehl absetzen und
    vor dem nächsten Schreibvorgang den Mount-Befehl erneut absetzen, dann wieder die DB öffnen.


    Oder, wenn z.B. nur die SQLite-Datenbank beschrieben wird, das Dateisystem nach dem Beschreiben zu sync-en.

    Das wäre die "billigere" Methode, die die Wahrscheinlichkeit reduzieren würde, dass genau bei einem Schreibvorgang der RPI ausgeschaltet wird.

    Das journaling habe ich bis jetzt auch nicht deaktiviert.

  • Habe aktuell 3 Möglichkeiten:

    Eine vierte Möglichkeit fällt mir noch ein: eine kleine USV. Da wäre z.B. das System "S.USV Pi advanced" mit 3000mAh Lipo Akku. Neu habe ich es jetzt nicht mehr gefunden, bei eBay-Kleinanzeigen sind aber welche drin und teilweise unbenutzt.

    Der Akku sollte auch recht lange durchhalten (je nach Pi und Last), vielleicht reicht es damit sogar die Ausschaltzeit zu überbrücken und der Pi läuft damit durch. Falls nicht, fährt er halt brav runter.


    Ich würde aber auch als Erstes die RO-Variante favorisieren.

    Viele Grüße,

    Peter

  • Je nachdem was man genau machen will, kann es sich auch lohnen sich mit Mikrocontrollern zu beschäftigen. Die Einstiegshürde ist nicht mehr so hoch wie früher. Der Vorteil ist, dass der Stromverbrauch je nach Controller zwischen ein paar uA und 150 mA liegt. Der RPI0 benötigt dauerhaft 100 - 200 mA, je nachdem ob man WIFI nutzt oder nicht und was sonst noch so für Prozesse laufen.


    Für den RPI: Die RO-Variante ist kostenlos und recht einfach umzusetzen.