Configurer une Pi en serveur NTP avec un module RTC
Cette page est basé sur le 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 :
Il faudra ensuite activer le bus I2C, en lançant :
# raspi-config
Puis en allant dans Interfacing Options
Puis I2C :
Puis en activant l'I2C :
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 :
- /etc/systemd/system/rtcmodule.service
[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.