🛠 Activer une console série sur l'UART du CM3+
Objectifs
Mettre en place un accès console série sur le CM3+ : indispensable en tête de série industrielle, quand l'écran HDMI et le réseau ne sont pas disponibles. Le BCM2837B0 expose deux UART complets sur le connecteur SODIMM (2× UART au datasheet RP-008163-DS §2.2) ; on utilise ici l'UART0 PL011 sur GPIO14/15, exposés sur le connecteur GPIO de la CMIO3. Vous activerez le port série via config.txt et raspi-config, puis vous vous connecterez depuis un PC hôte.
Matériel
- CM3+ sur CMIO3, Raspberry Pi OS démarré
- Adaptateur USB vers TTL 3,3 V (jamais 5 V TTL direct : la banque GPIO de la CMIO3 est en 3,3 V)
- 3 fils : GPIO14 (TXD0) vers RX de l'adaptateur, GPIO15 (RXD0) vers TX, GND vers GND
- Sur une carte custom, vérifier le rail VREF de la banque concernée (1,8 à 3,3 V possibles)
Code complet
# 1. Activer le port série de login sur la console série
sudo raspi-config # Interface Interfacing Options > Serial > Login shell activé
# (ou à la main dans /boot/firmware/config.txt : enable_uart=1)
sudo sed -i 's/^#*enable_uart=.*/enable_uart=1/' /boot/firmware/config.txt
grep enable_uart /boot/firmware/config.txt
sudo reboot
# 2. Côté CM3+ : vérifier le port
ls /dev/serial*
dmesg | grep -i pl011
# 3. Côté PC hôte Linux : se connecter
sudo apt install -y minicom
sudo minicom -D /dev/ttyUSB0 -b 115200
Vérification attendue
Le terminal minicom affiche le message de login du CM3+ ; la saisie du mot de passe donne un shell complet. Inversement, echo test > /dev/ttyS0 côté CM3+ (avec le shell de login désactivé pour éviter l'écho) fait défiler du texte sur le PC. La console fonctionne même sans réseau ni écran.
Erreurs fréquentes
- TX/RX non croisés : on relie TXD du CM3+ au RX de l'adaptateur, pas TXD vers TXD — aucun caractère n'apparaît alors.
- Oublier la masse commune : sans GND commun, le signal est inexploitable et peut endommager les broches.
- Adaptateur TTL 5 V sur une banque 3,3 V (ou pire, 1,8 V sur une carte custom) : respecter la tension du rail VREF de la banque, sous peine de griller la broche.
enable_uart=1absent : sur les images récentes, l'UART0 se désactive tout seul (le Bluetooth n'existe pas sur le CM3+, mais le dtparam par défaut varie selon les overlays) — le message de login n'apparaît jamais.- Mauvais débit : 115200 8N1 par défaut ; un débit incohérent produit des caractères illisibles.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash