Todo depende de la cantidad de datos que esté dispuesto a perder. Si no puede permitirse perder nada, requerirá que encuentre una manera de conectar su PI directamente a la batería (con un fusible, por supuesto), para que no se apague cuando se apaga el encendido.
Por otra parte, una batería de automóvil típica tendría alrededor de 80 Ah y el PI consumirá entre 500-1200 mA (dependiendo de si es un modelo A o B), por lo que probablemente agote la batería de su automóvil entre 2 y 6 días, así que no creo que encuentres esto aceptable.
Si aún no puede permitirse perder datos, es posible que pueda diseñar algún tipo de hardware personalizado donde pueda controlar la fuente de alimentación desde el PI y también monitorear el estado del encendido. Si el encendido está apagado, vacia los datos a la tarjeta SD, apaga el sistema operativo y luego, como último paso, apaga la fuente de alimentación. La fuente de alimentación también debe encenderse cuando se enciende el encendido, para permitir que el PI se inicie nuevamente. Todo esto es factible, pero es un proyecto bastante grande.
Sin embargo, si considera aceptable perder algunos datos al apagar, diseñaría el daemon que guarda los datos del GPS periódicamente en un archivo de tal manera que ejecute una llamada fsync después de cada escritura (para vaciar los datos en la SD- tarjeta). Si hace esto cada pocos segundos (y también está usando el sistema de archivos ext4 de diario predeterminado), esto probablemente significaría que solo perderá los últimos segundos con cada pérdida de energía.
Tenga en cuenta que Raspbian (al menos mi instalación) no venía con un fsck del sistema de archivos raíz en el momento del arranque. Debe hacer lo siguiente para habilitarlo en cada montaje:
tune2fs -c 1 /dev/mmcblk0p2
También debe cambiar la última línea del sistema de archivos raíz en / etc / fstab para que contenga un 1, como este:
/dev/mmcblk0p2 / ext4 defaults,noatime,commit=120 0 1
Change this ^^^^^
Si no hace esto, es posible que su sistema de archivos raíz no se pueda iniciar de vez en cuando, por lo que si está ejecutando un sistema sin cabeza donde apaga la alimentación sin hacer un apagado controlado, esto es absolutamente necesario.