Es hängt alles von der Menge der Daten ab, die Sie verlieren möchten. Wenn Sie es sich nicht leisten können, etwas zu verlieren, müssen Sie einen Weg finden, Ihren PI direkt an die Batterie anzuschließen (natürlich mit einer Sicherung), damit er nicht ausgeschaltet wird, wenn die Zündung ausgeschaltet wird.
Andererseits würde eine typische Autobatterie etwa 80 Ah haben und der PI wird zwischen 500 und 1200 mA verbrauchen (je nachdem, ob es sich um ein Modell A oder B handelt), so dass Ihre Autobatterie wahrscheinlich in 2 bis 6 Tagen leer wird. Ich denke also nicht, dass Sie dies für akzeptabel halten.
Wenn Sie es sich immer noch nicht leisten können, Daten zu verlieren, können Sie möglicherweise eine benutzerdefinierte Hardware entwerfen, mit der Sie die Stromversorgung vom PI aus steuern und auch den Zustand der Zündung überwachen können. Wenn die Zündung ausgeschaltet ist, speichern Sie Ihre Daten auf der SD-Karte, fahren das Betriebssystem herunter und schalten als letzten Schritt die Stromversorgung aus. Die Stromversorgung muss auch eingeschaltet sein, wenn die Zündung eingeschaltet ist, damit der PI erneut startet. Das ist alles machbar, aber ein ziemlich großes Projekt.
Wenn es jedoch akzeptabel ist, beim Herunterfahren Daten zu verlieren, entwerfe ich den Daemon, der die GPS-Daten regelmäßig in einer Datei speichert, so, dass er nach jedem Schreibvorgang einen fsync-Aufruf ausführt (um die Daten auf die SD-Karte zu übertragen). Karte). Wenn Sie dies alle paar Sekunden tun (und auch das standardmäßige ext4-Dateisystem für Journaling verwenden), bedeutet dies wahrscheinlich, dass Sie bei jedem Stromausfall nur die letzten Sekunden verlieren.
Bitte beachten Sie, dass Raspbian (zumindest meine Installation) beim Booten kein fsck des Root-Dateisystems enthielt. Sie müssen Folgendes tun, um es bei jedem Mount zu aktivieren:
tune2fs -c 1 /dev/mmcblk0p2
Sie müssen auch die letzte Zeile für das Root-Dateisystem in / etc / fstab so ändern, dass sie eine 1 enthält:
/dev/mmcblk0p2 / ext4 defaults,noatime,commit=120 0 1
Change this ^^^^^
Wenn Sie dies nicht tun, ist Ihr Root-Dateisystem möglicherweise von Zeit zu Zeit nicht bootfähig. Wenn Sie also ein Headless-System ausführen, bei dem Sie die Stromversorgung ohne kontrolliertes Herunterfahren ausschalten, ist dies unbedingt erforderlich.