Itu semua tergantung pada jumlah data yang Anda siap kehilangan. Jika Anda tidak mampu kehilangan apa pun, itu akan mengharuskan Anda menemukan cara untuk menghubungkan PI Anda langsung ke baterai (dengan sekering tentu saja), sehingga tidak dimatikan saat kunci kontak dimatikan.
Kemudian lagi, aki mobil khas akan memiliki sekitar 80 Ah dan PI akan mengkonsumsi antara 500-1200 mA (tergantung pada apakah itu model A atau B), sehingga mungkin akan menguras baterai mobil Anda di antara 2 dan 6 hari, jadi saya tidak berpikir Anda akan menemukan ini dapat diterima.
Jika Anda masih tidak mampu kehilangan data, Anda mungkin dapat merancang beberapa jenis perangkat keras khusus tempat Anda dapat mengontrol catu daya dari PI dan juga memantau keadaan kunci kontak. Jika kunci kontak dimatikan, Anda menyiram data Anda ke kartu SD, matikan OS dan kemudian sebagai langkah terakhir matikan catu daya. Catu daya juga perlu dihidupkan ketika kunci kontak dihidupkan, untuk membiarkan PI memulai lagi. Ini semua bisa dilakukan, tetapi proyek yang cukup besar.
Namun, jika Anda merasa dapat kehilangan beberapa data pada saat shutdown, saya akan merancang daemon yang menyimpan data GPS secara berkala ke file sedemikian rupa sehingga menjalankan panggilan fsync setelah setiap kali menulis (untuk menyiram data ke SD- kartu). Jika Anda melakukan ini setiap beberapa detik (dan juga menggunakan sistem file ext4 journaling default) ini mungkin berarti bahwa Anda hanya akan kehilangan beberapa detik terakhir pada setiap kehilangan daya.
Harap diingat bahwa Raspbian (setidaknya instalasi saya) tidak datang dengan fsck dari sistem file root pada saat boot. Anda harus melakukan yang berikut untuk mengaktifkannya di setiap mount:
tune2fs -c 1 /dev/mmcblk0p2
Anda juga harus mengubah baris terakhir agar sistem file root di / etc / fstab mengandung 1, seperti ini:
/dev/mmcblk0p2 / ext4 defaults,noatime,commit=120 0 1
Change this ^^^^^
Jika Anda tidak melakukan ini maka sistem file root Anda mungkin tidak dapat di-boot dari waktu ke waktu, jadi jika Anda menjalankan sistem tanpa kepala di mana Anda mematikan daya tanpa melakukan shutdown yang terkontrol, ini benar-benar diperlukan.