Esiste un programma terminale OS X che può accedere alle porte seriali?


101

Quali programmi possono fungere da terminale e accedere alle porte seriali?

Questo non è per l'accesso al terminale su una connessione IP, è così che posso accedere a un dispositivo hardware collegato a un convertitore USB / seriale in esecuzione a 9600/8 / N / 1.


2
Intendi una porta modem 20 anni fa?
Nohillside

@patrix, sì. Posso caricare vmware, eseguire windows e usare stucco, ma mi sembra un sacco di problemi per eseguire un compito così semplice.
Mark Harrison,

1
Lol. 9600/8 / N / 1. come un mantra per me. puoi usare zterm che funziona ancora almeno fino a 10.6. È vecchio software. Ma è stato creato per configurare, comunicare con i modem e trasmettere file da modem a modem. dalverson.com/zterm
markhunte

L'ultimo zterm funziona con 10.9.
Dan Pritts,

Risposte:


54

C'è una nuova app per Mac chiamata Seriale , disponibile nell'app store. Divulgazione completa: l'ho scritto. Il vantaggio principale rispetto ad altre app è che può funzionare con la maggior parte dei dispositivi da USB a seriale senza dover installare alcun driver, poiché ha i propri driver integrati. Esegue anche l'emulazione terminale completa in modo da poterla utilizzare per lavorare con Linux o altri dispositivi che la richiedono. Puoi provarlo anche gratuitamente.

Inoltre, Apple ha iniziato a includere il proprio driver per dispositivi basati su FTDI in Mavericks (10.9). Quindi, se sei su 10.9 o successivo e il tuo dispositivo ha un chip FTDI all'interno, puoi usare il comando integrato dello schermo nel terminale per accedere al tuo dispositivo senza preoccuparti dei driver.


6
Ho appena provato Serial oggi. Finora, sono abbastanza impressionato. Lo comprerò solo per avermi risparmiato di dovermi preoccupare di USB ai driver seriali. Non mi mancherà ssh'ing nella mia scatola di Linux per eseguire Minicom.
Daryl Spitzer,

1
WOW, sto usando Serial in questo momento e penso che sia così che dovrebbe funzionare ogni singolo software. Dato che ne ho bisogno solo per un lavoro molto specifico e viene fornito con alcuni giorni di prova gratuiti, e sono al verde, non otterrò la versione completa ... se una delle tre condizioni fosse falsa, la otterrei .. . se lo meritano!
kikusin,

Bene, una volta selezionato il baud rate per il mio dispositivo, non posso riaprirlo con un valore diverso ... La finestra di selezione non viene visualizzata e sono bloccato su 9600 ...
JBernardo

8
fyi Serial non è gratuito
Szundi

2
Wow. veramente Wow. Uso lo schermo da anni e ho sempre trovato tty solo ... fastidiosi. Ho trovato casualmente questa discussione, è stato come se non pagassi $ 30 per - oh aspetta c'è una prova. Quindi ci ho provato. 2 minuti dopo aver acquistato il software praticamente a prescindere da quante volte ne ho bisogno solo per supportare Chris, perché è davvero sorprendente. Non vedo una cosa ben scritta come questa da un po '.
Lukash

105

Puoi usare il comando terminal screenper farlo !!!

Come visto su ServerFault :

Io amo utilizzando [schermo] per il collegamento a console seriali, vale a dire

screen /dev/ttyS0 19200

Oppure, se preferisci i suggerimenti per Mac OS X ...

Devo spesso eseguire la configurazione del router tramite una porta della console, quindi per poter accedere utilizzo un adattatore seriale Keyspan. Si presentano quindi due problemi: ZTerm è un'orribile app per Mac OS X. Non è stato aggiornato da circa cinque anni e non è un Universal Binary. Lo sviluppatore non sembra avere fretta di correggere la situazione. Non vale la quota di shareware nella sua forma attuale. Minicom richiede l'installazione di Fink o MacPorts ed è eccessivamente complesso. Soluzione: utilizzare schermo, Terminale e un po 'di AppleScript.

Innanzitutto, avvia Script Editor e digita / incolla il seguente codice:

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

Compilare e salvare come app dall'interno di Script Editor e disporre di un'applicazione con doppio clic per avviare una sessione terminale seriale. Puoi personalizzarlo leggermente: puoi cambiare i colori dello schermo o il numero di colonne o righe. Potrebbe anche essere necessario personalizzare il comando screen con un nome dispositivo diverso se si utilizza qualcosa di diverso dall'adattatore seriale Keyspan (eseguire una lty tty * della directory / dev / per ottenere il nome giusto).

lo schermo usa Control-A per prendere i comandi ad esso diretti. Quindi digitare Control-A seguito da Control- \ per uscire dalla sessione dello schermo. Se non si riesce a farlo e si esce da una sessione Terminale, si lascerà viva la sessione dello schermo e la risorsa seriale non sarà disponibile fino a quando non si interrompe manualmente la sessione dello schermo. man screen mostrerà ulteriori comandi da inviare a una sessione dello schermo.

Se qualcuno può rispondere con un link a un tutorial su come avvolgere un'app Unix interattiva in Cocoa, quello sarebbe il passo successivo: sarebbe bello farlo senza coinvolgere Terminal. Se preferisci usare Minicom, puoi comunque usare AppleScript per avvolgerlo in una bella app lavabile - usa questo suggerimento più vecchio per trovare i giusti comandi da riga di comando.

Molti adattatori USB-seriale utilizzano il chip FTDI . Installa il driver " Porta COM virtuale " e cerca il nome TTY corretto in /dev. Ad esempio, su un PowerBook G4 è emerso come /dev/tty.usbserial-FTALKY8I.


1
Per gli adattatori USB-seriali con chip PL2303, consultare sourceforge.net/projects/osx-pl2303
Dan Pritts

Chiaramente la risposta migliore: Terminale + schermo + osx-pl2303 (in uso da ... molti anni ☺).
dan

1
Vale la pena guardare la risposta di Chris K qui sotto; apparentemente OS X viene fornito con i driver FTDI dal 10.9 (dopo che questa risposta è stata scritta), quindi l'installazione non è necessaria.
krs013,

Lo schermo (o minicom del resto) non è del tutto corretto. Sembra buono fino a quando non si tenta di eseguire nano o vi. Non può gestirli. I tasti freccia e il tasto Invio generano immondizia. Se sullo schermo è presente un'impostazione per risolverlo, faccelo sapere.
Garyp,

Adoro lo schermo ma: come riesci a tradurre lf in crlf?
fearless_fool

25

La mia preferenza è cu. Lo uso per divertimento legato ad Arduino o Bus Pirate. È installato per impostazione predefinita e supporta le impostazioni di parità tra le altre opzioni (digitare man cuper ulteriori informazioni).

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

Per uscire quando hai finito, digita ~.come faresti con SSH


1
Sembra l'inizio di una buona risposta, ma eseguirla come root sembra sbagliata; altri programmi non ne hanno bisogno per accedere ai programmi /dev/tty.xxx o /dev/cu.xxx, ma cusembra fallire con un errore sui file di blocco, quando eseguiti come utente che ha accesso alla porta stessa. Forse l'installazione predefinita del programma non è configurata correttamente?
user221106

No? Le autorizzazioni dovrebbero essere sul dispositivo, non sul programma. Sono stato piuttosto pigro alla ricerca di autorizzazioni per essere onesti. Hai provato "/ dev / ttyS0" come nella screensoluzione? Fa cucausare problemi di autorizzazioni, allora?
Casuale Insano

Un problema divertente con questo che ho riscontrato questo fine settimana è che se hai bisogno di impostazioni di feed di linea diverse, dovrai imparare i comandi stty per impostare la tua console.
RandomInsano,

24

Il miglior programma che conosco per questo è minicomdisponibile da Homebrew, Fink e Macport.

Minicom è un programma di comunicazione seriale. È un clone Unix del noto programma Telix MS-DOS. Ha un colore ANSI, una rubrica, una lista e un linguaggio di scripting.


1
La meta chiave è Esc. Quindi Esc-Q per uscire, Esc-O per le opzioni, ecc. Ho trovato minicom (e Serial.app) i migliori per gestire disconnessioni / riconnessioni che sono fondamentalmente implicite quando si esegue lo sviluppo di LinkitOne (tutto Arduino?). La maggior parte delle altre app si arresta in modo anomalo o perde la connessione e non può riconnettersi fino al riavvio.
owenfi,

18

Se preferisci non lavorare in Terminal, potresti provare CoolTerm (gratuito). Scorri un po 'verso il basso per la descrizione e il download. Non lasciare che il fatto che sia scritto in RealBasic ti allontani ... L'ho usato per collegarmi a plotter, schede Arduino e stampanti di ricevute tramite un adattatore seriale USB <-> Keyspan.


Già un utente CoolTerm, solo alla ricerca di una funzione "invia in esadecimale" mi ha riportato a questo thread. CoolTerm è così eccezionale e ha anche questa funzione inclusa nel menu "Connessione> Invia stringa ..." quindi passa a HEX per il formato di invio!
andreas-supersmart,

Non ho mai capito il caso d'uso "invia in esadecimale". Puoi per favore illuminarmi? Lo uso solo per input / output ASCII.
frakman1,

15

Dovresti dare un'occhiata a ZOC , quello che penso sia il miglior programma di emulazione terminale disponibile per Mac. Lo uso ogni giorno per il mio lavoro. Ha la capacità di fare comunicazione diretta con una porta seriale. Certo, va ben oltre la semplice comunicazione seriale.

ZOC è un client SSH / telnet professionale ed emulatore di terminale. Con il suo impressionante elenco di emulazioni ti consente di connetterti facilmente a host e mainframe, usando metodi di comunicazione come shell sicura, telnet, cavo seriale o modem / isdn.

La sua elegante interfaccia utente ha molti modi per semplificarti la vita. A modo suo, questo è il coltellino svizzero di clienti magri: versatile, robusto, collaudato.

Caratteristiche principali:
- Sessioni a schede con anteprime
- Personalizzabile per soddisfare le tue preferenze ed esigenze
- Funzionalità di scripting e automazione
- Compatibile con Windows 7 e OS X Lion
- Amministratore (distribuzione, configurazione)
- Ora $ 79,99 con interessanti sconti all'ingrosso


3
80 $ per un emulatore di terminale sembra un po 'ripido se ha solo bisogno di quella funzione!
Agos,

2
Il prezzo non è stato menzionato come criterio nella domanda. Si prega di non diminuire una risposta solo perché non si è d'accordo con il prezzo.
Carter,

1
Secondo commento di Agos. Non sta "diminuendo" la tua risposta, sta solo dicendo che pensa che ZOC non sia una buona soluzione considerando tutto (costo, funzionalità, ecc.)
Cyphunk,

Inoltre, in combinazione con le altre risposte sopra, sembra (dalla descrizione citata) come l'unica differenza tra ZOC e Terminal sia le miniature delle schede (e il prezzo).
Matt

11

C-Kermit è vivo e vegeto in Brew e può essere installato con:

brew install c-kermit

Naturalmente è necessario installare prima Brew. Puoi trovare informazioni su come eseguire questa operazione qui: http://brew.sh

In alternativa, utilizza Macports

sudo port install kermit

Anche questo richiederebbe l' installazione di Macports


7

E poi c'è ancora il vecchio ZTerm che è vecchio quanto sembra, eppure fa il lavoro bene ed è disponibile gratuitamente. Funziona perfettamente con gli adattatori seriali USB basati su Prolific (PL 2303) e FTDI.


1
Wow, ZTerm vive! Riporta molti ricordi e vecchi Mac.
lhf

Ho appena scaricato ZTerm ... ed è brutto come ricordo ... CRASH ... CRASH ... CRASH ... (elimina ZTerm).
geowar,

4

Ho avuto successo con cutecom su Ubuntu 16.04

Supportato su OSX: http://cutecom.sourceforge.net/


Benvenuti a chiedere diverso! Si prega di non dare risposte solo link. Siamo alla ricerca di risposte che forniscano spiegazioni sul perché risponda alla domanda e sul perché sia ​​la risposta migliore. I collegamenti possono cambiare nel tempo e quindi perderemo il contesto domanda-risposta. Vedi Come rispondere per informazioni su ciò che costituisce una buona risposta. - Dalla recensione -
fsb

Sfortunatamente richiede una versione molto vecchia di Qt da installare sul tuo sistema per costruirlo.
Oscar

3

Un altro terminale seriale per Mac OS X è Cornflake !

Presenta la selezione del dispositivo con un pulsante di aggiornamento, baud rate e tipo di pacchetto e selezione del controllo di flusso, controllo della porta e un filtro di visualizzazione per visualizzare i dati in entrata come ASCII, ASCII +, intero o esadecimale.




1

Uso screenper connettermi alla porta seriale del mio router sul mio Mac.

Dopo averlo installato, usando macports o homebrew a seconda delle tue preferenze, usa la sintassi seguente:

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

Per connettermi al mio router MikroTik RB4011 il mio screencomando è:

sudo screen /dev/ttyUSB0 115200 cs8 ixoff

" cs8 " è la velocità in bit del router e " ixoff " specificando "No Flow Control". " 115200 " è la velocità di trasmissione del router. Le impostazioni alternative sarebbero "cs7" per 7 anziché 8 bit e "ixon" se il controllo del flusso è supportato dal dispositivo seriale. man screen

Tutti gli "HowTo's" da utilizzare screenper stabilire una connessione seriale sulla rete che ho trovato su Google omettono questi parametri richiesti, quindi è per questo che screennon funzionerai se l'hai provato passando solo il baud rate.

A proposito, minicom -s(che dovrebbe anche essere installato tramite macports o homebrew) funziona anche alla grande, ma preferisco lo schermo poiché non devo passare attraverso i menu di configurazione - Posso semplicemente passare i parametri della connessione seriale direttamente al comando dello schermo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.