Подключение 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

Комментарии:

Для написания комментариев необходимо зарегистрироваться