Часовник за реално време (RTC) за
RASPBERRY PI
Една много полезна хардуерна част липсва на Raspbery PI и това е часовник за реално време.
Ако искате да използвате Raspberry PI в условия, в които то няма връзка с интернет, а е нужно да се знаете точното време тогава Ви е нужен часовник за реално време.
Един много евтин и лесен начин за добавяне на такъв е използването на DS1320. Освен този чип са нужни само още 2 елемента - батерия, и 32.768kHz кварцов резонатор. Общата сума нужна за направата на такъв часовник не повече от 5лв.
Схемата на часовника е:
Подкарва се по следният начин:
1. Променя се файла "arch/arm/mach-bcm2708/bcm2708.c" от сорсовете на кърнела, така че той да съдържа следния код:
static struct platform_device bcm2708_bsc1_device = {
.name = "bcm2708_i2c",
.id = 1,
.num_resources = ARRAY_SIZE(bcm2708_bsc1_resources),
.resource = bcm2708_bsc1_resources,
};
static struct i2c_board_info __initdata pi_i2c_devs[] = {
{
I2C_BOARD_INFO("ds1307", 0x68),
},
};
......
bcm_register_device(&bcm2835_thermal_device);
i2c_register_board_info(1, pi_i2c_devs,ARRAY_SIZE(pi_i2c_devs));
2. Избира се модула
ARCH=arm CROSS_COMPILE=${CCPREFIX} make menuconfig
3. Кърнела се компилира по подобие на инструкциите описани тук
4. В директорията /etc/udev/rules.d се създава файл 10-local.rules (ако го няма) и в него се добавя ред със съдържание
SUBSYSTEM=="rtc", ATTRS{name}=="ds1307", SYMLINK+="rtc", OPTIONS+="last_rule"
5. Зарежда се модула i2c шината
modprobe i2c-bcm2708
6. Зарежда се модула за DS1307
modprobe rtc-ds1307
7. Ако всичко е наред се появяват устройствата /dev/rtc и /dev/rtc2
# ls -la /dev/rtc*
lrwxrwxrwx 1 root root 4 Jan 1 1970 /dev/rtc -> rtc2
crw------- 1 root root 254, 0 Jan 1 1970 /dev/rtc0
crw------- 1 root root 254, 1 Jan 1 1970 /dev/rtc1
crw------- 1 root root 254, 2 Jan 1 1970 /dev/rtc2
8. Във файла /etc/default/hwclock се променя частта:
HCTOSYS_DEVICE=rtc2
9. Проверява се дали всичко работи
# /etc/init.d/hwclock.sh restart
[info] Saving the system clock.
[info] Hardware Clock updated to Wed May 8 17:14:45 EEST 2013.
# hwclock -r
Wed 08 May 2013 05:14:57 PM EEST -0.438363 seconds
Коментари:
Нов коментар