🛠 Activer une console série sur l'UART du CM3+
Objetivos
Establecer un acceso a la consola serie en el CM3+: imprescindible en la producción industrial, cuando la pantalla HDMI y la red no están disponibles. El BCM2837B0 expone dos UART completos en el conector SODIMM (2× UART según la hoja de datos RP-008163-DS §2.2); aquí se utiliza la UART0 PL011 en GPIO14/15, expuestos en el conector GPIO de la CMIO3. Activarás el puerto serie mediante config.txt y raspi-config, y luego te conectarás desde un PC anfitrión.
Material
- CM3+ sobre CMIO3, con Raspberry Pi OS iniciado
- Adaptador USB a TTL de 3,3 V (nunca TTL de 5 V directo: el banco GPIO de la CMIO3 es de 3,3 V)
- 3 cables: GPIO14 (TXD0) hacia RX del adaptador, GPIO15 (RXD0) hacia TX, GND hacia GND
- En una placa personalizada, verificar el riel VREF del banco correspondiente (posibles valores de 1,8 a 3,3 V)
Código completo
# 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
Verificación esperada
La terminal minicom muestra el mensaje de inicio de sesión del CM3+; la introducción de la contraseña proporciona un shell completo. Inversamente, echo test > /dev/ttyS0 en el CM3+ (con el shell de inicio de sesión desactivado para evitar el eco) hace que el texto se despliegue en el PC. La consola funciona incluso sin red ni pantalla.
Errores frecuentes
- TX/RX no cruzados: se conecta el TXD del CM3+ al RX del adaptador, no TXD a TXD — de lo contrario, no aparece ningún carácter.
- Olvidar la masa común: sin una GND común, la señal es inutilizable y puede dañar los pines.
- Adaptador TTL de 5 V en un banco de 3,3 V (o peor, 1,8 V en una placa personalizada): respetar la tensión del riel VREF del banco, so pena de quemar el pin.
- Ausencia de
enable_uart=1: en las imágenes recientes, la UART0 se desactiva sola (el Bluetooth no existe en el CM3+, pero el dtparam por defecto varía según los overlays) — el mensaje de inicio de sesión nunca aparece. - Velocidad de transmisión incorrecta: 115200 8N1 por defecto; una velocidad incoherente produce caracteres ilegibles.
Otros tutoriales para esta placa
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash