В настоящее время я работаю над приложением на моем RPi, которое будет отслеживать набор GPIO в режиме реального времени, где точное время, когда GPIO становится ВЫСОКИМ, имеет решающее значение для моего приложения.
Как рассчитывается время на RPi с Arch Linux OS; синхронизируется ли он с сервером времени UDP NTP? Если это так, то постоянно ли он обновляется в фоновом потоке / демоне, как другие установки Linux? Или, возможно, он обновляется каждый раз, когда звонят, чтобы узнать время?
Поскольку два события могут происходить на двух (или более) GPIO одновременно, мне нужно реализовать самое быстрое решение, которое можно получить в режиме реального времени.
Фактическая дата не важна, когда происходит конкретное событие; вместо этого точное время относительно других событий. Записанные данные будут показаны на графике, где интервал между событиями должен быть максимально точным.
Как обрабатывается время на RPi в Arch Linux, и насколько оно точно в многопоточной среде?
источник
ntp
илиsystemd-timesyncd
(я бы рекомендовал последний в сочетании сsystemd-networkd
).systemd-timesyncd
иsystemd-networkd
, объяснение будет с благодарностью! Спасибо. Неважно, я пропустил вашу гиперссылку на объяснение systemd-timesyncd. : SОтветы:
Как и в большинстве вещей в Arch, по умолчанию не настроен инструмент управления временем; Вы можете выбрать один из нескольких вариантов синхронизации времени .
Учитывая отсутствие RTC в RaspberryPi , я бы посоветовал вам использовать инструмент, который может сохранять данные в последний раз на диске, а затем ссылаться на них во время загрузки, чтобы вывести часы из состояния рассвета времени UNIX .
Используя комбинацию systemd-timesyncd , дополнительного файла конфигурации для предпочитаемых вами серверов времени
/etc/systemd/timesyncd.conf
и systemd-networkd , вы быстро загрузите вашу сеть при загрузке и исправите любой сдвиг в ваших часах как можно раньше . Затем демон будет синхронизировать ваши часы с периодическими интервалами (примерно каждые 30 минут).источник