Outils pour utilisateurs

Outils du site


raspberry_pi:ds3231_rtc_horloge

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
raspberry_pi:ds3231_rtc_horloge [06/10/2016 20:54]
sky99
raspberry_pi:ds3231_rtc_horloge [06/10/2016 21:07] (Version actuelle)
sky99
Ligne 1: Ligne 1:
-====== ajouter une horloge temps réel I2C ======+====== ​DS3231 : ajouter une horloge temps réel I2C au Raspberry pi======
  
 Le Raspberry pi ne dispose pas de module RTC (Real Time Clock, horloge en temps réel), et ne peut donc pas garder une trace précise du temps écoulé sans avoir recours à une synchronisation sur un serveur de temps (NTP). Cela n’est pas toujours possible, notamment pour des projets ou le Raspberry Pi n’est pas connecté au réseau. Pour remédier à cela, il est possible d’ajouter un module RTC tel que le DS3231, économique,​ compact et précis. Nous verrons dans ce tutoriel comment réaliser cela. Le Raspberry pi ne dispose pas de module RTC (Real Time Clock, horloge en temps réel), et ne peut donc pas garder une trace précise du temps écoulé sans avoir recours à une synchronisation sur un serveur de temps (NTP). Cela n’est pas toujours possible, notamment pour des projets ou le Raspberry Pi n’est pas connecté au réseau. Pour remédier à cela, il est possible d’ajouter un module RTC tel que le DS3231, économique,​ compact et précis. Nous verrons dans ce tutoriel comment réaliser cela.
Ligne 97: Ligne 97:
  
  
-Configuration du système pour utiliser automatiquement le module RTC DS3231+==== Configuration du système pour utiliser automatiquement le module RTC DS3231 ​==== 
  
 Nous avons donc pu définir la date et l'​heure du DS3231. Voyons maintenant comment configurer le Raspberry pi pour qu'il utilise ce module à chaque démarrage pour définir l'​heure. Nous avons donc pu définir la date et l'​heure du DS3231. Voyons maintenant comment configurer le Raspberry pi pour qu'il utilise ce module à chaque démarrage pour définir l'​heure.
  
-En effet, si nous redémarrons maintenant, il faudra refaire "echo ds3231 0x68 > /​sys/​class/​i2c-adapter/​i2c-1/​new_device"​ avant de pouvoir utiliser le module (sinon le sudo hwclock ne fonctionne pas).+En effet, si nous redémarrons maintenant, il faudra refaire "**echo ds3231 0x68 > /​sys/​class/​i2c-adapter/​i2c-1/​new_device**" avant de pouvoir utiliser le module (sinon le **sudo hwclock** ne fonctionne pas).
  
-Pour circonvenir à ce problème, nous allons modifier le fichier /​etc/​rc.local via la commande suivante :+Pour circonvenir à ce problème, nous allons modifier le fichier ​**/​etc/​rc.local** via la commande suivante :
  
 <code bash>​sudo nano /​etc/​rc.local</​code>​ <code bash>​sudo nano /​etc/​rc.local</​code>​
Ligne 114: Ligne 115:
 </​code>​ </​code>​
  
-On pourra alors désactiver le service fake-hwclock qui tente de reproduire le fonctionnement d'une horloge temps réel quand on en dispose pas, via la commande suivante :+On pourra alors désactiver le service ​**fake-hwclock** qui tente de reproduire le fonctionnement d'une horloge temps réel quand on en dispose pas, via la commande suivante :
  
 <code bash>​sudo update-rc.d fake-hwclock disable</​code>​ <code bash>​sudo update-rc.d fake-hwclock disable</​code>​
Ligne 128: Ligne 129:
 <code bash>​sudo ntpd -qg</​code>​ <code bash>​sudo ntpd -qg</​code>​
  
-Il est alors toujours possible d'​écrire la valeur obtenue dans l'​horloge temps réel en utilisant la commande sudo hwclock -w.+Il est alors toujours possible d'​écrire la valeur obtenue dans l'​horloge temps réel en utilisant la commande ​**sudo hwclock -w**. 
 + 
 +===== Conclusions ===== 
 + 
 + 
 +Ce module compact permet donc d'​ajouter une horloge temps réel au Raspberry pi à bas coût. Elle est relativement précise, avec [[http://​jeelabs.org/​2012/​01/​21/​precision-time-anyone/​|une déviation maximale d'​environ 1 seconde par semaine]], soit 1 minute par an. Il s'agit du pire des cas, car la déviation peut aller dans les deux sens, donc bien souvent des déviations successives s’annuleront. ​ Ce module est significativement plus précis que le DS1307 qui fut très populaire. Toutefois vu les prix de ces DS3231, autant s'en servir. 
 + 
 +Le module que j'ai utilisé provient de chine, et jusqu'​ici je n'ai eu aucun soucis avec. Dans le cas contraire, je signalerai toute défaillance sur ce blog. 
 + 
 +Ce module permet donc au Raspberry pi de garder une trace précise du temps, ce qui pourra servir dans un projet embarqué (comme [[http://​nagashur.com/​blog/​2015/​08/​17/​raspberry-pi-mobile-lipo-un-systeme-autonome-et-rechargeable-a-bonne-autonomie/​|ce Raspberry pi mobile, sur batterie par exemple]]) sans accès à internet. Par exemple, pour faire des photos en pleine nature, ou prendre des mesures. Dans tous les cas, on disposera d'une date et d'une heure précise pour dater les photos ou mesures. 
 + 
 +Si toutefois cela ne suffisait pas, il faudrait s'​orienter vers des systèmes plus complexes, tels que les [[https://​fr.wikipedia.org/​wiki/​Horloge_atomique|horloges atomiques]],​ par exemple [[http://​freqelec.com/​rb_osc_fe5680a.html|celles au rubidium]], mais ce sont des appareils plus gros et consommateurs d'​énergie,​ qui serviront pour des mesures ultra précises. 
 + 
 +===== Lectures complémentaires ===== 
 + 
 +Voici quelques liens si vous souhaitez approfondir le sujet : 
 + 
 +    * Un [[http://​www.drewkeller.com/​blog/​adding-hardware-clock-raspberry-pi-ds3231|tutoriel en Anglais sur l’installation du DS3231]]; 
 +    * un [[http://​www.drewkeller.com/​blog/​adding-hardware-clock-raspberry-pi-ds3231|autre tutoriel an Anglais sur le même sujet]], (les commentaires parlent de certains problèmes potentiels);​ 
 +    * encore [[https://​nicegear.co.nz/​blog/​using-an-i2c-real-time-clock-rtc-with-a-raspberry-pi/​|un tutoriel en anglais, avec une grosse discussion dans les commentaires]],​ à voir en cas de problème;​ 
 +    * la [[https://​packages.debian.org/​unstable/​main/​fake-hwclock|documentation du service fake-hwclock]];​ 
 +    * [[https://​learn.adafruit.com/​adafruits-raspberry-pi-lesson-4-gpio-setup/​configuring-i2c|configuration de l’I2C (tutoriel en Anglais, Adafruit)]];​ 
 +    * la [[http://​linux.die.net/​man/​8/​hwclock|manpage de la commande hwclock]]. 
  
  
raspberry_pi/ds3231_rtc_horloge.1475780062.txt.gz · Dernière modification: 06/10/2016 20:54 par sky99