Activer le port série TTL du Raspberry Pi et vérifier qu’il fonctionne.

Port série de la raspberry pi

Si vous vous lancez dans l’électronique avec le Raspberry Pi vous serez vite amené à utiliser le port série pour permettre à votre Pi de communiquer avec un module externe. Mais pour pouvoir utiliser le port série, vous devrez au préalable l’activer sur le Raspberry Pi.

Dans ce tutoriel nous allons donc voir comment activer le port série du Raspberry Pi et vérifier son bon fonctionnement.

Pour cela, vous aurez besoin du matériel suivant :

Le port série à quoi ça sert ?

Comme son nom l’indique, le port série communique les données « en série », c’est à dire un bit après l’autre. C’est ce qui rend son utilisation et sa mise en œuvre assez simples du point de vue logiciel et électronique, permettant la création d’interfaces très bon marché.

Photo d'un port série RS232 femelle.
Quand on parle de port série on parle généralement d’un port RS232, mais dans notre cas il s’agit simplement de deux ports GPIOs et d’une connexion série dite TTL.

Si il est aujourd’hui largement inconnu du grand public, remplacé par l’USB (lequel est d’ailleurs lui même un port série), il reste très utilisé en électronique pour permettre à différents modules électroniques de communiquer.

Dans le cadre du Raspberry Pi, vous serez donc potentiellement amené à utiliser le port série pour utiliser des sondes ou des modules externes nécessitant un échange de données avec le raspberry.

Activer le port série du Raspberry pour communiquer avec un module externe.

Par défaut, le port série du Raspberry Pi est relié à la console afin de permettre de contrôler le Raspberry Pi sans interface graphique. Si cela peut être utile pour se connecter au Raspberry sans internet, c’est en revanche incompatible avec une utilisation standard du port série.

Pour commencer, nous allons donc devoir modifier la configuration du raspberry pour utiliser le port série comme une « interface série » plutôt qu’une console.

Pour cela, ouvrez un terminal sur votre raspberry pi, soit directement soit via SSH, puis lancez la commande sudo raspi-config pour accéder à l’outil de gestion de la configuration du raspberry.

Interface de raspi-config
raspi-config vous permet de gérer la configuration du raspberry à travers une interface simple.

Une fois raspi-config lancé, choisissez Interfacing options, puis Serial. Répondez No à la partie demandant si vous souhaitez activer un shell via la connexion série, puis Yes à la partie demandant si vous souhaitez activer le port hardware. Validez, faites Finish, puis dites oui à la question vous demandant si vous souhaitez rebooter le raspberry pi.

Étapes supplémentaires pour activer le port série des Raspberry Pi 3, 4 et plus.

Cette partie est spécifique aux modèles 3 et ultérieurs.

En interne la lecture de données série utilise ce que l’on appelle un UART. Tous les modèles de raspberry possèdent au minimum 2 UART, le numéro 0, qui est un UART normal et le numéro 1 qui est un mini UART aux capacités beaucoup plus limitées et très contraignant.

Historiquement l’UART 0 était utilisé par défaut, mais depuis le passage à la version 3 ce n’est plus le cas, celui-ci étant désormais utilisé pour gérer la puce bluetooth. Si vous utilisez une Raspberry Pi 3 ou un modèle ultérieur, vous allez donc devoir modifier ce comportement et désactiver le bluetooth.

Pour cela, lancez les commandes ci-dessous :

echo "dtoverlay=disable-bt" | sudo tee -a /boot/config.txt
sudo systemctl disable hciuart
sudo reboot

Vérifier que le port série du Raspberry a bien été activé.

Maintenant que notre port est activé, il ne nous reste plus qu’à vérifier que tout fonctionne comme prévu.

Techniquement, le port série du raspberry se présente sous la forme de deux GPIOs, un pour la réception de donnée, RXD, et un pour l’envoi TXD.

Les ports TXD et RXD correspondent aux ports physiques 8 et 10.

Pour vérifier que notre port fonctionne comme prévu, nous allons tout simplement relier les ports RXD et TXD entre eux. De cette façon, toute donnée envoyée sur le port TXD sera reçue par le port RXD, et nous pourrons les lire à l’écran.

Attention, quand vous utiliserez un véritable module externe, le principe sera le même, à savoir brancher le TXD du module sur le RST du Pi et le RST du Pi sur le TXD du module.

Brancher les ports série.

Pour brancher les ports série entre eux, nous allons utiliser une breadboard des câbles dupont, et une résistance. Techniquement la résistance n’est pas absolument nécessaire, mais en cas d’erreur de manipulation elle protégera votre raspberry.

Connexion pour tester le port série.
Le schéma de montage est très simple. Si vous avez des câbles femelle-femelle même pas besoin de breadboard.

Le choix de la résistance n’a pas beaucoup d’importance, vous trouverez facilement des 1000 ohms qui feront très bien l’affaire, mais 470 ohms suffisent largement.

À noter quand vous brancherez un véritable module, pensez à vérifier que son TXD utilise du 3.3 V, comme le Raspberry. Si vous devez branchez un module qui envoi ses données en 5 V, vous devrez utilisez un pont diviseur.

Vérifier que tout fonctionne avec Minicom.

Maintenant que tout est câblé, il ne reste plus qu’à tester en utilisant un programme permettant la communication série, Minicom.

Pour commencer non allons donc installer Minicom avec les commandes ci-dessous.

sudo apt update -y
sudo apt install minicom -y

Une fois l’installation terminée, il ne nous reste plus qu’à démarrer Minicom en lui indiquant le port série à utiliser.

Les ports série sont tous accessibles sous la forme de périphériques dans Linux, donc dans le dossier /dev et sont nommés serialX, où X est le numéro du port série. Dans notre cas nous souhaitons utiliser le port série 0, nous utiliserons donc /dev/serial0.

Nous pouvons donc lancer Minicom avec la commande suivante :

sudo minicom -D /dev/serial0

Un terminal Minicom se lance, si vous y tapez une lettre, celle-ci doit alors s’afficher à l’écran !

Voilà, votre port série est fonctionnel, il ne vous reste plus qu’à l’utiliser !

Lire l'article complet : Activer le port série TTL du Raspberry Pi et vérifier qu’il fonctionne.

Vus : 122
Publié par RaspbianFrance : 108