¿Existe un programa de terminal OS X que pueda acceder a los puertos seriales?

101

¿Qué programas pueden actuar como terminal y acceder a los puertos seriales?

Esto no es para el acceso al terminal en una conexión IP, esto es para que pueda acceder a un dispositivo de hardware conectado a un convertidor USB / serie que funciona a 9600/8 / N / 1.

Mark Harrison
fuente
2
¿Te refieres a un puerto de módem hace 20 años?
nohillside
@patrix, sí. Puedo cargar vmware, ejecutar windows y usar masilla, pero eso parece un gran problema para realizar una tarea tan simple.
Mark Harrison el
1
Jajaja 9600/8 / N / 1. como un mantra para mi puede usar zterm que todavía funciona al menos hasta 10.6. Es un viejo software. Pero fue construido para configurar, comunicarse con módems y transmitir archivos de módem a módem. dalverson.com/zterm
markhunte
El último zterm funciona con 10.9.
Dan Pritts el

Respuestas:

54

Hay una nueva aplicación para Mac llamada Serial , disponible en la tienda de aplicaciones. Revelación completa: lo escribí. La principal ventaja sobre otras aplicaciones es que puede funcionar con la mayoría de los dispositivos USB a serie sin tener que instalar ningún controlador, ya que tiene sus propios controladores incorporados. También realiza una emulación de terminal completa para que pueda usarla para trabajar con Linux u otros dispositivos que lo requieran. También puedes probarlo gratis.

Además, Apple comenzó a incluir su propio controlador para dispositivos basados ​​en FTDI en Mavericks (10.9). Por lo tanto, si tiene una versión 10.9 o posterior y su dispositivo tiene un chip FTDI en su interior, puede usar el comando de pantalla incorporado en el terminal para acceder a su dispositivo sin preocuparse por los controladores.

Chris K
fuente
66
Acabo de probar Serial hoy. Hasta ahora, estoy bastante impresionado. Lo compraré solo para evitar tener que preocuparme por los controladores USB a serie. No me perderé nada en mi caja de Linux para ejecutar minicom.
Daryl Spitzer
1
WOW, estoy usando Serial en este momento y creo que así es como debería funcionar cada pieza de software. Como solo lo necesito para un trabajo muy específico y viene con algunos días de prueba gratis, y estoy en bancarrota, no obtendré la versión completa ... si alguna de las tres condiciones fuera falsa, la obtendría ... . ¡Ellos lo merecen!
kikusin
Bueno, una vez que seleccioné la velocidad en baudios para mi dispositivo, no puedo volver a abrirlo con un valor diferente ... La ventana de selección simplemente no aparece y estoy atascado en 9600 ...
JBernardo
8
Fyi Serial no es gratis
Szundi
2
Guau. en serio, wow. He estado usando la pantalla durante años y siempre encontré ttys simplemente ... molesto. Encontré este hilo al azar, era como si no estuviera pagando $ 30, oh, espera, hay una prueba. Entonces lo intenté. 2 minutos después de que compré el software, independientemente de la frecuencia con la que lo necesito solo para apoyar a Chris, porque es realmente increíble. No he visto una cosa bien escrita como esta por un tiempo.
lukash
105

¡Puedes usar el comando de terminal screenpara hacer esto!

Como se ve en ServerFault :

Me encanta usar [pantalla] para conectarme a consolas seriales, es decir

screen /dev/ttyS0 19200

O, si prefiere las sugerencias de Mac OS X ...

A menudo tengo que hacer la configuración del enrutador a través de un puerto de consola, por lo que uso un adaptador serie Keyspan para obtener acceso. Entonces se presentan dos problemas: ZTerm es una aplicación horrible de Mac OS X. No se ha actualizado en cinco años más o menos, y no es un binario universal. El desarrollador no parece tener ninguna prisa por rectificar la situación. No vale la tarifa shareware en su forma actual. Minicom requiere la instalación de Fink o MacPorts y es demasiado complejo. Solución: use la pantalla, la Terminal y un poco de AppleScripting.

Primero, inicie Script Editor y escriba / pegue en el siguiente código:

tell application "Terminal"
  do script with command "screen /dev/tty.KeySerial1"
  set number of rows of window 1 to 100
  set number of columns of window 1 to 80
  set background color of window 1 to "black"
  set normal text color of window 1 to "green"
  set custom title of window 1 to "SerialOut"
end tell

Compile y guarde como una aplicación desde Script Editor, y tiene una aplicación de doble clic para iniciar una sesión de Terminal en serie. Es posible que desee personalizar esto ligeramente: puede cambiar los colores de la pantalla o el número de columnas o filas. Es posible que también necesite personalizar el comando de pantalla con un nombre de dispositivo diferente si está utilizando algo diferente al Adaptador serie Keyspan (haga un ls tty * del directorio / dev / para obtener el nombre correcto).

La pantalla usa Control-A para tomar comandos dirigidos a ella. Entonces escriba Control-A seguido de Control- \ para salir de su sesión de pantalla. Si no lo hace y sale de una sesión de Terminal, dejará la sesión de pantalla activa y el recurso en serie no disponible hasta que elimine la sesión de pantalla manualmente. man screen le mostrará más comandos para enviar a una sesión de pantalla.

Si alguien puede responder con un enlace a un tutorial sobre cómo envolver una aplicación interactiva de Unix en Cocoa, ese sería el siguiente paso; sería bueno hacerlo sin involucrar a Terminal. Si prefiere usar Minicom, aún puede usar AppleScript para envolverlo en una buena aplicación que se puede iniciar; use esta sugerencia anterior para encontrar los comandos de línea de comandos correctos.

Muchos adaptadores de serie USB utilizan el chip de FTDI . Instale el controlador " Puerto COM virtual " y busque el nombre TTY correcto en /dev. Por ejemplo, en un PowerBook G4 apareció como /dev/tty.usbserial-FTALKY8I.

Josh
fuente
1
Para adaptadores en serie USB con chip PL2303, consulte sourceforge.net/projects/osx-pl2303
Dan Pritts el
Claramente la mejor respuesta: Terminal + pantalla + osx-pl2303 (en uso en producción desde ... muchos años ☺).
dan
1
Vale la pena mirar la respuesta de Chris K a continuación; aparentemente OS X viene con controladores FTDI desde 10.9 (después de que se escribió esta respuesta), por lo que la instalación no es necesaria.
krs013
La pantalla (o minicom para el caso) no está del todo bien. Se ve bien hasta que intentas ejecutar nano o vi. No puede manejar eso. Las teclas de flecha y la tecla de retorno generan basura. Si hay una configuración en la pantalla para solucionarlo, avíseme.
garyp
Me encanta la pantalla pero: ¿cómo se consigue traducir lf a crlf?
fearless_fool
25

Mi preferencia es cu. Lo uso para diversión relacionada con Arduino o Bus Pirate. Se instala de manera predeterminada y admite configuraciones de paridad entre otras opciones (escriba man cupara obtener más información).

sudo cu -s 115200 -l /dev/tty.usbserial-A6005kdh

Para rescatar cuando haya terminado, escriba ~.como lo haría con SSH

RandomInsano
fuente
1
Esto parece ser el comienzo de una buena respuesta, pero ejecutarlo como root se siente mal; otros programas no necesitan eso para acceder a los programas /dev/tty.xxx o /dev/cu.xxx, pero cuparece fallar con un error sobre el bloqueo de archivos, cuando se ejecuta como un usuario que tiene acceso al puerto. ¿Quizás la instalación predeterminada del programa está mal configurada?
user221106
¿No? Los permisos deben estar en el dispositivo, no en el programa. He sido bastante vago investigando los permisos para ser honesto. ¿Has probado "/ dev / ttyS0" como en la screensolución? ¿ cuCausa problemas de permisos entonces?
RandomInsano
Un problema divertido con esto que llegué este fin de semana es que si necesita diferentes configuraciones de avance de línea, tendrá que aprender los comandos stty para configurar su consola.
RandomInsano
24

El mejor programa que conozco para esto es minicom, disponible en Homebrew, Fink y Macports.

Minicom es un programa de comunicación en serie. Es un clon de Unix del conocido programa Telix de MS-DOS. Tiene color ANSI, un directorio de marcación, una lista de marcado y un lenguaje de secuencias de comandos.

nohillside
fuente
1
La meta clave es Esc. Entonces, Esc-Q para salir, Esc-O para opciones, etc. Encontré que minicom (y Serial.app) son mejores para manejar desconexiones / reconexiones que son básicamente implícitas cuando se ejecuta el desarrollo de LinkitOne (¿todo Arduino?). La mayoría de las otras aplicaciones se bloquean o pierden la conexión y no pueden volver a conectarse hasta que se reinicie.
owenfi
18

Si prefiere no trabajar en la Terminal, puede probar CoolTerm (gratis). Desplácese hacia abajo un poco para obtener una descripción y descargar. No deje que el hecho de que esté escrito en RealBasic lo aleje ... Lo he usado para conectarme a los trazadores, placas Arduino e impresoras de recibos a través de un adaptador serie USB <-> de Keyspan.

myhd
fuente
Ya un usuario de CoolTerm, solo buscando una función de "enviar en HEX" me trajo de vuelta a este hilo. ¡CoolTerm es genial e incluso tiene esta característica incluida en el menú "Conexión> Enviar cadena ..." y luego cambia a HEX para el formato de envío!
andreas-supersmart
Nunca entendí el caso de uso "enviar en HEX". ¿Puedes por favor iluminarme? Solo lo uso para entrada / salida ASCII.
frakman1
15

Deberías echar un vistazo a ZOC , que creo que es el mejor programa de emulación de terminal disponible para Mac. Lo uso todos los días para mi trabajo. Tiene la capacidad de hacer comunicación directa con un puerto serie. Por supuesto, hace mucho más que solo comunicación en serie.

ZOC es un cliente profesional de SSH / telnet y emulador de terminal. Con su impresionante lista de emulaciones, le permite conectarse fácilmente a hosts y mainframes, utilizando métodos de comunicación como shell seguro, telnet, cable serial o módem / isdn.

Su elegante interfaz de usuario tiene muchas formas de facilitarle la vida. A su manera, esta es la navaja suiza de clientes delgados: versátil, robusta, probada.

Características clave:
- Sesiones con pestañas con miniaturas
- Personalizable para satisfacer sus preferencias y necesidades
- Funciones de secuencias de comandos y automatización
- Compatible con Windows 7 y OS X Lion
- Fácil de usar para el administrador (implementación, configuración)
- Ahora $ 79.99 con atractivos descuentos por volumen

Carretero
fuente
3
¡80 $ para un emulador de terminal parece un poco caro si solo necesita esa característica!
Agos
2
El precio no se mencionó como criterio en la pregunta. No disminuya una respuesta solo porque no está de acuerdo con el precio.
Carter
1
Secundo el comentario de Agos. No está "disminuyendo" su respuesta, solo dice que piensa que ZOC no es una buena solución considerando todo (costo, características, etc.)
cyphunk
Además, combinado con las otras respuestas anteriores, parece (de la descripción citada) que la única diferencia entre ZOC y Terminal son las miniaturas de pestañas (y el precio).
Matt
11

C-Kermit está vivo y bien en Brew, y se puede instalar con:

brew install c-kermit

Naturalmente, primero necesitarías instalar Brew. Puede encontrar información sobre cómo hacer esto aquí: http://brew.sh

Alternativamente, use Macports

sudo port install kermit

Esto también requeriría que tengas Macports instalado

Zach
fuente
7

Y luego todavía está el viejo ZTerm, que es tan viejo como parece, pero hace el trabajo bien y está disponible de forma gratuita. Funciona bien con los adaptadores serie USB basados ​​en Prolific (PL 2303) y FTDI.

MacLemon
fuente
1
Wow, ZTerm vive! Trae muchos recuerdos y viejos Macs.
lhf
Acabo de descargar ZTerm ... y es tan malo como recuerdo ... CRASH ... CRASH ... CRASH ... (eliminar ZTerm).
geowar
4

He tenido éxito con cutecom en Ubuntu 16.04

Compatible con OSX: http://cutecom.sourceforge.net/

gatorback
fuente
Bienvenido a Ask Different! Por favor no dé respuestas de solo enlace. Estamos buscando respuestas que brinden explicaciones de por qué responde a la pregunta y por qué es la mejor respuesta. Los enlaces pueden cambiar con el tiempo y luego perderemos el contexto de preguntas y respuestas. Consulte Cómo responder para obtener información sobre lo que constituye una buena respuesta. - De la opinión -
FSB
Desafortunadamente, se requiere que se instale una versión muy antigua de Qt en su sistema para construirlo.
Oscar
3

¡Otro terminal en serie para Mac OS X es Cornflake !

Cuenta con selección de dispositivo con un botón de actualización, velocidad de transmisión y selección de tipo de paquete y control de flujo, control de puerto y un filtro de visualización para ver datos entrantes como ASCII, ASCII +, Entero o HEX.

maccid
fuente
1

Utilizo screenpara conectarme al puerto serie de mi enrutador en mi Mac.

Después de instalarlo, usando macports o homebrew según su preferencia, use la siguiente sintaxis:

sudo screen /dev/(serialDevice) (baudRate) (TransmissionRate) (flowControl)

Para conectarme a mi enrutador MikroTik RB4011, mi screencomando es:

sudo screen /dev/ttyUSB0 115200 cs8 ixoff

" cs8 " es la velocidad de bits del enrutador y " ixoff " que especifica "Sin control de flujo". " 115200 " es la velocidad en baudios del enrutador. La configuración alternativa sería "cs7" para 7 en lugar de 8 bits e "ixon" si su dispositivo serie admite el control de flujo. man screen

Todos los "HowTo's" para usar screenpara hacer una conexión en serie en la red. Encontré que Google omite estos parámetros requeridos, por lo que descubrirá que screenno ha funcionado si lo ha intentado solo pasando la velocidad en baudios.

Por cierto, minicom -s(que también necesitaría instalarse a través de macports o homebrew) también funciona muy bien, pero prefiero la pantalla ya que no tengo que pasar por los menús de configuración: solo puedo pasar los parámetros de conexión en serie directamente al comando de pantalla.

F1Linux
fuente