Установка RasClock — часов реального времени для Raspberry Pi

Установка RasClock — часов реального времени для Raspberry Pi

`Актуальные инструкции по установке смотрите на официальном сайте RasClock <http://afterthoughtsoftware.com/products/rasclock>`_

Введение

Raspberry Pi — это сверхкомпактный и сверхдешёвый компьютер. Чтобы достичь таких размеров и цены, пришлось исключить несколько несущественных компонентов, обычно присутствующих в компьютере. Ноутбуки и настольные компьютеры сохраняют время при выключенном питании благодаря встроенным часам реального времени (Real Time Clock, RTC), работающим от батарейки. Однако модуль часов реального времени не входит в комплект поставки Raspberry Pi. Для поддержания точного времени Raspberry Pi автоматически обновляет дату и время через интернет по Ethernet или WiFi.

Без сетевого подключения Raspberry Pi просто вернётся к стандартным настройкам даты и времени (обычно 30 ноября 1999 года). Поэтому для проектов без подключения к интернету вам может понадобиться недорогой модуль RTC с батарейным питанием, чтобы ваш Pi мог хранить время!

Модуль RasClock был специально разработан для использования с Raspberry Pi и, в отличие от других доступных RTC-модулей, может подключаться непосредственно к портам GPIO Raspberry Pi.

Шаг 1. Подключение!

A.

Вставьте батарейку-«таблетку» в модуль. Для этого совместите положительный контакт + на батарейке с положительным контактом + на модуле. Это показано на Рисунке 1.

Рисунок 1. Установка батарейки в RasClock

Рисунок 1. Установка батарейки в RasClock

B.

Затем просто подключите модуль к Raspberry Pi, как показано на Рисунке 2 ниже. Он устанавливается на крайние 6 контактов GPIO со стороны SD-карты Raspberry Pi.

Рисунок 2. Установка RasClock

Рисунок 2. Установка RasClock

Шаг 2. Настройка

A.

Этот модуль RTC предназначен для использования в Raspbian. Поэтому первый шаг — убедиться, что у вас установлена последняя версия операционной системы Raspbian. Скачать последнюю версию можно здесь: http://www.raspberrypi.org/downloads

B.

После установки нам необходимо убедиться, что у нас установлены последние драйверы прошивки, выполнив следующие команды:

sudo apt-get update

(Эта команда обновляет список доступных пакетов и их версий, но не устанавливает и не обновляет никакие пакеты.)

sudo apt-get upgrade

(Эта команда фактически устанавливает более новые версии имеющихся у вас пакетов. После обновления списков менеджер пакетов знает о доступных обновлениях для установленного программного обеспечения.)

sudo apt-get autoremove

(Эта команда удалит все избыточные пакеты после последнего обновления.)

C.

В настоящее время модуль требует установки драйвера, который не входит в стандартную поставку Raspbian.

Исходный код: https://github.com/afterthoughtsoftware/linux

Мы установим модуль, используя предварительно скомпилированный установочный пакет, следующим образом:

Загрузите установочный пакет из интернета, выполнив следующие команды на Raspberry Pi (убедитесь, что вы подключены к интернету):

wget http://afterthoughtsoftware.com/files/linux-image-3.6.11-atsw-rtc_1.0_armhf.deb

(Команда wget позволяет загрузить файл из интернета, указав URL-адрес.)

Загрузка установочного пакета RasClock через wget
sudo dpkg -i linux-image-3.6.11-atsw-rtc_1.0_armhf.deb

(Команда dpkg позволяет управлять пакетами Debian. Ключ -i устанавливает пакет или обновляет его, если он уже установлен.)

Установка пакета RasClock через dpkg
sudo cp /boot/vmlinuz-3.6.11-atsw-rtc+ /boot/kernel.img

(Команда cp означает копирование. Здесь нам нужно скопировать загрузочный файл модуля RTC в загрузочную директорию Raspberry Pi.)

Копирование загрузочного файла RTC

D.

Следующий шаг включает редактирование текста в загрузочных файлах Raspberry Pi. Я обычно использую текстовый редактор nano для таких небольших изменений — он простой, предустановлен и легко осваивается.

Сначала нам нужно настроить Raspbian для загрузки драйверов RTC при запуске, добавив информацию о загрузке в конфигурационный файл /etc/modules.

sudo nano /etc/modules

(Эта команда откроет файл „modules“ в текстовом редакторе nano и позволит вам внести изменения. Для использования системных команд nano просто удерживайте клавишу CTRL, обозначаемую как ^ в nano, одновременно нажимая соответствующую клавишу команды. Например, CTRL+X для выхода или CTRL+G для справки.)

Файл /etc/modules в редакторе nano

Чтобы добавить текст, просто используйте клавиши со стрелками, чтобы перейти к следующей строке в загрузочном файле, и добавьте следующий текст, по одному в каждой строке:

i2c-bcm2708
rtc-pcf2127a

Затем выйдите из nano (CTRL+X) и не забудьте сохранить изменения!

Добавление модулей i2c-bcm2708 и rtc-pcf2127a

D.

Последний шаг в настройке — зарегистрировать модуль RTC при загрузке Raspberry Pi и установить системные часы из RTC. Снова используем nano для редактирования файлов. При редактировании файлов всегда следуйте инструкциям, указанным в верхней части файла и обозначенным символом #. Например, файл, который мы сейчас будем редактировать, требует, чтобы любой текст был помещён перед концом файла, обозначенным как „exit 0“.

Откройте нужный файл для редактирования:

sudo nano /etc/rc.local
Файл /etc/rc.local в редакторе nano

Для плат Raspberry Pi Rev 1 добавьте следующий текст:

echo pcf2127a 0x51 > /sys/class/i2c-adapter/i2c-0/new_device
( sleep 2; hwclock -s ) &

Для плат Raspberry Pi Rev 2 добавьте следующий текст:

echo pcf2127a 0x51 > /sys/class/i2c-adapter/i2c-1/new_device
( sleep 2; hwclock -s ) &

Затем перезагрузитесь!

sudo reboot
Редактирование файла /etc/rc.local для RasClock

Шаг 3. Использование RTC

После перезагрузки Raspberry Pi вы сможете получить доступ к модулю с помощью команды hwclock.

При первом использовании часов вам необходимо установить время. Чтобы скопировать системное время в модуль часов:

hwclock -w

Чтобы прочитать время из модуля часов:

hwclock -r

Чтобы скопировать время из модуля часов в систему:

hwclock -s

Вот и всё! Теперь вы можете хранить время на Raspberry Pi без интернета!

RasClock совместим со всеми стандартными командами „hwclock“!

RasClock и ArchLinux

`Обсуждение на форуме <http://archlinuxarm.org/forum/viewtopic.php?f=31&t=5819>`_

RasClock полностью совместим с ArchLinux при соблюдении следующих условий:

  1. используется ядро linux-raspberrypi-latest (на данный момент v3.11.2)

  2. установлен пакет i2c-tools

  3. добавлены i2c-bcm2708 и rtc_pcf2127 в файл /etc/modules-load.d/raspberrypi.conf

  4. создан новый файл /etc/modules-load.d/i2c-dev.conf, содержащий одну строку:

i2c-dev
  1. при загрузке выполняется команда # echo pcf2127 0x51 > /sys/class/i2c-dev/i2c-1/device/new_device — автор пока не разобрался, как запускать её автоматически при загрузке, но выполнение после загрузки определённо предоставляет доступ к часам реального времени!

Благодарность Найджелу Хизмену (Nigel Heasman) за его работу над этим!