Tabla de contenido:

Raspberry PI 3: habilite las comunicaciones en serie a TtyAMA0 a BCM GPIO 14 y GPIO 15: 9 pasos
Raspberry PI 3: habilite las comunicaciones en serie a TtyAMA0 a BCM GPIO 14 y GPIO 15: 9 pasos

Video: Raspberry PI 3: habilite las comunicaciones en serie a TtyAMA0 a BCM GPIO 14 y GPIO 15: 9 pasos

Video: Raspberry PI 3: habilite las comunicaciones en serie a TtyAMA0 a BCM GPIO 14 y GPIO 15: 9 pasos
Video: Como CONFIGURAR puerto SERIE en RASPBERRY PI 3/4 2024, Noviembre
Anonim
Raspberry PI 3: habilite las comunicaciones en serie a TtyAMA0 a BCM GPIO 14 y GPIO 15
Raspberry PI 3: habilite las comunicaciones en serie a TtyAMA0 a BCM GPIO 14 y GPIO 15
Raspberry PI 3: habilite las comunicaciones en serie a TtyAMA0 a BCM GPIO 14 y GPIO 15
Raspberry PI 3: habilite las comunicaciones en serie a TtyAMA0 a BCM GPIO 14 y GPIO 15

Recientemente tuve interés en habilitar UART0 en mi Raspberry Pi (3b) para poder conectarlo directamente a un dispositivo de nivel de señal RS-232 usando un conector d-sub estándar de 9 pines sin tener que pasar por un USB a RS-232 adaptador.

Parte de mi interés aquí era también poder conectar un convertidor de nivel RS-232 (MAX3232) o un dispositivo RS-485 (MAX485).

Me costó un poco intentar que la configuración de Pi funcionara. No tengo mucha experiencia con la Raspberry Pi, o su sistema operativo, así que estaba en una curva de aprendizaje bastante empinada.

Finalmente, a través de las búsquedas de Google junto con "Prueba y error", logré reunir todos los detalles para que funcionara a mi satisfacción, pero la información no estaba en un documento conciso que contuviera todos los pasos para que esto sucediera.

Aquí enumero los pasos que tomé para que esto funcione para mí.

Suministros

1 - Raspberry Pi. Usé un modelo 3b … pero este procedimiento debería funcionar con la mayoría de los Pi, especialmente aquellos con las últimas versiones de Raspberry Pi IOS (anteriormente Raspian).

2 - Un "mini" convertidor de nivel RS-232 - TTL a RS-232 - Utilicé un pequeño PCB cargado con un IC MAX 3232 que compré en eBay. También probé con éxito esto con un TTL a RS-485 convertidor - también comprado en eBay.

Una vez que se configuró el Pi, ambos convertidores funcionaron a mi satisfacción sin ningún problema visto por mí.

Paso 1: Instale una copia NUEVA en Raspbian en su tarjeta de memoria

Instale una copia NUEVA en Raspbian en su tarjeta de memoria
Instale una copia NUEVA en Raspbian en su tarjeta de memoria

Comencé instalando una copia nueva / más actualizada de Raspberry Pi IOS (anteriormente Raspian) en mi tarjeta de memoria. Elegí no seguir la ruta NOOBS.

Descargue e instale la herramienta Imager

www.raspberrypi.org/downloads/

Descarga, descomprime e instala en tu tarjeta de memoria la imagen de Raspberry Pi IOS.

Después del arranque, verifique y actualice según sea necesario …

Paso 2: Habilite el puerto serial de Raspberry Pi - Usando la GUI

Habilite el puerto serial de Raspberry Pi - Usando la GUI
Habilite el puerto serial de Raspberry Pi - Usando la GUI
Habilite el puerto serial de Raspberry Pi - Usando la GUI
Habilite el puerto serial de Raspberry Pi - Usando la GUI

De forma predeterminada, en una nueva instalación de Raspberry Pi IOS, UART0 está reservado para el "Logon Shell". Eso está destinado a brindarle cierto acceso / control del Pi a través de una combinación de programa de puerto serie / terminal.

Para utilizar UART0 para otras aplicaciones, debe "desactivar" esa conexión al Logon Shell. Esto ocurre en un par de pasos bastante sencillos.

La forma más rápida de habilitar el "Puerto serie" es hacerlo a través de la GUI.

Desde "Raspberry - Menú desplegable", seleccione "Preferencias" y luego "Configuración de Raspberry Pi"

Desde allí, vaya a la pestaña "Interfaces" y "Habilite" el puerto serie (haciendo clic en el botón de radio correspondiente.

Haga clic en Aceptar para salir y luego reinicie.

O … puedes seguir este método …

Paso 3: un método alternativo para habilitar el puerto serie (y deshabilitar el shell de inicio de sesión)

Un método alternativo para habilitar el puerto serie (y deshabilitar el shell de inicio de sesión)
Un método alternativo para habilitar el puerto serie (y deshabilitar el shell de inicio de sesión)
Un método alternativo para habilitar el puerto serie (y deshabilitar el shell de inicio de sesión)
Un método alternativo para habilitar el puerto serie (y deshabilitar el shell de inicio de sesión)
Un método alternativo para habilitar el puerto serie (y deshabilitar el shell de inicio de sesión)
Un método alternativo para habilitar el puerto serie (y deshabilitar el shell de inicio de sesión)
Un método alternativo para habilitar el puerto serie (y deshabilitar el shell de inicio de sesión)
Un método alternativo para habilitar el puerto serie (y deshabilitar el shell de inicio de sesión)

Este método es de referencia; no es necesario, pero es bueno conocerlo.

== == ==

Un método alternativo para deshabilitar la consola mediante UART0 en el arranque.

usar:

sudo raspi-config

Elija la opción # 5 - Opciones de interfaz ==> Seleccionar

Elija P6 Serial ==> Seleccionar

Responda NO a: ¿Le gustaría que se pudiera acceder a un shell de inicio de sesión a través de la serie?

Responda SÍ a: ¿Le gustaría que se habilitara el hardware del puerto serie?

La respuesta será:

El shell de inicio de sesión en serie está deshabilitado

La interfaz serial está habilitada

Seleccione Aceptar

Seleccione Finalizar

Paso 4: Desactive Bluetooth: libere UART0 y libérelo para TtyAMA0

Deshabilite Bluetooth: libere UART0 y libérelo para TtyAMA0
Deshabilite Bluetooth: libere UART0 y libérelo para TtyAMA0
Deshabilite Bluetooth: libere UART0 y libérelo para TtyAMA0
Deshabilite Bluetooth: libere UART0 y libérelo para TtyAMA0
Deshabilite Bluetooth: libere UART0 y libérelo para TtyAMA0
Deshabilite Bluetooth: libere UART0 y libérelo para TtyAMA0

La segunda parte del proceso es también desconectar el Bluetooth de UART0.

Según esta página de "CONFIGURACIÓN UART", deberá desconectar el dispositivo Bluetooth de UART0 y liberar UART0 para ttyAMA0. Si es necesario, puede mover el Bluetooth al "mini-UART".

Continúe editando el archivo llamado "config.txt" (ubicado en el directorio "boot") y agregue UNA línea en la parte inferior de la página:

dtoverlay = deshabilitar-bt

Dependiendo de su situación y su deseo de usar Bluetooth, es posible que desee agregar la siguiente línea (pero no es necesario para que este tutorial funcione correctamente). Esta página también tiene información valiosa sobre todo este negocio. Tómese el tiempo para leer el archivo vinculado (ver arriba) para comprender esto.

dtoverlay = miniuart-bt

Verifique su ortografía, luego GUARDE el archivo al SALIR y reinicie.

En este punto, debería estar listo para comenzar.

Paso 5: Pin-out de RPI para el puerto UART

Pin-out de RPI para el puerto UART
Pin-out de RPI para el puerto UART

Según el sitio web "pinout.xyz", se puede acceder a los pines UART0 de Raspberry Pi en los siguientes pines.

Los pines UART en modo BCM son: RPI Pin # 8 / GPIO14 ==> TXD

Pin # 10 de RPI / GPIO15 ==> RXD

Recuerde que para estos pines, son "niveles TTL de 3.3 voltios". NO PUEDEN usarse para conducir y recibir desde un dispositivo de nivel RS-232 o RS-422 / RS-485. Si intenta hacerlo, causará que su UART integrado se queme, y lo más probable es que se lleve consigo el chip del procesador.

DEBE usar un convertidor de nivel.

Para conectarse a un dispositivo de nivel RS-232 o RS-422 / RS-485, necesita un convertidor de nivel adecuado.

Paso 6: Agregar un dispositivo convertidor de nivel RS-232 a TTL a su Raspberry Pi

Agregar un dispositivo convertidor de nivel RS-232 a nivel TTL a su Raspberry Pi
Agregar un dispositivo convertidor de nivel RS-232 a nivel TTL a su Raspberry Pi
Agregar un dispositivo convertidor de nivel RS-232 a nivel TTL a su Raspberry Pi
Agregar un dispositivo convertidor de nivel RS-232 a nivel TTL a su Raspberry Pi
Agregar un dispositivo convertidor de nivel RS-232 a nivel TTL a su Raspberry Pi
Agregar un dispositivo convertidor de nivel RS-232 a nivel TTL a su Raspberry Pi

Para conversiones de niveles TTL a RS-232, utilizo el siguiente convertidor.

Un convertidor de nivel Mini RS232 a TTL basado en MAX3232.

Este artículo puede ser alimentado por 3.3 VDC o incluso 5 VDC (ambos disponibles desde pines específicos en su RPI) y en realidad usa muy poca corriente.

La hoja de datos del MAX3232 proporciona detalles valiosos sobre su funcionamiento, pero en realidad no se requiere codificación para que esto funcione.

Consulte las fotos adjuntas y tómese el tiempo para conectar con cuidado los pines de la Raspberry Pi a los pines correspondientes del módulo. Solo sepa que este dispositivo funcionará con 3.3 VCC o con 5 VCC, ambos disponibles en el RPI (consulte el diagrama de distribución de clavijas).

ADVERTENCIA:

Compré un lote de 10 de estas unidades en eBay y NO pude hacer que ninguna funcionara. En la superficie, parece que debería ser bastante fácil de usar, pero no. Después de luchar un poco con ellos, encontré muchos detalles sobre FAKE MAX3232 disponibles en línea.

www.eevblog.com/forum/reviews/fake-max3232-any-additional-details/…

NO recomiendo este artículo.

Paso 7: Agregar un dispositivo convertidor de nivel RS-485 a TTL a su Raspberry Pi

Agregar un dispositivo convertidor de nivel RS-485 a nivel TTL a su Raspberry Pi
Agregar un dispositivo convertidor de nivel RS-485 a nivel TTL a su Raspberry Pi
Agregar un dispositivo convertidor de nivel RS-485 a nivel TTL a su Raspberry Pi
Agregar un dispositivo convertidor de nivel RS-485 a nivel TTL a su Raspberry Pi
Agregar un dispositivo convertidor de nivel RS-485 a TTL a su Raspberry Pi
Agregar un dispositivo convertidor de nivel RS-485 a TTL a su Raspberry Pi

Al igual que en la mayoría de las formas en el paso anterior, agregar un convertidor de nivel RS-485 es igual de fácil, tal vez incluso más fácil.

Para conversiones de niveles TTL a RS-232, utilizo el siguiente convertidor.

Un convertidor MAX485 de nivel RS485 a nivel TTL. Nuevamente, este artículo puede ser alimentado por 3.3 VCC o incluso 5 VCC (ambos disponibles en pines específicos en su RPI) y en realidad usa muy poca corriente. La hoja de datos del MAX485 proporciona detalles valiosos sobre su funcionamiento, pero en realidad no se requiere codificación para que esto funcione.

Consulte las fotos adjuntas y tómese el tiempo para conectar con cuidado los pines de la Raspberry Pi a los pines correspondientes del módulo. Solo sepa que este dispositivo funcionará con 3.3 VCC o con 5 VCC, ambos disponibles en el RPI (consulte el diagrama de distribución de clavijas).

Es de destacar que, a diferencia de RS-232, RS-485 no tiene un tipo de conector "estándar" asociado. La nomenclatura suele ser "B-" y "A +", pero tenga en cuenta que no todos los proveedores siguen esta misma nomenclatura. RS-485 se ejecuta en un esquema de señal de "par diferencial". Más detalles al respecto están disponibles aquí. El "salvaje oeste" sigue vivo en el valle de RS-485.

Paso 8: Ahora es tu turno …

Ahora debería poder conectar su Raspberry Pi directamente a un dispositivo externo de su elección. Hay MUCHOS de ellos todavía en uso en la actualidad.

Cómo lo hagas depende de ti …

Para empezar, echa un vistazo a "Minicom" o "CuteCom", o echa un vistazo a las posibilidades usando "NodeRED".

Paso 9: Sinopsis

No dude en dejar comentarios, sugerencias / correcciones. Te lo agradecería.

Recomendado: