Lorsque vous allumez votre PC ou Mac, devez-vous changer son heure? Hautement improbable! Devez-vous le faire sur votre Raspberry Pi? Peut-être.
Chaque fois que votre Raspberry Pi démarre, il se connecte à ce qu’on appelle un NTP – Protocole de temps réseau – serveur et lui demande l’heure. Mais que se passe-t-il si votre Pi n’est pas connecté à Internet? Vous n’avez pas de chance (ou est-ce le moment?). Votre Pi n’a aucun moyen de savoir quelle heure il est.
Mais il existe une solution sous la forme d’une «horloge en temps réel» ou d’une carte RTC. Ces cartes d’extension bon marché se branchent sur les broches GPIO de votre Pi et contiennent une puce d’horloge et une batterie qui indiquent Raspberry Pi quelle heure il est. Le Pi vend une telle planche.

Configuration d’I2C
La carte RTC utilise ce que l’on appelle I2C (prononcé «eye squared see») pour communiquer entre lui et le Raspberry Pi. L’I2C permet au Raspberry Pi pour communiquer avec un grand nombre d’appareils différents en même temps qui sont également connectés aux mêmes broches I2C sur le Raspberry Pi.
Simon Monk a écrit de très bonnes instructions sur la façon de configurer votre Raspberry Pi pour pouvoir utiliser i2c sur le Site d’Adafruit. Suivez les instructions complètes, notamment en vérifiant que tout a fonctionné en suivant également les instructions du manuel.
Brancher la carte
Il est toujours préférable de Raspberry Pi off avant de brancher quoi que ce soit sur les broches GPIO. Faites toujours cela en utilisant le sudo halt ou sudo shutdown -h now commandes.
Branchez maintenant la carte sur vos broches GPIO du Raspberry Pi dans le coin intérieur, la carte RTC pointant vers l’intérieur, comme illustré ci-dessous.

Configuration du RTC
Vous devez maintenant configurer votre Raspberry Pi pour reconnaître et utiliser la carte.
Allume le Raspberry Pi et vérifiez que la carte est vue en exécutant sudo i2cdetect -y 1 sur la ligne de commande. Vous devriez voir l’ID # 68 apparaître (l’adresse I2C de la puce d’horloge en temps réel DS1307):

Si vous avez une ancienne Rev.1 Raspberry Pi, tu devras courir sudo i2cdetect -y 0 car l’adresse du bus I2C est passée de 0 à 1 à partir de la révision 2.
Réglage de l’horloge RTC
Le module RTC doit être chargé par le noyau en exécutant:
sudo modprobe rtc-ds1307
Vous devez maintenant exécuter en tant que super utilisateur; tapez:
sudo bash
puis, si vous avez une Rev.2 Raspberry Pi ou version ultérieure:
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
Ou si vous avez l’ancienne Rev.1 Raspberry Pi, utilisez:
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-0/new_device
Type exit pour ne plus être l’utilisateur « root ».
Vérifiez l’heure sur l’appareil RTC en utilisant:
sudo hwclock -r
Si c’est la première fois que le module est utilisé, il fera rapport le 1er janvier 2000 et vous devrez régler l’heure sur l’heure actuelle.
Le moyen le plus simple est de le connecter à Ethernet ou Wifi. Il réglera automatiquement l’heure à partir du réseau. Vous pouvez vérifier l’heure en utilisant le date commander:

Courir sudo hwclock -w pour écrire l’heure du système sur la carte RTC.
Vous pouvez ensuite le vérifier avec sudo hwclock -r:

Alors maintenant, l’horloge RTC est réglée, c’est ça? Et bien non. La prochaine fois que vous démarrerez votre Pi, il ne saura pas qu’il doit lire l’horloge du RTC, donc s’il n’est pas connecté à Internet, il affichera à nouveau le mauvais moment.
Faire votre Raspberry Pi Utiliser l’horloge en temps réel
Vous devrez ajouter le module du noyau RTC au fichier /etc/modules il est donc chargé lorsque le Raspberry Bottes Pi. Dans une fenêtre de terminal, exécutez sudo nano /etc/modules et ajouter rtc-ds1307 à la fin du fichier:

Ensuite, vous devrez ajouter la création du périphérique DS1307 au démarrage en modifiant le /etc/rc.local fichier en exécutant
sudo nano /etc/rc.local
et ajoutez les lignes suivantes au fichier:
echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_devicesudo hwclock -s
date
Juste avant le exit 0. Remarque: Si vous avez une Rev 1 Raspberry Pi, remplacer i2c-1 par i2c-0 au dessus de.

Pour enregistrer le fichier, appuyez sur Ctrl + X, Y puis revenez.
Pour tester cela, arrêtez votre Raspberry Pi, débranchez tout câble Ethernet ou dongle wifi, puis rallumez le Raspberry Pi. Utilisez la commande suivante dans une fenêtre de terminal pour vérifier que la date est toujours définie:
date
Maintenant, la prochaine fois que vous redémarrerez votre Raspberry Pi, il lira l’heure de l’horloge en temps réel.
-
3X Real Time Clock, Modules d'Horloge Temps Réel Haute Précision, Compatibles avec Montre en Temps Réel I2C RTC DS3231, Module Precision Real Time Clock Module Compatible avec Arduino et Raspberry Pi
-
AZDelivery 3 x DS1302 Horloge série en Temps réel Horloge RTC Horloge Temps réel Module Compatible avec Arduino et Raspberry Pi y Compris Un eBook
