Tutto dipende dalla quantità di dati che sei disposto a perdere. Se non puoi permetterti di perdere nulla, ti chiederà di trovare un modo per collegare il tuo PI direttamente alla batteria (con un fusibile ovviamente), in modo che non venga spento quando si spegne l'accensione.
Inoltre, una tipica batteria per auto dovrebbe avere circa 80 Ah e il PI consumerà tra 500-1200 mA (a seconda che si tratti di un modello A o B), quindi probabilmente consumerà la batteria dell'auto tra 2 e 6 giorni, quindi non penso che lo troverai accettabile.
Se non riesci ancora a permetterti di perdere dati, potresti essere in grado di progettare un tipo di hardware personalizzato in cui è possibile controllare l'alimentatore dall'IP e anche monitorare lo stato dell'accensione. Se l'accensione viene disattivata, si scaricano i dati sulla scheda SD, si spegne il sistema operativo e quindi come ultimo passaggio si spegne l'alimentatore. L'alimentazione deve anche essere attivata quando si inserisce l'accensione, per riavviare l'IP. Tutto ciò è fattibile, ma è un progetto abbastanza grande.
Tuttavia, se trovi accettabile perdere alcuni dati allo spegnimento, progetterei il demone che salva periodicamente i dati GPS su un file in modo tale da eseguire una chiamata fsync dopo ogni scrittura (per scaricare i dati su SD- carta). Se lo fai ogni pochi secondi (e stai utilizzando anche il file system ext4 journaling predefinito), ciò significherebbe probabilmente che perderai solo gli ultimi secondi ad ogni interruzione di corrente.
Tieni presente che Raspbian (almeno la mia installazione) non è stato fornito con un fsck del file system di root all'avvio. Devi fare quanto segue per abilitarlo ad ogni montaggio:
tune2fs -c 1 /dev/mmcblk0p2
Devi anche cambiare l'ultima riga per il file system di root in / etc / fstab per contenere un 1, in questo modo:
/dev/mmcblk0p2 / ext4 defaults,noatime,commit=120 0 1
Change this ^^^^^
Se non lo fai, il tuo file system di root potrebbe non essere avviabile di tanto in tanto, quindi se stai eseguendo un sistema senza testa in cui spegni l'alimentazione senza fare uno spegnimento controllato, questo è assolutamente necessario.