======Configurer une Pi en serveur NTP avec un module RTC======
Cette page est basé sur le [[https://www.amazon.fr/gp/product/B01F6MJZGQ|module RTC DS3231]].
L'objectif est de conserver l'heure sur un système embarqué sans internet, pour plusieurs autres systèmes.
Pour commencer il faudra brancher le module comme ceci sur la Pi :
{{ :kb:linux:generalites:pi-ntp-rtc-pin.png?600 |}}
Il faudra ensuite activer le bus I2C, en lançant :
# raspi-config
Puis en allant dans **Interfacing Options**
{{ :kb:linux:generalites:pi-ntp-rtc-raspi-config.png?700 |}}
Puis **I2C** :
{{ :kb:linux:generalites:pi-ntp-rtc-interfacing.png?700 |}}
Puis en activant l'I2C :
{{ :kb:linux:generalites:pi-ntp-rtc-i2c.png?400 |}}
Un fois fait, quittez raspi-config. Il faudra installer deux packages :
# apt install python-smbus i2c-tools
Un fois fait, vous devriez être capable de lancer :
# i2cdetect -y 1
Et obtenir un résultat semblable :
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- UU -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Maintenant, on va configurer le service permettant d'initialiser le module RTC. Pour cela, on va créer le fichier suivant :
[Unit]
Description=Load RTC module
[Service]
Type=oneshot
ExecStart=/bin/bash -c '/bin/echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-1/new_device'
ExecStart=/sbin/hwclock -s
[Install]
WantedBy=multi-user.target
Puis on recharge la configuration systemd :
# systemctl daemon-reload
Puis on active au démarrage le nouveau service créé:
# systemctl enable rtcmodule.service
On va maintenant charger manuellement module :
# echo ds3231 0x68 > /sys/class/i2c-adapter/i2c-1/new_device
A partir de là, vous devriez être capable de récupérer l'heure du module avec :
# hwclock
2000-01-01 01:20:36.825654+01:00
On va maintenant définir la date au module.
Si votre système n'est actuellement pas a l'heure vous pouvez définir manuellement avec la commande suivante :
# date -s "2019-10-25 13:00:00"
Il faudra écrire la date dans le module :
# hwclock -w
Il ne restera plus qu'a installer notre serveur NTP :
# apt install ntp
et a configurer nos clients a utiliser ce serveur.