Existe-t-il un programme terminal OS X pouvant accéder aux ports série?

101

Quels programmes peuvent faire office de terminal et accéder aux ports série?

Ce n'est pas pour l'accès terminal sur une connexion IP, c'est pour que je puisse accéder à un périphérique connecté à un convertisseur USB / série fonctionnant à 9600/8 / N / 1.

Mark Harrison
la source
2
Vous voulez dire comme un port modem il y a 20 ans?
nohillside
@patrix, oui. Je peux charger vmware, exécuter Windows et utiliser du mastic, mais cela me semble très difficile d’effectuer une tâche aussi simple.
Mark Harrison
1
Lol. 9600/8 / N / 1. comme un mantra pour moi. vous pouvez utiliser zterm qui fonctionne toujours au moins jusqu’à 10.6. C'est un vieux logiciel. Mais a été construit pour configurer, communiquer avec les modems et transmettre des fichiers modem à modem. dalverson.com/zterm
markhunte
Le dernier zterm fonctionne avec 10.9.
Dan Pritts

Réponses:

54

Il existe une nouvelle application Mac appelée Serial , disponible dans l'App Store. Divulgation complète - je l'ai écrit. Le principal avantage par rapport aux autres applications est qu’elle peut fonctionner avec la plupart des périphériques USB à série sans installer de pilotes car elle possède ses propres pilotes. Il effectue également une émulation de terminal complète afin que vous puissiez l'utiliser pour travailler avec Linux ou d'autres périphériques qui en ont besoin. Vous pouvez aussi l'essayer gratuitement.

Apple a également commencé à inclure son propre pilote pour les périphériques basés sur FTDI dans Mavericks (10.9). Ainsi, si vous utilisez la version 10.9 ou ultérieure et que votre périphérique contient une puce FTDI, vous pouvez utiliser la commande d'écran intégrée du terminal pour accéder à votre périphérique sans se soucier des pilotes.

Chris K
la source
6
Je viens d'essayer Serial aujourd'hui. Jusqu'ici, je suis assez impressionné. Je l'achèterai simplement pour ne pas avoir à me soucier de l'USB ou des pilotes série. Je ne manquerai pas de ssh dans ma machine Linux pour exécuter minicom.
Daryl Spitzer
1
WOW, j'utilise Serial en ce moment et je pense que c'est ainsi que chaque logiciel devrait fonctionner. Comme je n’en ai besoin que pour un travail très spécifique et que certains jours d’essai sont gratuits, et que je suis fauché, je n’obtiendrai pas la version complète ... si l’une des trois conditions était fausse, je l’aurais. . ils le méritent!
kikusin
Eh bien, une fois que j'ai sélectionné le débit en bauds de mon appareil, je ne peux plus l'ouvrir avec une valeur différente ... La fenêtre de sélection n'apparaît tout simplement pas et je suis bloqué sur 9600 ...
JBernardo
8
Le numéro de série n'est pas gratuit
Szundi
2
sensationnel. vraiment wow. J'utilise screen depuis des années et j'ai toujours trouvé ttys juste .. ennuyeux. J'ai trouvé ce fil au hasard, comme si je ne payais pas 30 $ pour - oh, attendez, il y a un procès. Alors j'ai essayé. Deux minutes après, j’ai acheté le logiciel, quelle que soit la fréquence dont j’ai besoin pour supporter Chris, c’est vraiment incroyable. Je n'ai pas vu une chose bien écrite comme celle-ci depuis un moment.
Loukash
105

Vous pouvez utiliser la commande de terminal screenpour le faire !!!

Comme on le voit sur ServerFault :

J'adore l' aide de [ l' écran] pour se connecter à une console série, à savoir

screen /dev/ttyS0 19200

Ou, si vous préférez des astuces Mac OS X ...

Comme je dois souvent configurer le routeur via un port de console, j'utilise un adaptateur série Keyspan pour obtenir l'accès. Deux problèmes se présentent alors: ZTerm est une horrible application Mac OS X. Il n'a pas été mis à jour depuis environ cinq ans et n'est pas un binaire universel. Le développeur ne semble pas pressé de remédier à la situation. Cela ne vaut pas les frais de shareware dans sa forme actuelle. Minicom nécessite l'installation de Fink ou MacPorts et est trop complexe. Solution: Utilisez screen, Terminal et un peu AppleScripting.

Tout d’abord, lancez Script Editor et tapez / collez le code suivant:

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

Compilez et enregistrez en tant qu'app à partir de Script Editor. Vous disposez alors d'une application à double clic permettant de lancer une session de terminal en série. Vous voudrez peut-être personnaliser légèrement cette option. Vous pouvez modifier les couleurs de l’écran ou le nombre de colonnes ou de rangées. Vous devrez peut-être aussi personnaliser la commande screen avec un nom de périphérique différent si vous utilisez autre chose que l'adaptateur série Keyspan (effectuez une ls tty * du répertoire / dev / pour obtenir le bon nom).

screen utilise Control-A pour prendre les commandes qui lui sont adressées. Donc, tapez Control-A suivi de Control- \ pour quitter votre session d’écran. Si vous ne le faites pas et que vous quittez une session Terminal Server, vous laisserez la session écran active et la ressource série indisponible jusqu'à ce que vous supprimiez manuellement la session écran. man screen vous montrera d’autres commandes à envoyer à une session écran.

Si quelqu'un peut répondre avec un lien vers un didacticiel expliquant comment intégrer une application Unix interactive dans Cocoa, ce serait la prochaine étape. Ce serait bien de le faire sans impliquer Terminal. Si vous préférez utiliser Minicom, vous pouvez toujours utiliser AppleScript pour l'envelopper dans une belle application pouvant être lancée. Utilisez cet indice plus ancien pour trouver les bonnes commandes en ligne de commande.

De nombreux adaptateurs série USB utilisent la puce FTDI . Installez le pilote " Virtual COM Port " et recherchez le nom TTY approprié dans /dev. Par exemple, sur un PowerBook G4, il est apparu comme /dev/tty.usbserial-FTALKY8I.

Josh
la source
1
Pour les adaptateurs série USB avec puce PL2303, voir sourceforge.net/projects/osx-pl2303
Dan Pritts
Clairement la meilleure réponse: Terminal + écran + osx-pl2303 (en production depuis… plusieurs années).
dan
1
Cela vaut la peine de regarder la réponse de Chris K ci-dessous; Apparemment, OS X est fourni avec les pilotes FTDI depuis la version 10.9 (après l’écriture de cette réponse), l’installation n’est donc pas nécessaire.
krs013
Screen (ou minicom d'ailleurs) n'est pas tout à fait correct. Ça a l'air bien jusqu'à ce que vous essayiez de courir nano ou vi. Il ne peut pas gérer ceux-ci. Les touches fléchées et la touche retour génèrent des déchets. S'il y a un paramètre à l'écran pour résoudre ce problème, s'il vous plaît faites le moi savoir.
garyp
J'adore l'écran mais: comment obtenez-vous qu'il traduise lf en CRLF?
fearless_fool
25

Ma préférence est cu. Je l'utilise pour l'amusement lié à Arduino ou Bus Pirate. Il est installé par défaut et prend en charge les paramètres de parité parmi d'autres options (tapez man cupour plus d'informations).

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

Pour renflouer lorsque vous avez terminé, tapez ~.comme vous le feriez avec SSH

RandomInsano
la source
1
Cela semble être le début d'une bonne réponse, mais l'exécuter en tant que root n'a pas sa place; les autres programmes n'ont pas besoin de cela pour accéder aux programmes /dev/tty.xxx ou /dev/cu.xxx, mais cusemblent échouer avec une erreur concernant les fichiers de verrouillage lorsqu'ils sont exécutés en tant qu'utilisateur ayant accès au port lui-même. Peut-être que l'installation par défaut du programme est mal configurée?
user221106
Non? Les autorisations doivent être sur le périphérique, pas le programme. J'ai été assez paresseux à la recherche des autorisations pour être honnête. Avez-vous essayé "/ dev / ttyS0" comme dans la screensolution? Est-ce que cela cucause des problèmes d'autorisations?
RandomInsano
Un problème amusant avec ce problème que je rencontre ce week-end est que si vous avez besoin de différents paramètres de saut de ligne, vous devrez apprendre les commandes stty pour configurer votre console.
RandomInsano
24

Le meilleur programme que je connaisse pour cela est minicom, disponible chez Homebrew, Fink et Macports.

Minicom est un programme de communication en série. C'est un clone Unix du programme bien connu MS-DOS Telix. Il possède une couleur ANSI, un répertoire de numérotation, une liste de numérotation et un langage de script.

nohillside
la source
1
La clé méta est Esc. Donc, Esc-Q pour quitter, Esc-O pour les options, etc. J'ai trouvé que minicom (et Serial.app) étaient les meilleurs pour gérer les déconnexions / reconnexions qui sont fondamentalement implicites lors de l'exécution du développement LinkitOne (tout Arduino?). La plupart des autres applications se bloquent ou perdent la connexion et ne peuvent pas se reconnecter avant d'être relancées.
Owenfi
18

Si vous préférez ne pas travailler dans Terminal, essayez d’essayer CoolTerm (gratuit). Faites défiler un peu pour la description et le téléchargement. Ne laissez pas le fait que ce soit écrit dans RealBasic vous dissuader ... Je l’ai utilisé pour connecter des traceurs, des cartes Arduino et des imprimantes de reçus via un adaptateur série <-> USB Keyspan.

myhd
la source
Déjà utilisateur de CoolTerm, le simple fait de chercher une fonction "envoyer en HEX" m'a ramené à ce fil. CoolTerm est vraiment génial et cette fonctionnalité est même incluse dans le menu "Connexion> Chaîne d'envoi ...", puis basculez sur HEX pour le format d'envoi!
andreas-supersmart
Je n'ai jamais compris le cas d'utilisation "send in HEX". Pouvez-vous s'il vous plaît m'éclairer? Je ne l'utilise que pour les entrées / sorties ASCII.
frakman1
15

Vous devriez regarder ZOC , ce que je pense être le meilleur programme d'émulation de terminal disponible pour Mac. Je l'utilise tous les jours pour mon travail. Il est capable de communiquer directement avec un port série. Bien sûr, cela ne se limite pas à une simple communication en série.

ZOC est un émulateur de terminal et de client SSH / telnet professionnel. Avec sa liste impressionnante d’émulations, il vous permet de vous connecter facilement aux hôtes et aux ordinateurs centraux, à l’aide de méthodes de communication telles que le shell sécurisé, Telnet, le câble série ou le modem / isdn.

Son interface utilisateur élégante offre de nombreuses façons de vous rendre la vie plus facile. A sa manière, c’est le couteau suisse des clients légers: polyvalent, robuste, éprouvé.

Principales caractéristiques:
- Sessions avec onglets et miniatures
- Personnalisable selon vos préférences et vos besoins
- Fonctions de script et d'automatisation
- Compatible avec Windows 7 et OS X Lion
- Adaptable pour les administrateurs (déploiement, configuration)
- 79,99 $ avec des remises en gros intéressantes

Charretier
la source
3
80 $ pour un émulateur de terminal semble un peu raide s'il a juste besoin de cette fonctionnalité!
Agos
2
Le prix n'a pas été mentionné comme critère dans la question. S'il vous plaît ne diminuez pas une réponse simplement parce que vous n'êtes pas d'accord avec le prix.
Carter
1
Je seconde le commentaire de Agos. Il ne "diminue" pas votre réponse, il dit simplement qu'il pense que la ZOC n'est pas une bonne solution, compte tenu de tout (coût, fonctionnalités, etc.)
cyphunk
En outre, combiné aux autres réponses ci-dessus, il semble (d'après la description citée) que la seule différence entre la ZOC et le terminal réside dans les vignettes (et le prix).
Matt
11

C-Kermit est bien vivant à Brew et peut être installé avec:

brew install c-kermit

Naturellement, vous auriez besoin que Brew soit installé en premier. Vous pouvez trouver des informations sur la procédure à suivre ici: http://brew.sh

Utilisez alternativement Macports

sudo port install kermit

Cela exigerait aussi que vous ayez installé Macports

Zach
la source
7

Et puis, il y a toujours l'ancien ZTerm, qui est aussi vieux que son apparence le suggère, mais le travail est bien fait et il est disponible gratuitement. Fonctionne parfaitement avec les adaptateurs série USB basés sur Prolific (PL 2303) et FTDI.

MacLemon
la source
1
Waouh, ZTerm vit! Ramène beaucoup de souvenirs et de vieux Mac.
Lhf
Je viens de télécharger ZTerm… et c'est aussi grave que je m'en souvienne… CRASH… CRASH… CRASH… (supprimez ZTerm).
geowar
4

J'ai eu du succès avec cutecom sur Ubuntu 16.04

Pris en charge sur OSX: http://cutecom.sourceforge.net/

Gatorback
la source
Bienvenue à Ask Different! S'il vous plaît ne donnez pas de réponses uniquement par liens. Nous recherchons des réponses qui expliquent pourquoi cela répond à la question et pourquoi c'est la meilleure réponse. Les liens peuvent changer au fil du temps et nous perdrons alors le contexte question-réponse. Voir Comment répondre aux questions pour savoir ce qui constitue une bonne réponse. - De l'avis -
fsb
Malheureusement, une version très ancienne de Qt doit être installée sur votre système pour le construire.
Oscar
3

Cornflake est un autre terminal série pour Mac OS X !

Il propose une sélection de périphérique avec un bouton d'actualisation, une sélection de débit en bauds et de type de paquet et de contrôle de flux, un contrôle de port et un filtre de visualisation permettant d'afficher les données entrantes au format ASCII, ASCII +, Integer ou HEX.

maccid
la source
1

SerialTools sur App Store (gratuit). Bon pour moi

Trieu Tu Long
la source
1

J'utilise screenpour me connecter au port série de mon routeur sur mon Mac.

Après l'avoir installé - en utilisant soit macports, soit homebrew, selon votre préférence - utilisez la syntaxe suivante:

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

Pour me connecter à mon routeur MikroTik RB4011, ma screencommande est la suivante:

sudo screen /dev/ttyUSB0 115200 cs8 ixoff

" cs8 " étant le débit du routeur et " ixoff " spécifiant "Pas de contrôle de flux". " 115200 " est le débit en bauds du routeur. Les autres paramètres possibles sont "cs7" pour 7 au lieu de 8 bits et "ixon" si le contrôle de flux est pris en charge par votre périphérique série. man screen

Tous les "HowTo" pour utiliser screenpour établir une connexion série sur le réseau que j'ai trouvé Googling omettent ces paramètres obligatoires, c'est pourquoi vous constaterez que cela screenn'a pas fonctionné si vous l'avez essayé en ne transmettant que le débit en bauds.

BTW minicom -s(qui doit également être installé via macports ou homebrew) fonctionne également très bien, mais je préfère l’écran car je n’ai pas besoin de passer par les menus de configuration. Je peux simplement passer les paramètres de connexion série directement à la commande screen.

F1Linux
la source