Tudo depende da quantidade de dados que você está preparado para perder. Se você não puder perder nada, será necessário encontrar uma maneira de conectar seu PI diretamente à bateria (com um fusível, é claro), para que ele não seja desligado quando a ignição for desligada.
Por outro lado, uma bateria de carro típica teria cerca de 80 Ah e o PI consumirá entre 500-1200 mA (dependendo do modelo A ou B), de modo que provavelmente irá esgotar a bateria do carro entre 2 e 6 dias, então eu não acho que você ache isso aceitável.
Se você ainda não puder perder dados, poderá projetar algum tipo de hardware personalizado, onde poderá controlar a fonte de alimentação do PI e também monitorar o estado da ignição. Se a ignição estiver desligada, você envia os dados para o cartão SD, encerra o SO e, na última etapa, desliga a fonte de alimentação. A fonte de alimentação também precisa ser ligada quando a ignição é ligada, para permitir que o PI inicie novamente. Tudo isso é possível, mas um projeto bastante grande.
No entanto, se você achar aceitável perder alguns dados no desligamento, eu projetaria o daemon que salva os dados do GPS periodicamente em um arquivo, de forma que ele execute uma chamada fsync após cada gravação (para liberar os dados para o SD- cartão). Se você fizer isso a cada poucos segundos (e também estiver usando o sistema de arquivos ext4 de registro em diário padrão), isso provavelmente significa que você perderá apenas os últimos segundos em cada perda de energia.
Lembre-se de que o Raspbian (pelo menos minha instalação) não veio com um fsck do sistema de arquivos raiz no momento da inicialização. Você deve fazer o seguinte para habilitá-lo em todas as montagens:
tune2fs -c 1 /dev/mmcblk0p2
Você também precisa alterar a última linha do sistema de arquivos raiz em / etc / fstab para conter 1, assim:
/dev/mmcblk0p2 / ext4 defaults,noatime,commit=120 0 1
Change this ^^^^^
Se você não fizer isso, seu sistema de arquivos raiz poderá não ser inicializável de tempos em tempos; portanto, se você estiver executando um sistema sem cabeça em que desligue a energia sem fazer um desligamento controlado, isso é absolutamente necessário.