Différences entre versions de « RASP-GPS-ULTIME-Uart »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(9 versions intermédiaires par le même utilisateur non affichées)
Ligne 4 : Ligne 4 :
 
{{bloc-etroit|text=Il est possible d'utiliser directement l'UART du Raspberry Pi à la place de l'USB.
 
{{bloc-etroit|text=Il est possible d'utiliser directement l'UART du Raspberry Pi à la place de l'USB.
  
Si vous voullez utiliser l'UART matériel ("''HW UART''" en anglais) à la place du câble USB, c'est parfaitement possible... vous devez juste faire un peu plus d'opération pour libérer l'UART sur votre en Pi. En effet, par défaut, votre Raspberry réquisitionne cet UART pour y brancher attacher un terminal.
+
Si vous voulez utiliser l'UART matériel ("''HW UART''" en anglais) à la place du câble USB, c'est parfaitement possible... vous devez juste faire un peu plus d'opération pour libérer l'UART sur votre en Pi. En effet, par défaut, votre Raspberry réquisitionne cet UART pour y brancher attacher un terminal.
  
 
Pour commencer, raccordez le module GPS sur votre Pi comme indiqué ci-dessous. Faites des connexions croisées entre les pins TX et RX (le TX d'un périphérique vers le RX de l'autre et vice versa), et alimentez le GPS en 5V (sur sa broche VIN) depuis le Pi.}}  
 
Pour commencer, raccordez le module GPS sur votre Pi comme indiqué ci-dessous. Faites des connexions croisées entre les pins TX et RX (le TX d'un périphérique vers le RX de l'autre et vice versa), et alimentez le GPS en 5V (sur sa broche VIN) depuis le Pi.}}  
Ligne 25 : Ligne 25 :
 
'''dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait'''
 
'''dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait'''
  
== Etape 2: modifier /etc/inittab ==
+
Note vous devriez voir '''console=serial0,115200''' ou '''console=ttyS0,115200''' et retirer cet élément s'il est visible sur la ligne.
  
From the command prompt enter the following command:  
+
== Etape 2 ==
 +
 
 +
=== Raspbian Wheezy uniquement ===
 +
Nous allons modifier le script de démarrage présent dans {{fname|/etc/inittab}}
 +
 
 +
Saisissez la commande suivante dans une console/terminal:  
  
 
  <nowiki>$ sudo nano /etc/inittab</nowiki>
 
  <nowiki>$ sudo nano /etc/inittab</nowiki>
Ligne 33 : Ligne 38 :
 
Et modifiez:
 
Et modifiez:
  
'''#Spawn a getty on Raspberry Pi serial line<br />
+
'''#Spawn a getty on Raspberry Pi serial line<br />T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100'''
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100'''
 
  
 
en
 
en
  
'''#Spawn a getty on Raspberry Pi serial line<br />
+
'''#Spawn a getty on Raspberry Pi serial line<br />#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100'''
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100'''
+
 
 +
=== Raspbian Jessie (et suivant) ===
 +
Pour '''Raspberry Pi 2 et 1''' (mais '''PAS''' pour le 3!), exécutez les deux commandes suivantes pour désactiver le service tty attaché au port série:
 +
 
 +
<nowiki>sudo systemctl stop serial-getty@ttyAMA0.service
 +
sudo systemctl disable serial-getty@ttyAMA0.service</nowiki>
  
== Etape 3: Rebooter votre Pi ==
+
Sur un '''Raspberry Pi 3''' vous aurez cependant besoin d'utiliser le port série '''/dev/ttyS0''' puisque c'est celui là qui est normalement connecté sur les broches du GPIO. Utilisez les deux commandes suivantes à la place:
After rebooting the Pi for the above changes to take effect, you can proceed with running gpsd ...
+
 
 +
<nowiki>sudo systemctl stop serial-getty@ttyS0.service
 +
sudo systemctl disable serial-getty@ttyS0.service</nowiki>
 +
 
 +
== Etape 3: Raspberry Pi 3 uniquement ==
 +
'''Sur un Raspberry Pi 3''' vous aurez besoin d'activer explicitement le port série sur les broches du GPIO. La raison de ce changement avec le Pi 3 réside dans le fait que le port série matériel des Raspberry est maintenant utilisé pour le support Bluetooth --ET-- que le port série du GPIO est pris en charge par une implémentation logicielle (''software serial port'').
 +
 
 +
L'effet de bord d'un tel changement est que le port série du GPIO changera de vitesse lorsque la fréquence du CPU change (procédé utilisé pour économisé de la puissance).
 +
 
 +
Cet effet bord est maintenant bien connu sur le Raspberry-Pi 3 et cause de nombreux problèmes avec les périphériques série (comme les modules GPS)! 
 +
 
 +
Par bonheur, il y a une correction très facile à appliquer, [http://spellfoundry.com/2016/05/29/configuring-gpio-serial-port-raspbian-jessie-including-pi-3 correction détaillée dans cet excellent billet], qui consiste à maintenir la fréquence du CPU à une valeur fixe!
 +
 
 +
En maintenant la fréquence CPU fixe, nous évitons ainsi la modification de la vitesse du port série.  Par contre pe Pi consommera plus (vu que cela désactive l'ajustement dynamique de la fréquence d'horloge pour d'économiser l'énergie) mais, au moins, le port série aura une vitesse stable.
 +
 
 +
Pour faire ce changement, il faut modifier le fichier '''/boot/config.txt''' en exécutant la commande suivante:
 +
 
 +
sudo nano /boot/config.txt
 +
 
 +
Puis ajouter la ligne suivante à la fin du fichier du fichier:
 +
 
 +
enable_uart=1
 +
 
 +
et sauver le fichier (pressez '''Ctrl-O''', puis "Enter"/retour clavier) et sortez du programme nano (en pressant '''Ctrl-X'''). 
 +
 
 +
Voilà, c'est fait!
 +
 
 +
== Etape 4: Rebooter votre Pi ==
 +
Les modifications ci-dessus ne deviennent effectives qu'après avoir redémarré votre Pi.
 +
 
 +
Une fois redémarré, l'UART est libéré et vous pouvez l'utiliser avec gpsd ...
  
 
== Etape 4: Redémarrer GPSD avec l'UART matériel ==
 
== Etape 4: Redémarrer GPSD avec l'UART matériel ==
Restart gpsd and redirect it to use HW UART instead of the USB port we pointed it to earlier. Simply entering the following two commands:
+
Redémarrer gpsd et redirigez le pour utiliser UART matériel à la place du port USB utilisé précédemment.  
 +
 
 +
Sur un '''Raspberry Pi 2 ou 1''' (mais '''PAS''' le 3!), entrez simplement les deux commandes suivantes:
 
   
 
   
 
  <nowiki>$ sudo killall gpsd
 
  <nowiki>$ sudo killall gpsd
 
$ sudo gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock</nowiki>
 
$ sudo gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock</nowiki>
  
As with the USB example, you can test the output with:  
+
Et sur un '''Raspberry Pi 3''' exécutez la commande suivante pour utiliser un port série différent:
 +
 
 +
<nowiki>sudo killall gpsd
 +
sudo gpsd /dev/ttyS0 -F /var/run/gpsd.sock</nowiki>
 +
 
 +
Comme c'était le cas avec l'exemple USB, vous pouvez tester la sortie à l'aide de:  
  
 
  <nowiki>$ cgps -s</nowiki>
 
  <nowiki>$ cgps -s</nowiki>
  
 
{{RASP-GPS-ULTIME-TRAILER}}
 
{{RASP-GPS-ULTIME-TRAILER}}

Version actuelle datée du 31 décembre 2016 à 15:29


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

Utiliser l'UART

Il est possible d'utiliser directement l'UART du Raspberry Pi à la place de l'USB.

Si vous voulez utiliser l'UART matériel ("HW UART" en anglais) à la place du câble USB, c'est parfaitement possible... vous devez juste faire un peu plus d'opération pour libérer l'UART sur votre en Pi. En effet, par défaut, votre Raspberry réquisitionne cet UART pour y brancher attacher un terminal.

Pour commencer, raccordez le module GPS sur votre Pi comme indiqué ci-dessous. Faites des connexions croisées entre les pins TX et RX (le TX d'un périphérique vers le RX de l'autre et vice versa), et alimentez le GPS en 5V (sur sa broche VIN) depuis le Pi.

RASP-GPS-ULTIME-Uart-01.png

Etape 1: Modifier /boot/cmdline.txt

Next, enter the following command from the command line:

$ sudo nano /boot/cmdline.txt

et modifier:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

en

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

Note vous devriez voir console=serial0,115200 ou console=ttyS0,115200 et retirer cet élément s'il est visible sur la ligne.

Etape 2

Raspbian Wheezy uniquement

Nous allons modifier le script de démarrage présent dans /etc/inittab

Saisissez la commande suivante dans une console/terminal:

$ sudo nano /etc/inittab

Et modifiez:

#Spawn a getty on Raspberry Pi serial line
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

en

#Spawn a getty on Raspberry Pi serial line
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Raspbian Jessie (et suivant)

Pour Raspberry Pi 2 et 1 (mais PAS pour le 3!), exécutez les deux commandes suivantes pour désactiver le service tty attaché au port série:

sudo systemctl stop serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@ttyAMA0.service

Sur un Raspberry Pi 3 vous aurez cependant besoin d'utiliser le port série /dev/ttyS0 puisque c'est celui là qui est normalement connecté sur les broches du GPIO. Utilisez les deux commandes suivantes à la place:

sudo systemctl stop serial-getty@ttyS0.service
sudo systemctl disable serial-getty@ttyS0.service

Etape 3: Raspberry Pi 3 uniquement

Sur un Raspberry Pi 3 vous aurez besoin d'activer explicitement le port série sur les broches du GPIO. La raison de ce changement avec le Pi 3 réside dans le fait que le port série matériel des Raspberry est maintenant utilisé pour le support Bluetooth --ET-- que le port série du GPIO est pris en charge par une implémentation logicielle (software serial port).

L'effet de bord d'un tel changement est que le port série du GPIO changera de vitesse lorsque la fréquence du CPU change (procédé utilisé pour économisé de la puissance).

Cet effet bord est maintenant bien connu sur le Raspberry-Pi 3 et cause de nombreux problèmes avec les périphériques série (comme les modules GPS)!

Par bonheur, il y a une correction très facile à appliquer, correction détaillée dans cet excellent billet, qui consiste à maintenir la fréquence du CPU à une valeur fixe!

En maintenant la fréquence CPU fixe, nous évitons ainsi la modification de la vitesse du port série. Par contre pe Pi consommera plus (vu que cela désactive l'ajustement dynamique de la fréquence d'horloge pour d'économiser l'énergie) mais, au moins, le port série aura une vitesse stable.

Pour faire ce changement, il faut modifier le fichier /boot/config.txt en exécutant la commande suivante:

sudo nano /boot/config.txt

Puis ajouter la ligne suivante à la fin du fichier du fichier:

enable_uart=1

et sauver le fichier (pressez Ctrl-O, puis "Enter"/retour clavier) et sortez du programme nano (en pressant Ctrl-X).

Voilà, c'est fait!

Etape 4: Rebooter votre Pi

Les modifications ci-dessus ne deviennent effectives qu'après avoir redémarré votre Pi.

Une fois redémarré, l'UART est libéré et vous pouvez l'utiliser avec gpsd ...

Etape 4: Redémarrer GPSD avec l'UART matériel

Redémarrer gpsd et redirigez le pour utiliser UART matériel à la place du port USB utilisé précédemment.

Sur un Raspberry Pi 2 ou 1 (mais PAS le 3!), entrez simplement les deux commandes suivantes:

$ sudo killall gpsd
$ sudo gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock

Et sur un Raspberry Pi 3 exécutez la commande suivante pour utiliser un port série différent:

sudo killall gpsd
sudo gpsd /dev/ttyS0 -F /var/run/gpsd.sock

Comme c'était le cas avec l'exemple USB, vous pouvez tester la sortie à l'aide de:

$ cgps -s

Source: Adafruit Ultimate GPS on the Raspberry Pi écrit par Kevin Townsend pour Adafruit Industrie
Traduction réalisée par Meurisse D pour MCHobby.be.

Créé par Kevin Townsend pour AdaFruit Industries.

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com