Outils pour utilisateurs

Outils du site


votre temps local: :: ()

heure officielle (en France) : ::(TZ:)

Heure UTC client: :: Offset client: s - delai: ms - - timeZone: Heure UTC: ::
fr:ntp_raspberry

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
fr:ntp_raspberry [2015/05/06 11:49]
emeyer [Installations logicielles préliminaires]
fr:ntp_raspberry [2015/05/11 15:08] (Version actuelle)
emeyer [Pour l'entrée PPS]
Ligne 4: Ligne 4:
   * Une carte Raspberry PI 2, équipée d'une carte micro-SD contenant le système Raspbian.   * Une carte Raspberry PI 2, équipée d'une carte micro-SD contenant le système Raspbian.
   * Un signal PPS issu de l'​horloge de référence (CS1321), avec un atténuateur pour adapter le signal en amplitude (entrées 3,3V pour les GPIO du Raspaberry PI 2).   * Un signal PPS issu de l'​horloge de référence (CS1321), avec un atténuateur pour adapter le signal en amplitude (entrées 3,3V pour les GPIO du Raspaberry PI 2).
-===== Installations logicielles ​préliminaires ​=====+===== Installations logicielles =====
 Toutes les opérations suivantes sont effectuées en utilisateur "​root"​ et considèrent que les étapes de configurations éventuelles d'un proxy ont été faites préalablement. Toutes les opérations suivantes sont effectuées en utilisateur "​root"​ et considèrent que les étapes de configurations éventuelles d'un proxy ont été faites préalablement.
-  * Mettre à jour la distribution Raspbian et du micro-logiciel de la carte +  ​*La Version de Raspbian au moment de l'​écriture de ces lignes :<​code>​ 
-Mettre à jour la liste des fichiers disponibles dans les dépôts APT +# uname -a 
-    # apt-get update +Linux raspberrypi 3.18.12-v7+ #782 SMP PREEMPT Tue Apr 28 19:54:13 BST 2015 armv7l GNU/​Linux ​ </​code>​ 
-Mettre à jour tous les paquets installés vers les dernières versions en installant de nouveaux paquets si nécessaire + 
-  # apt-get dist-upgrade +==== Préliminaires ==== 
-Mettre à jour le firmware + 
-  # rpi-update +  ​* Mettre à jour la distribution Raspbian et du micro-logiciel de la carte \\Mettre à jour la liste des fichiers disponibles dans les dépôts APT \\<​code>​ 
-  ​ +# apt-get update ​</​code>​ 
-  * Installer le paquet pps-tools +  ​* ​Mettre à jour tous les paquets installés vers les dernières versions en installant de nouveaux paquets si nécessaire ​\\<​code>​ 
-Le projet LinuxPPS est une implémentation d'une API du PPS pour le noyau Linux. Elle utilise le système de fichiers pour échanger entre l'​espace utilisateur et le noyau. Cela permet d'​ajouter des sources PPS au noyau simplement ([[http://​linuxpps.org/​wiki/​index.php]]) +# apt-get dist-upgrade ​</​code>​ 
-   +  ​* ​Mettre à jour le firmware ​\\<​code>​ 
-  # apt-get install pps-tools+# rpi-update ​</​code>​ 
 +  * Installer le paquet pps-tools ​\\Le projet LinuxPPS est une implémentation d'une API du PPS pour le noyau Linux. Elle utilise le système de fichiers pour échanger entre l'​espace utilisateur et le noyau. Cela permet d'​ajouter des sources PPS au noyau simplement ([[http://​linuxpps.org/​wiki/​index.php]]) ​<​code>​ 
 +# apt-get install pps-tools </​code>​ 
 + 
 +==== Recompiler et installer NTP ==== 
 + 
 +En effet, la version implémentée dans la distribution Raspbian n'​inclue pas la prise en compte d'un PPS externe. Pour cela, l'​installation de bibliothèques de développement est nécessaire. 
 +  ​* Installation de bibliothèques ​ 
 +     * libcap : librairie permettant l'​utilisation de certaines propriétés du système de fichiers 
 +     * libssl :  c'est la partie de OpenSSL qui supporte le protocole TLS ( SSL et TLS ) <​code>​ 
 +# apt-get install ​libcap-dev libssl-dev </​code>​ 
 +  * Enregistrement des sources de NTP 
 +     * Se placer dans un répertoire. Si besoin le créer, par exemple :<​code>​ 
 +# cd /home 
 +# mkdir root 
 +# cd root 
 +# mkdir ntp 
 +# cd ntp  </​code>​ 
 +     * obtenir les sources : <​code>​ 
 +# wget http://​archive.ntp.org/​ntp4/​ntp-4.2/​ntp-4.2.8p2.tar.gz </​code>​ 
 +     * Décompresser le fichier "​tar"​ : <​code>​ 
 +# tar xvfz ntp-4.2.8p2.tar.gz </​code>​ 
 +   * compiler : <​code>​ 
 +# cd ntp-4.2.8p2.tar.gz  
 +# ./configure --enable-linuxcaps # un peu moins de 6 min 
 +# make -j2 # un peu moins de 5 min contre presque 8 min avec un simple make 
 +</​code>​ 
 +   * installer les binaires : <​code>​ 
 +# make install 
 +# /​etc/​init.d/​ntp stop  
 +# cp /​usr/​local/​bin/​ntp* /usr/bin/ 
 +# cp /​usr/​local/​sbin/​ntp* /​usr/​sbin/​ 
 +</​code>​ 
 + 
 +===== Configuration ===== 
 +==== Pour l'​entrée PPS ==== 
 +=== Fichiers à modifier === 
 + 
 +   * Indiquer sur quelles entrée se trouve le PPS : \\ Nous avons choisi l'​entrée BCM18 (broche 12) du connecteur GPIO du Raspberry PI 2. <​code>​ 
 +#  nano /​boot/​config.txt </​code>​ Ajouter la ligne suivante, puis enregistrer le fichier : <​code>​ 
 +dtoverlay=pps-gpio,​gpiopin=18 </​code>​  
 +   * Rajouter pps-gpio à la liste des modules : \\ Editer <​code>​ 
 +# nano /​etc/​modules </​code>​ Rajouter cette ligne puis enregistrer le fichier : <​code>​ 
 +pps-gpio </​code>​ 
 +=== Connecter le PPS === 
 +Connecter le signal PPS entre la masse électrique et l'​entrée choisie. Pour notre exemple, nous avons pris la masse broche 39 et l'​entrée 18 broche 12. Voici l'​organisation du bornier : 
 +{{ :​fr:​rpi_gpio_pinout.jpg?​500 | Connecteur GPIO et brochage}} 
 + 
 + 
 +=== Tests === 
 +   * Pour vérifier que le module est bien chargé, vous devriez obtenir quelque chose comme ça  : <​code>​ 
 +# lsmod | grep pps 
 +pps_gpio ​               2547  1  
 +pps_core ​               6855  2 pps_gpio </​code>​ 
 +   * Pour vérifier si le PPS est bien pris en compte, une fois le signal appliqué à l'​entré GPIO concernée (ATTENTION : 3,3 V), vous deviez pouvoir utiliser la commande ppstest et obtenir une information par seconde : <​code>​ 
 +# ppstest /dev/pps0 
 +trying PPS source "/​dev/​pps0"​ 
 +found PPS source "/​dev/​pps0"​ 
 +ok, found 1 source(s), now start fetching data... 
 +source 0 - assert 1430922986.000009024,​ sequence: 12990 - clear  0.000000000,​ sequence: 0 
 +source 0 - assert 1430922987.000007107,​ sequence: 12991 - clear  0.000000000,​ sequence: 0 
 +source 0 - assert 1430922988.000007013,​ sequence: 12992 - clear  0.000000000,​ sequence: 0 
 +source 0 - assert 1430922989.000006034,​ sequence: 12993 - clear  0.000000000,​ sequence: 0 
 +source 0 - assert 1430922990.000006461,​ sequence: 12994 - clear  0.000000000,​ sequence: 0 </​code>​ Ctrl + C pour arrêter. 
 +==== Pour NTP ==== 
 +   * Modifier le fichier de configuration,​ <​code>​ 
 +# nano /​etc/​ntp.conf </​code>​ en ajoutant les lignes : <​code>​ 
 +# LAN servers 
 +server kronos prefer 
 +server saturne.obs-besancon.fr 
 + 
 +# kernel-mode PPS ref-clock 
 +server 127.127.22.0 minpoll 6 maxpoll 6 
 +fudge 127.127.22.0 refid PPS </​code>​ Les lignes avec 127.127.22.X définissent les entrées PPS sur /dev/ppsX avec des temps de consultation réglés par nimpoll et maxpoll en puissance de 2 secondes. 
 +   * Redémarrer le service NTP : <​code>​ 
 +#  /​etc/​init.d/​ntp start </​code>​ 
 +=== Test === 
 +Pour vérifier l'​action de NTP : <​code>​ 
 +# ntpq -p  
 +     ​remote ​          ​refid ​     st t when poll reach   ​delay ​  ​offset ​ jitter 
 +============================================================================== 
 +oPPS(0) ​         .PPS.            0 l   ​52 ​  ​64 ​ 377    0.000   ​-0.017 ​  ​0.002 
 +*kronos.ltfb.lan .PPS.            1 u   ​43 ​  ​64 ​ 377    0.264   ​-0.089 ​  ​0.034 
 ++saturne.obs-bes .PPS.            1 u    8   ​64 ​ 377    0.434    0.010   0.031 </​code>​ Le jitter et le délais se stabilisent au bout de quelques heures. 
 + 
 + 
 +====== Références ====== 
 +Je n'ai fait que reprendre une part des informations trouvées sur cette page qui est très bien faite :\\ 
 +[[http://​www.satsignal.eu/​ntp/​Raspberry-Pi-NTP.html]]\\ Tout y est très bien expliqué.\\ \\ 
 +[[https://​www.raspberrypi.org/​documentation/​usage/​gpio-plus-and-raspi2/​README.md| Documentation de la carte Raspberry PI 2]] 
 + ​====== 
  
fr/ntp_raspberry.1430905799.txt.gz · Dernière modification: 2015/05/06 11:49 par emeyer