¿Cómo puedo hacer que Raspberry Pi y BeagleBone Black hablen en serie?

El BeagleBone Black es genial. Conecta el cable USB a su computadora y se establece una conexión DHCP, lo que le permite conectarse al BeagleBone en segundos. Lamentablemente, la Raspberry Pi tarda un poco más y estoy en proceso de configurarla. Pude descargar raspbian.img a una tarjeta SD usando mi BeagleBone Black usando el comando dd a través de la terminal.

Ahora tengo una tarjeta SD que debería permitir que Raspberry Pi se inicie en Linux, pero no tengo un cable HDMI, monitor o teclado para hacer esto.

Según tengo entendido, es posible llegar a la línea de comando de Raspberry Pi a través de la comunicación en serie. Ver aquí _ Por lo general, las personas hacen esto usando un cable USB con un chip FTDI USB-Serial integrado (vendido por Adafruit y otros).

¿Es posible conectarse desde BeagleBone Black a la línea de comandos de Raspberry Pi a través de comunicación en serie (de modo que pueda conectarme a mi BeagleBone Black a través de ssh desde mi computadora portátil y luego conectarme a Raspberry Pi a través de serie desde BeagleBone Black)?

Según tengo entendido, solo se requieren 3 pines: TxD, RxD y GND.

Desafortunadamente, veo que Raspberry Pi usa una lógica de 3.3V y, según tengo entendido, BeagleBone Black usa 5V. Esto significa que se debe usar algún tipo de circuito de cambio de nivel.

Con el circuito de cambio de nivel en su lugar, ¿sería sencillo establecer una comunicación en serie entre estas dos placas?

¿O debo ir con ethernet para conectarlos y considerar la configuración de DHCP para la comunicación?

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

¿Las imágenes RPi ya no tienen DHCP y Avahi ejecutándose?
Puede montar la tarjeta SD raspbian en su PC, asegúrese de que /etc/network/interfacescontenga auto eth0y iface eth0 inet dhcp, chrooten ella, apt-get install openssh-server, etc. y luego aparecerá por sí sola.
Pero sí, puede usar el BBB como una interfaz en serie, con un cambiador de nivel o un cambiador de ghetto (sin cambio en el TX de pi y un divisor de resistencia en el RX de pi)

Respuestas (2)

El BeagleBone Black tiene señales de nivel lógico de 3,3 V. Sus puertos seriales son todos puertos de 3.3V. UART0 está vinculado al encabezado de depuración y está codificado para el registro de depuración de BBB. No es útil para la comunicación estándar entre dos dispositivos.

Tienes dos opciones principales. Afortunadamente, BBB tiene múltiples UART que se pueden habilitar. Encienda uno de los otros UART y conecte los pines apropiados de los encabezados de expansión al RPI. Dado que el RPI predeterminado es un shell UART en el puerto serie, puede ingresar a su BBB y luego usar minicom o similar para hablar con el RPI desde allí.

Alternativamente, puede usar un cable serie USB en el puerto host USB de BBB (u OTG si lo necesita). Y también puede hacer lo mismo en el RPI (por lo que tiene dos cables USB a serie conectados entre sí), pero eso requeriría alguna configuración en el RPI, un catch 22.

No tengo suficiente reputación para comentar, pero para aclarar, el BBB también usa una serie de 3.3v, por lo que no se necesita un cambio de nivel.

En cuanto a la pregunta general, sí, esto debería funcionar de una manera bastante sencilla. Sé que BBB por defecto presenta un terminal serie en UART0 (/dev/ttyO0) que sale al puerto de depuración. Siempre que la frambuesa pi haga lo mismo, debería funcionar para conectarlos (intercambiando rx y tx) y acceder a la consola serie. Sin embargo, no sé si esta es la configuración predeterminada para el pi.