Utilisation du port série du Rasbperry Pi

L'utilisation du port série sur le Rapberry Pi est plutôt aisée car accessible sur le port GPIO, pas besoin de souder comme pour le NSLU2 8-).

Mais pourquoi se connecter sur le port série ? Et bien cela évite de connecter un écran en HDMI au fond du jardin lorsque le wifi n'arrive pas à se connecter par exemple… Ici, un cable USB avec un adaptateur kivabien© connecter à un ordinateur portable permettra de faire du debug sur la machine incriminée via un accès shell, comme avec un ssh. Sauf qu'avec ce type d'accès si la configuration réseau est cassée, l'accès est toujours opérationnel, il faut juste se déplacer IRL

Par contre, il faut activer cette fonctionnalité avant d'en avoir besoin, c'est à dire lorsque le réseau fonctionne ou qu'un écran + clavier sont encore branchés. Par défaut, le port série n'est pas activé.

Raspberry Pi avec cable série

J'utilise un adaptateur USB ↔ Série à base de puce CP2102 qui gère nativement l'interface USB vers RS232 et est compatible 3.3V.

adaptateur USB <-> Série à base de puce CP2102

Pour brancher cette clé USB sur un mac, il faut commencer par installer les drivers.

Le bon fonctionnement de l'installation et de l'adaptateur s'effectuent en reliant les 2 broches Tx et Rx ensemble : ainsi lorsqu'une donnée est envoyée via Tx elle sera reçue sur Rx et sera affichée sur le terminal. Un simple câble entre les 2 connecteurs fera l'affaire. Brancher l'adaptateur et déterminer le nom du périphérique créé :

ls /dev/cu*
/dev/cu.Bluetooth-Incoming-Port /dev/cu.SLAB_USBtoUART

Puis lancer screen :

screen /dev/cu.SLAB_USBtoUART 115200

Enfin taper n'importe quel caractère : il doit apparaitre, sinon vérifier l'installation et tester un autre adaptateur.

Pour activer le port série du Raspberry Pi, lancer l'outil raspi-config :

Accueil de raspi-config

puis dans la section 8 Advanced options :

Options avancées

puis en A8 Serial :

Options avancées

et enfin valider :

Options avancées

La prise en compte sera effective au prochain reboot : en effet, le paramètre console=serial0,115200 est ajouté au fichier /boot/cmdline.txt.

Passons maintenant à la connectique.

Connecter les broches suivantes du Raspberry Pi vers l'adaptateur USB :
  • Tx de l'adaptateur à la broche GPIO 15. Il faut bien croiser Tx du Raspberry vers Rx de l'adaptateur ;
  • Rx de l'adaptateur à la broche GPIO 14;
  • GND avec la broche GND;
  • Ne pas connecter l'alimentation de l'adaptateur au Raspberry Pi, sinon ce dernier va s'alimenter via l'adaptateur relié au port série de l'ordinateur portable et finir par le griller : en effet, le Raspberry Pi est trop gourmand par rapport aux capacités de l'adaptateur et nécessite un courant important.
Brochage pour utiliser le port série

Enfin re-démarrer le Raspberry Pi.

Une loggue devrait apparaitre dans la console de l'ordinateur portable : Loggue de démarrage

Il est également possible d'ouvrir un shell :

Raspbian GNU/Linux 7 poopdeck ttyAMA0
 
poopdeck login: