I2C 1-Wire RTC
-
Собрал RTC и 1-Wire.
Схема:
То что получилось
Настройка RTC
Добавляем в систему I2C если ранее это не сделано.
Редактируем файл /etc/modprobe.d/raspi-blacklist.confsudo
nano /etc/modprobe.d/raspi-blacklist.conf
редактируем файл /etc/modules, вставляем #перед строкой blacklist i2c-bcm2708
nano /etc/modules
вставляем в конец строку i2c-dev
ставим I2C тулс
sudo apt-get install i2c-tools
смотрим какие I2C устройства есть на шине
pi@raspberrypi ~ $ i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f00:-- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- 18 -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
sudo modprobe rtc-ds1307
18 - это адрес 1-wire68 - это RTC DS1307
набираем
потом меняем пользователя на root: sudo -s и вводим
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-0/new_device (для rev 1 Pi) echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device (для rev 2 Pi)
теперь выведем в консоль время с RTC:
pi@raspberrypi ~ $ sudo hwclock -r Set 01 Jan 2000 00:01:20 EEST -0.814742 seconds pi@raspberrypi ~ $ dateSun Jun 16 13:40:36 EEST 2013
для того чтобы записать время из системы в RTC
sudo hwclock -w
Tеперь настроим чтобы часы находились после перезагрузки. Для этого отредактируем файл modules командой
sudo nano /etc/modules
и добавим туда rtc-ds1307
потом отредактируем файл /etc/rc.localsudo
nano /etc/rc.local
и добавим в него
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-0/new_device (для v1 raspberry pi) echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device (для v2 raspberry pi)sudo hwclock -s
эти строчки нужно вставить перед строкой exit 0
Все теперь в системе есть RTC.OWFS настраивал по инструкции с этого сайта
http://wiki.temperatur.nu/index.php/OWFS_with_i2c_support_on_Raspberry_Pi_(English_version)