RTC (Raspi) : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Poussé depuis encluminure.)
(oups, mauvaise configuration du module Push (-:)
Ligne 1 : Ligne 1 :
La [[Raspberry-Pi]] n'a pas d'[[RTC|horloge temps réel]].
 
Pour se mettre à l'heure, elle utilise le protocole [[Ntp]], mais on peut aussi lui greffer un module externe.
 
  
=== Module RTC ===
 
Le module RTC DS1338 de Maxim-Dallas contient un quartz à 32,768 KHz, un support de pile (CR2032) et une interface [[i2c]].
 
Il est compatible avec le DS1307 (qui fonctionne entre 5V et 7V), et fonctionne avec une une tension de 3,3V donc compatible avec ce que peut fournir la raspi.
 
 
La raspi sera le maitre et le module sera l'esclave.
 
 
==== Câblage ====
 
La raspi possède les broches i2c dans son [[GPIO]], et le module externe peut être alimenté en 3,3V.
 
On connecte donc :
 
* SDA sur la broche 3 (GPIO 2 - SDA)
 
* SCL sur la broche 5 (GPIO 3 - SCL)
 
* Vcc sur la broche 1 (3V3)
 
* Gnd sur la broche 9 (Gnd)
 
La broche SQW fournit un signal d'horloge carré n'est pas utilisé ici.
 
 
==== Noyau Unix ====
 
Sous Unix, il faudra installer les modules i2c et i2c-dev (voir [[i2c#Unix]]).
 
Ensuite, pour la partie RTC, rtc_ds1307.
 
 
On trouve le bus et l'esclave avec i2cdetect, puis on renseigne le système avec le bon ''i2c-'' et ''0x'':
 
 
<syntaxhighlight lang="bash">
 
sudo modprobe rtc_ds1307
 
sudo bash -c `echo "ds1307 0x68" > /sys/class/i2c-adapter/i2c-0/new_device `
 
 
dmesg | tail
 
[ 22.748166] rtc-ds1307 0-0068: rtc core: registred ds1307 as rtc0
 
[ 22.748216] rtc-ds1307 0-0068: 56 bytes nvram
 
[ 22.748276] i2c i2c-0: new_device: Instantiated device ds1307 at 0x68
 
</syntaxhighlight>
 
 
On se retrouve avec un accès a la rtc externe par ''/dev/rtc0''.
 
 
==== Mise à l'heure ====
 
On utilise ''hwclock'' pour mettre à l'heure le matériel.
 
 
<syntaxhighlight lang="bash">
 
sudo hwclock --set --date="31/12/2014 13:59:42"
 
sudo hwclock -r
 
 
</syntaxhighlight>
 
 
On peut ensuite
 
 
* sudo hwclock --systohc : copie l'heure système vers la rtc
 
* sudo hwclock --hctosys : copie l'heure de la rtc sur le système.
 
 
 
== Voir aussi ==
 
* [[Système temps réel]]
 
* [[Ntp|Protocole d'Heure Réseau]]
 
 
 
[[Catégorie:Système]]
 
[[Catégorie:Temps]]
 
[[Catégorie:Raspberry-Pi]]
 

Version du 21 décembre 2014 à 15:59