Все зависит от количества данных, которые вы готовы потерять. Если вы не можете позволить себе потерять что-либо, потребуется найти способ подключить PI непосредственно к аккумулятору (с предохранителем, конечно), чтобы он не выключался при выключении зажигания.
Опять же, типичный автомобильный аккумулятор будет иметь около 80 А-ч, а ПИ будет потреблять от 500 до 1200 мА (в зависимости от того, является ли это модель А или В), так что, вероятно, он разряжает автомобильный аккумулятор в течение 2-6 дней, так что я не думаю, что вы найдете это приемлемым.
Если вы по-прежнему не можете позволить себе потерять данные, вы можете разработать какое-то нестандартное оборудование, в котором вы можете управлять источником питания от PI, а также отслеживать состояние зажигания. Если зажигание выключено, вы сбрасываете свои данные на SD-карту, выключаете ОС и затем, как последний шаг, выключаете источник питания. При включении зажигания также необходимо включить источник питания, чтобы возобновить работу ПИ. Это все выполнимо, но довольно большой проект.
Однако, если вы сочтете приемлемым потерять некоторые данные при завершении работы, я бы разработал демон, который периодически сохраняет данные GPS в файл таким образом, чтобы он выполнял вызов fsync после каждой записи (чтобы сбросить данные на SD-карту). открытка). Если вы делаете это каждые несколько секунд (а также используете журналируемую файловую систему ext4 по умолчанию), это, вероятно, будет означать, что вы будете терять только последние несколько секунд при каждой потере питания.
Пожалуйста, имейте в виду, что Raspbian (по крайней мере, моя установка) не поставляется с fsck корневой файловой системы во время загрузки. Вы должны сделать следующее, чтобы включить его при каждом монтировании:
tune2fs -c 1 /dev/mmcblk0p2
Вы также должны изменить последнюю строку для корневой файловой системы в / etc / fstab, чтобы она содержала 1, например так:
/dev/mmcblk0p2 / ext4 defaults,noatime,commit=120 0 1
Change this ^^^^^
Если вы этого не сделаете, то ваша корневая файловая система может время от времени не загружаться, поэтому, если вы используете систему без наушников, в которой вы отключаете питание без контролируемого выключения, это абсолютно необходимо.