Le Raspberry Pi ne dispose pas directement de connecteur pour une sortie RS-232. Ce type de liaison est pourtant à mon avis indispensable pour la mise au point d’un système embarqué puisqu’on y trouve les traces du bootloader et du noyau, et qu’il est possible aisément d’y activer une console pour se connecter depuis un émulateur de terminal comme minicom
.
Les signaux RS-232 sont bien présents sur le connecteur d’extension, mais ils sont au niveau [0, +3.3V] et nécessitent un branchement spécifique sur les broches du connecteur.
J’ai essayé plusieurs possibilité pour disposer d’un port série, et je pense avoir trouvé la meilleure solution.
En premier lieu, j’ai bricolé rapidement un adaptateur de niveau RS-232 en utilisant un composant MAX-232CFE et quelques condensateurs, connectés par un wrapping rapide.
Vue du dessus (côté câblage) :
Vue du dessous (côté composants) :
Réalisé en quelques minutes le jour même de la réception de mon premier Raspberry Pi, cette solution fonctionne encore parfaitement, même si elle manque un peu d’élégance.
J’ai ensuite commandé sur eBay un petit adaptateur (pour 7 € port compris en provenance de Hong Kong !) que j’ai câblé également en wrapping sur un second Raspberry Pi.
Enfin, j’ai trouvé récemment chez Adafruit un petit câble/adaptateur très simple qui se connecte facilement sur le port d’extension et peut se brancher directement dans un port USB du système de développement. Autre avantage : l’adaptateur est capable d’assurer l’alimentation électrique directement sans ajouter d’autre câble.
Voici le câble lui-même (pour $9.95 port non compris).
Et voici le branchement : le fil rouge est branché sur le plot 4 du port d’extension P1 (+5V), le noir sur la broche 6 (Gnd), le blanc sur la broche 8 (TX) et le vert sur la broche 10 (RX). On trouve la description détaillée de ce port d’extension sur le RPi-Hub, mais je préfère, lorsque je branche un connecteur (surtout pour les GPIO) en avoir un schéma simple sous les yeux. Je vous en propose donc une version à imprimer.
Ce câble fonctionne à merveille, tant pour consulter les traces du boot que pour ouvrir une connexion distante sur console RS-232.
[AJOUT] Comme vous pourrez le voir dans les commentaires ci-dessous, Guy a attiré mon attention sur une erreur : j’avais initialement branché l’alimentation 5V issue du connecteur USB sur la broche 1 du connecteur P1 (+3,3V). Mes Raspberry Pi ont fonctionné pendant plusieurs heures avec cette configuration sans dommages apparents (mais avec un échauffement sensible du contrôleur USB/LAN qui m’inquiétait un peu). On peut saluer la robustesse du processeur (que j’ai alimenté avec 150% de sa tension nominale), mais on évitera de répéter une telle erreur !
Parfait!
Sans aucune recherche, mon adaptateur TTL-RS232 a déjà trouvé sa prochaine place!
Merci.
Attention, les niveaux électriques attendus par le Raspberry Pi sont [0, +3.3V] et pas [0, +5V] (TTL) ; il faut donc un adaptateur qui sache s’adapter au +3.3V.
Bonjour et merci pour ce blog instructif et agréable à lire.
Dans le câblage de la dernière image, est-il utile de connecter le fil rouge au pin 1 ?
C’est pour alimenter le RPI ?
Bonjour,
Le câble rouge ne sert que si l’on souhaite alimenter le Raspberry Pi au travers de l’interface série. Sinon les trois autres connecteurs suffisent.
Merci pour les infos,
Attention j’ai exactement le même câble acheté ici:
https://www.modmypi.com/shop/raspberry-pi-accessories/USB-to-TTL-Serial-Cable-Debug-Console-Cable-for-Raspberry-Pi
Et sur le fil rouge c’est du 5V pas du 3.3, j’ai mesuré avec un voltmètre
il faut donc le brancher sur la pin 2 et non pas la 1
Dans un premier temps je l’avais branché sur la 1 et mon raspberry pi a fonctionné plusieurs heures sans soucis. Par contre j’ai grillé une carte SD, c’est pas grave j’ai maintenant compris pourquoi.Conclusion le raspberry pi est solide.
Et au fait Merci Christophe pour toutes les pages de man 😉
Je vois régulièrement votre nom sur ces précieuses pages
@+
—
Guy
Mais oui, c’est parfaitement exact, je viens de vérifier, il faut brancher le câble sur la broche 2 ou la 4, pas sur la 1. Je vais corriger ceci demain dans l’article.
Merci beaucoup Guy.
Bonjour,
Merci pour votre article très intéressant.
J’ai découvert ce câble sur amazon, peut-il faire l’affaire ?
http://www.amazon.fr/XINTE-PL2303HX-transfert-Adapter-r%C3%A9cup%C3%A9ration/dp/B00E39S10K/ref=pd_sim_sbs_ce_5?ie=UTF8&refRID=072Z63DSZSG9ARBEK1GB
Merci de votre aide,
Bertrand.
Bonjour,
Je pense, oui, mais il faudrait vérifier que les signaux (sur les câbles blanc et vert) sont bien en +3.3V, et que l’alimentation (câble rouge) en +5V.
C’est le « TTL » qui m’inquiète un peu, je crains que les signaux soient en +5V.
Ce n’est pas précisé dans les détails, mais après tout, pour le prix, ça vaut peut-être le coup de vérifier 😉
Merci pour cette réponse rapide.
Cependant, entre temps, je me suis rendu compte d’une chose:
J’utilise une carte d’extension Razberry pour piloter une installation domotique Z-Wave.
Or cette carte utilise l’interface série /dev/ttyAMA0 avec les pins correspondants sur le GPIO.
Par conséquent, je ne pourrais pas connecter ce câble, à moins qu’il n’y ait un second port série (du type /dev/ttyAMA1) que je ne connais pas.
Si tu as des infos là-dessus… De mon côté, je vais essayer de me renseigner également et posterais si j’ai de nouvelles infos.
Cordialement,
Bertrand.