Cómo configurar un cabo RS-232 para BeagleBone Black

3

Estoy intentando usar una capa RS-232 en un script de python. Un convertidor de TU-S9 de USB a serie funciona bien con el mismo código que acabo de cambiar el puerto. Así que no creo que sea mi código. Lo único en lo que puedo pensar es que me estoy perdiendo algo de configuración. El Cabo no viene con ninguna documentación (que he encontrado). He intentado UART 1,2,4 mismo resultado. el puerto se abrirá pero nunca recibe una respuesta del dispositivo. El dispositivo es un PLC DirectLogic 05. Estoy usando ModBus RTU.

Editar: de lo que puedo decir, los puertos UART para el beaglebone están listados como / dev / ttyO0, / dev / ttyO1, / dev / ttyO2, / dev / ttyO3, / dev / ttyO4. Sin embargo, el sistema operativo utiliza / dev / ttyO0.

    
pregunta TheColonel26

1 respuesta

1

Al usar la versión 3.8 o superior del Kernel de Linux, puede configurar una Superposición del árbol de dispositivos .

Con este método, en tiempo de ejecución, puede incorporar los controladores de dispositivo del sistema.

Personalmente, implementé el hardware necesario para operar con una interfaz RS-485 y un protocolo Modbus. Este es básicamente el hardware para el transceptor de bus y sus componentes asociados. Cuando quise iniciar la operación, pude ver que el puerto ttyO4 no estaba habilitado.
Encontré la solución aquí , donde se presenta el código para compilar una Superposición para habilitar el puerto ttyO4. Una vez implementado esto, todo funcionó correctamente.

Attention

En la placa Beaglebone que utilicé, el sistema operativo instalado era Ubuntu . Al compilar el archivo con la Superposición, la herramienta de compilación arrojó un error sobre no reconoció la opción "@" . Esto está resuelto, y aquí está cómo aplicar el parche para el compilador de superposición. Por lo tanto, recomiendo al compilador de Superposición lo que obtenga el código fuente en lugar de usar un repositorio.

    
respondido por el Martin Petrei

Lea otras preguntas en las etiquetas