Existe um programa de terminal do OS X que possa acessar portas seriais?


101

Quais programas podem atuar como um terminal e acessar portas seriais?

Isso não é para acesso ao terminal em uma conexão IP, é para que eu possa acessar um dispositivo de hardware conectado a um conversor USB / serial rodando a 9600/8 / N / 1.


2
Você quer dizer como uma porta de modem há 20 anos?
nohillside

@patrix, sim. Posso carregar o vmware, executar janelas e usar massa, mas isso parece um monte de problemas para executar uma tarefa tão simples.
Mark Harrison

1
Ri muito. 9600/8 / N / 1. como um mantra para mim. você pode usar o zterm, que ainda funciona pelo menos até 10.6. É um software antigo. Mas foi construído para configurar, se comunicar com modems e transmitir arquivos de modem para modem. dalverson.com/zterm
markhunte

O zterm mais recente funciona com o 10.9.
Dan Pritts 23/03

Respostas:


54

Há um novo aplicativo para Mac chamado Serial , disponível na loja de aplicativos. Divulgação completa - eu escrevi. A principal vantagem sobre outros aplicativos é que ele pode funcionar com a maioria dos dispositivos USB para serial sem precisar instalar nenhum driver, pois possui seus próprios drivers embutidos. Ele também faz emulação de terminal completa, para que você possa usá-lo para trabalhar com Linux ou outros dispositivos que exijam isso. Você pode experimentá-lo gratuitamente também.

Além disso, a Apple começou a incluir seu próprio driver para dispositivos baseados em FTDI no Mavericks (10.9). Portanto, se você estiver na versão 10.9 ou posterior e seu dispositivo tiver um chip FTDI, poderá usar o comando de tela embutido no terminal para acessar seu dispositivo sem se preocupar com drivers.


6
Eu apenas tentei o Serial hoje. Até agora, estou bastante impressionado. Vou comprá-lo apenas para me poupar de ter que me preocupar com USB para drivers seriais. Não sentirei falta de ssh'ing na minha caixa Linux para executar o minicom.
Daryl Spitzer

1
WOW, estou usando o Serial agora e acho que é assim que cada software deve funcionar. Como eu só preciso dele para um trabalho muito específico e ele vem com alguns dias de teste gratuito, e estou sem dinheiro, não vou receber a versão completa ... se qualquer uma das três condições fosse falsa, eu a receberia .. . eles merecem isso!
Kikusin

Bem, uma vez eu selecionei a taxa de transmissão para o meu dispositivo, eu não posso abri-lo novamente com um valor diferente ... A janela de seleção simplesmente não aparecem e eu estou preso em 9600 ...
JBernardo

8
fyi Serial não é livre
Szundi

2
Uau. realmente uau. Eu uso a tela há anos e sempre achei ttys apenas ... irritantes. Eu encontrei aleatoriamente esse tópico, era como se eu não estivesse pagando US $ 30,00 - espera aí, há um teste. Então eu tentei. Dois minutos depois que comprei o software, independentemente de quantas vezes eu preciso apenas para oferecer suporte a Chris, porque é realmente incrível. Não vejo uma coisa bem escrita assim há um tempo.
lukash 7/02

105

Você pode usar o comando terminal screenpara fazer isso !!!

Como visto no ServerFault :

Eu amo usar [tela] para conexão com consoles seriais, ou seja,

screen /dev/ttyS0 19200

Ou, se você preferir dicas do Mac OS X ...

Geralmente, preciso fazer a configuração do roteador por meio de uma porta do console, portanto, uso um adaptador serial Keyspan para obter acesso. Dois problemas se apresentam: O ZTerm é um aplicativo horrível do Mac OS X. Não é atualizado há cinco anos e não é um binário universal. O desenvolvedor não parece ter pressa para corrigir a situação. Não vale a pena a taxa de shareware em sua forma atual. O Minicom requer a instalação do Fink ou MacPorts e é excessivamente complexo. Solução: use tela, terminal e um pouco de AppleScripting.

Primeiro, inicie o Editor de scripts e digite / cole no seguinte 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 e salve como um aplicativo no Editor de scripts e você tem um aplicativo clicável duas vezes para iniciar uma sessão serial do Terminal. Convém personalizar isso um pouco - você pode alterar as cores da tela ou o número de colunas ou linhas. Também pode ser necessário personalizar o comando screen com um nome de dispositivo diferente se você estiver usando algo diferente do Adaptador serial Keyspan (execute um ls tty * do diretório / dev / para obter o nome correto).

A tela usa o Control-A para executar comandos direcionados a ele. Então digite Control-A seguido de Control- \ para sair da sua sessão de tela. Se você não fizer isso e sair de uma sessão do Terminal, você deixará a sessão de tela ativa e o recurso serial indisponível até que você mate a sessão de tela manualmente. A tela man mostrará outros comandos a serem enviados para uma sessão na tela.

Se alguém puder responder com um link para um tutorial sobre como agrupar um aplicativo Unix interativo no Cocoa, esse seria o próximo passo - seria bom fazer isso sem envolver o Terminal. Se você preferir usar o Minicom, ainda poderá usar o AppleScript para envolvê-lo em um bom aplicativo iniciável - use esta dica mais antiga para encontrar os comandos corretos da linha de comando.

Muitos adaptadores USB-serial usam o chip da FTDI . Instale o driver " Porta COM virtual " e procure o nome TTY adequado em /dev. Por exemplo, em um PowerBook G4, surgiu como /dev/tty.usbserial-FTALKY8I.


1
Para adaptadores USB-seriais com chip PL2303, consulte sourceforge.net/projects/osx-pl2303
Dan Pritts

Claramente a melhor resposta: Terminal + tela + osx-pl2303 (em uso em produção desde ... muitos anos ☺).
dan

1
Vale a pena olhar para a resposta de Chris K abaixo; aparentemente o OS X vem com drivers FTDI desde 10.9 (depois que essa resposta foi escrita), portanto a instalação não é necessária.
precisa saber é o seguinte

Tela (ou minicom para esse assunto) não está certa. Parece bom até você tentar executar o nano ou vi. Não aguenta isso. As teclas de seta e a tecla de retorno geram lixo. Se houver uma configuração na tela para corrigir isso, entre em contato.
22415 garyp

Eu amo a tela, mas: como você consegue traduzir lf para crlf?
fearless_fool

25

Minha preferência é cu. Eu o uso para diversão relacionada ao Arduino ou ao Bus Pirate. Ele é instalado por padrão e suporta configurações de paridade entre outras opções (digite man cupara obter mais informações).

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

Para resgatar quando terminar, digite ~.como faria com o SSH


1
Parece o começo de uma boa resposta, mas executá-la como raiz parece errada; outros programas não precisam disso para acessar os programas /dev/tty.xxx ou /dev/cu.xxx, mas cuparecem falhar com um erro sobre os arquivos de bloqueio, quando executados como um usuário que tem acesso à própria porta. Talvez a instalação padrão do programa esteja configurada incorretamente?
precisa saber é o seguinte

Não? As permissões devem estar no dispositivo, não no programa. Tenho sido muito preguiçoso pesquisando permissões para ser honesto. Você já tentou "/ dev / ttyS0" como na screensolução? Será que cucausam problemas de permissões, então?
RandomInsano

Um problema divertido que cheguei neste final de semana é que, se você precisar de configurações diferentes de feed de linha, precisará aprender os comandos stty para configurar seu console.
RandomInsano

24

O melhor programa que conheço é o minicomde Homebrew, fink e macports.

Minicom é um programa de comunicação serial. É um clone Unix do conhecido programa Telix do MS-DOS. Possui cor ANSI, um diretório de discagem, uma lista de discagem e uma linguagem de script.


1
A meta-chave é Esc. Então, Esc-Q para sair, Esc-O para opções, etc. Eu achei o minicom (e Serial.app) o melhor para lidar com desconexões / reconexões que são basicamente implícitas ao executar o desenvolvimento do LinkitOne (todo o Arduino?). A maioria dos outros aplicativos trava ou perde a conexão e não pode se reconectar até o relançamento.
Owenfi 18/03/2015

18

Se você preferir não trabalhar no Terminal, tente o CoolTerm (gratuito). Role um pouco para descrição e download. Não deixe que o fato de estar escrito no RealBasic o afaste ... Eu usei-o para conectar plotadoras, placas Arduino e impressoras de recibos por meio de um adaptador serial USB Keyspan <->.


Já é um usuário do CoolTerm, basta procurar um recurso "send in HEX" que me trouxe de volta a esse tópico. O CoolTerm é ótimo e ainda tem esse recurso incluído no Menu "Conexão> Enviar String ..." e depois alterne para HEX para o formato de envio!
Andreas-Supersmart

Eu nunca entendi o caso de uso "send in HEX". Você pode me esclarecer, por favor? Eu só o uso sempre para entrada / saída ASCII.
frakman1

15

Você deve dar uma olhada no ZOC , o que eu acho que é o melhor programa de emulação de terminal disponível para o Mac. Eu uso todos os dias para o meu trabalho. Tem a capacidade de fazer comunicação direta com uma porta serial. Claro que faz muito mais do que apenas comunicação serial.

O ZOC é um cliente profissional de SSH / telnet e emulador de terminal. Com sua impressionante lista de emulações, permite conectar-se facilmente a hosts e mainframes, usando métodos de comunicação como shell seguro, telnet, cabo serial ou modem / isdn.

Sua interface de usuário elegante tem muitas maneiras de facilitar sua vida. À sua maneira, este é o canivete suíço de thin clients: versátil, robusto e comprovado.

Principais recursos:
- Sessões com guias com miniaturas
- Personalizável para atender às suas preferências e necessidades
- Recursos de script e automação
- Compatível com Windows 7 e OS X Lion
- Fácil de administrar (implantação, configuração)
- Agora US $ 79,99 com descontos atraentes em massa


3
80 $ para um emulador de terminal parece um pouco íngreme se ele apenas precisar desse recurso!
Agos

2
O preço não foi mencionado como critério na pergunta. Por favor, não diminua a resposta apenas porque você não concorda com o preço.
Carter

1
Eu segundo o comentário de Agos. Ele não está "diminuindo" sua resposta, apenas dizendo que ele pensa que ZOC não é uma boa solução, considerando tudo (custos, recursos, etc)
cyphunk

Além disso, combinado com as outras respostas acima, parece (a partir da descrição citada) que a única diferença entre o ZOC e o Terminal são as miniaturas das guias (e o preço).
Matt

11

O C-Kermit está ativo e bem no Brew e pode ser instalado com:

brew install c-kermit

Naturalmente, você exigiria que o Brew fosse instalado primeiro. Você pode encontrar informações sobre como fazer isso aqui: http://brew.sh

Como alternativa, use Macports

sudo port install kermit

Isso também exigiria a instalação de Macports


7

E ainda existe o antigo ZTerm, que é tão antigo quanto parece, mas faz o trabalho muito bem e está disponível gratuitamente. Funciona bem com adaptadores seriais USB baseados em Prolific (PL 2303) e FTDI.


1
Uau, o ZTerm vive! Traz muitas lembranças e Macs antigos.
LHF

Acabei de baixar o ZTerm ... e é tão ruim quanto eu me lembro ... CRASH ... CRASH ... CRASH ... (exclua o ZTerm).
Geowar #

4

Eu tive sucesso com o cutecom no Ubuntu 16.04

Suportado no OSX: http://cutecom.sourceforge.net/


Bem-vindo ao perguntar diferente! Por favor, não dê respostas somente para links. Estamos à procura de respostas que forneçam explicações sobre o porquê de responder à pergunta e por que é a melhor resposta. Os links podem mudar com o tempo e, em seguida, perderemos o contexto de perguntas e respostas. Consulte Como responder para obter informações sobre o que constitui uma boa resposta. - Resenha -
fsb

Infelizmente, é necessário instalar uma versão muito antiga do Qt no seu sistema para construí-lo.
Oscar

3

Outro terminal serial para o Mac OS X é o Cornflake !

Possui seleção de dispositivo com um botão Atualizar, taxa de transmissão e tipo de pacote e seleção de controle de fluxo, controle de porta e um filtro de visualização para visualizar os dados recebidos como ASCII, ASCII +, número inteiro ou HEX.




1

Eu uso screenpara conectar à porta serial do meu roteador no meu Mac.

Após a instalação, usando macports ou homebrew, dependendo da sua preferência, use a seguinte sintaxe:

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

Para conectar ao meu roteador MikroTik RB4011, meu screencomando é:

sudo screen /dev/ttyUSB0 115200 cs8 ixoff

" cs8 " sendo a taxa de bits do roteador e " ixoff " especificando "No Flow Control". " 115200 " é a taxa de transmissão do roteador. As configurações alternativas seriam "cs7" para 7 em vez de 8 bits e "ixon" se o controle de fluxo for suportado pelo seu dispositivo serial. man screen

Todos os "instruções" para usar screenpara fazer uma conexão serial na rede que eu encontrei no Google omitem esses parâmetros obrigatórios, e é por isso que você encontrará screenque não funcionou se você tentou apenas passando apenas a taxa de transmissão.

BTW, minicom -s(que também precisaria ser instalado via macports ou homebrew) também funciona muito bem, mas eu prefiro a tela porque não preciso passar pelos menus de configuração - posso apenas passar os parâmetros de conexão serial diretamente para o comando screen.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.