Tất cả phụ thuộc vào lượng dữ liệu bạn chuẩn bị mất. Nếu bạn không đủ khả năng để mất bất cứ thứ gì, nó sẽ yêu cầu bạn tìm cách kết nối PI trực tiếp với pin (dĩ nhiên là có cầu chì), để nó không bị tắt khi tắt đánh lửa.
Sau đó, một lần nữa, pin xe thông thường sẽ có khoảng 80 Ah và PI sẽ tiêu thụ trong khoảng 500-1200 mA (tùy thuộc vào việc đó là model A hay B), do đó có thể sẽ làm cạn kiệt pin xe của bạn trong khoảng từ 2 đến 6 ngày, Vì vậy, tôi không nghĩ rằng bạn sẽ tìm thấy điều này chấp nhận được.
Nếu bạn vẫn không đủ khả năng để mất dữ liệu, bạn có thể thiết kế một số loại phần cứng tùy chỉnh nơi bạn có thể kiểm soát nguồn cung cấp từ PI và cũng có thể theo dõi trạng thái đánh lửa. Nếu đánh lửa bị tắt, bạn xả dữ liệu vào thẻ SD, tắt hệ điều hành và sau đó là bước cuối cùng tắt nguồn điện. Nguồn điện cũng cần được bật khi đánh lửa được bật, để PI bắt đầu lại. Đây là tất cả có thể làm được, nhưng một dự án khá lớn.
Tuy nhiên, nếu bạn thấy có thể chấp nhận mất một số dữ liệu khi tắt máy, tôi sẽ thiết kế trình nền lưu dữ liệu GPS định kỳ vào một tệp theo cách nó thực hiện cuộc gọi fsync sau mỗi lần ghi (để xóa dữ liệu sang SD- Thẻ). Nếu bạn làm điều này cứ sau vài giây (và cũng đang sử dụng hệ thống tệp ext4 ghi nhật ký mặc định) thì điều này có thể có nghĩa là bạn sẽ chỉ mất vài giây cuối cùng ở mỗi lần mất điện.
Xin lưu ý rằng Raspbian (ít nhất là cài đặt của tôi) không đi kèm với một fsck của hệ thống tệp gốc khi khởi động. Bạn phải làm như sau để kích hoạt nó ở mọi mount:
tune2fs -c 1 /dev/mmcblk0p2
Bạn cũng phải thay đổi dòng cuối cùng cho hệ thống tệp gốc trong / etc / fstab để chứa 1, như thế này:
/dev/mmcblk0p2 / ext4 defaults,noatime,commit=120 0 1
Change this ^^^^^
Nếu bạn không làm điều này thì thỉnh thoảng hệ thống tệp gốc của bạn có thể không khởi động được, vì vậy nếu bạn đang chạy một hệ thống không đầu, nơi bạn tắt nguồn mà không thực hiện tắt máy có kiểm soát thì điều này là hoàn toàn cần thiết.