Подключение RTC (часы реального времени) к Raspberry Pi
-
В Raspberry Pi отсутствуют встроенные часы реального времени, а значит после выключения компьютера время сбрасывается, что не очень удобно.
Решить данную проблему могут часы реального времени с памятью, питаемой от батарейки, и управляемые по шине i2c.
Самыми популярными RTC являются часы на основе чипов DS1307,DS3231 и т.д. Я рекомендую часы на основе DS3231, т.к они одни из самых точных.
Рассмотрим, как с ними работать:
echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
регистрируем часы в системе
Для работы с RTC в Linux существует утилита hwclock
hwclock -r - считать время, сохранённое в RTC hwclock -s - синхронизировать время системы с временем RTC hwclock -w - записать текущее системное время в RTC
Таким образом, после того, как вы установите в системе точное время при помощи утилиты date (например date --set=”20140125 09:17:00”, если есть доступ к сети, то можно синхронизировать системное время с точным временем при помощи сетевой службы ntp - ntpd -gq), необходимо записать это время в RTC -
hwclock -w
При каждой загрузке системы необходимо в качестве системного времени, устанавливать время, сохранённое в RTC.
Для этого пропишите в /etc/rc.local перед exit0 следующие команды:
echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-1/new_device hwclock -s
Опционально можно отключить синхронизацию системного времени через Интернет:
sudo update-rc.d ntp disable