Sources
http://hardware-libre.fr/2013/08/raspberry-pi-ajouter-une-horloge-rtc-en-i%C2%B2c/
Outre le pléonasme, l'horloge RTC ou, donc, module RTC, permet de conserver la date et l'heure quand le Raspberry Pi est débranché.
Dans un ordinateur ou une tablette voire certains téléphones cette possibilité est permise par une pile bouton de 3 volts.
Pour obtenir le même résultat sur le Raspberry, on ajoutera donc ce module avec sa pile.
Plan
je reprends les premiers points importants du tutoriel :
- Branchement
- Activation et configuration du module logiciel I²C
- Test de l’interface I²C
- Installation et configuration du module RTC
- Démarrage automatique
et, pour le branchement d'un module TinyRC
- connectez VCC à une broche +5v du Pi
- connectez GND à une broche GND du Pi
- connectez SDA à la broche SDA0 du Pi
- connectez SCL à la broche SCL0 du Pi
NB : Si vous n’avez pas de pile bouton de 3V sous la main, connectez également 2 piles de 1.5V entre les bornes BAT et GND du module RTC.
Modules au démarrage
sudo nano /etc/modules
Ajouter ces 2 lignes :
i2c-bcm2708
i2c-dev
On redémarre : sudo reboot now
On installe les outils
sudo apt-get install python-smbus i2c-tools
On supprime les modules I²C de la blacklist (si c’est le cas) :
sudo nano /etc/modprobe.d/raspi-blacklist.conf
les lignes
blacklist spi-bcm2708 blacklist i2c-bcm2708
deviennent
#blacklist spi-bcm2708 #blacklist i2c-bcm2708
On redémarre, et le Raspberry devrait être prêt à utiliser les périphériques I²C.
Test de l’interface I²C
On va utiliser la commande i2cdetect, qui permet de voir la liste des périphériques I²C reliés au Pi. La commande est différente si vous utiliser un Raspberry Pi Rev 1 ou Rev 2 (l’adresse du bus I²C est différente), donc choisissez la bonne :
sudo i2cdetect -y 0
(pour la Rev 1)
sudo i2cdetect -y 1
(pour la Rev 2)
Si, vous voyez votre RTC avec l’ID #68, tout est correctement câblé et configuré. Dans le cas contraire, il faudra reprendre depuis le début et vérifier chaque étape.
Installation et configuration du module RTC
Maintenant que notre RTC est correctement câblé et que notre système est prêt à utiliser le bus I²C, nous pouvons passer à la configuration du module. Commençons par lancer le module logiciel RTC :
sudo modprobe rtc-ds1307
On va maintenant activer le module DS1307 dans le module logiciel I²C. Encore une fois, la commande dépend de la version de Raspberry Pi.
Ouvrons un bash en tant que root :
sudo bash echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-0/new_device
(pour la Rev 1) echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
(pour la Rev 2)
On ressort du bash :
exit
Nous allons vérifier l’heure de la RTC. En effet, si c’est la première fois que le circuit est utilisé (ou si la pile vient d’être changée), il devrait indiquer le 1er Janvier 2000, et il faudra le mettre à l’heure.
sudo hwclock -r
Pour commencer, on va devoir mettre le Raspberry à l’heure. Le plus simple est de le connecter à internet via câble ou Wifi : l’heure et la date seront ajustés par le réseau.
Ensuite on pourra inscrire ces données dans le module RTC.
Vérifier l’heure du Raspberry
date
Le Raspberry est bien à l’heure Régler l’heure de la RTC, et vérifier :
sudo hwclock -w
sudo hwclock -r
le module RTC est maintenant à l’heure !
Démarrage automatique
Nous allons maintenant rajouter le module logiciel RTC au fichier /etc/modules, afin qu’il soit chargé au démarrage de la machine.
sudo nano /etc/modules
Ajouter à la fin du fichier la ligne :
rtc-ds1307
Il faut maintenant créer le périphérique DS1307 au démarrage en modifiant le fichier /etc/rc.local :
sudo nano /etc/rc.local
Ajouter, avant la ligne « exit 0 » : pour la Rev 1 :
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-0/new_device sudo hwclock -s
pour la Rev 2 :
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device sudo hwclock -s
Vous pouvez également y rajouter un hwclock -r pour vérifier visuellement l’heure du module RTC au démarrage…
C’est terminé, désormais votre Raspberry Pi sera constamment à l’heure, qu’il soit connecté à internet ou pas !