147 votes

Y a-t-il un programme de terminal OS X qui peut accéder aux ports série ?

Quels programmes peuvent agir en tant que terminal et accéder aux ports série?

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

2 votes

Vous voulez dire comme un port de modem il y a 20 ans?

0 votes

@patrix, oui. Je peux charger vmware, exécuter Windows et utiliser Putty, mais cela semble être beaucoup de travail pour effectuer une tâche aussi simple.

1 votes

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 il a été conçu pour configurer, communiquer avec les modems et transférer des fichiers de modem à modem. dalverson.com/zterm

160voto

Gareth Jenkins Points 1480

Vous pouvez utiliser la commande terminal screen pour faire cela !!!

Comme vu sur ServerFault:

J'adore utiliser [screen] pour me connecter aux consoles série, c'est-à-dire.

screen /dev/ttyS0 19200

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

Je dois souvent faire la configuration des routeurs via un port console, donc j'utilise un adaptateur série Keyspan pour y accéder. Deux problèmes se posent alors : ZTerm est une application Mac OS X horrible. Elle n'a pas été mise à jour depuis cinq ans environ et n'est pas un binaire universel. Le développeur ne semble pas pressé de rectifier la situation. Ce n'est pas la peine de payer pour la version 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 de scripting Apple.

Tout d'abord, lancez l'Éditeur de Scripts 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 comme une application depuis l'Éditeur de Scripts, et vous aurez une application double-cliquable pour lancer une session Terminal série. Vous voudrez peut-être personnaliser cela légèrement -- vous pouvez changer les couleurs de l'écran ou le nombre de colonnes ou de rangées. Vous devrez également éventuellement personnaliser la commande screen avec un nom de périphérique différent si vous utilisez autre chose que l'adaptateur série Keyspan (faites un ls tty* du répertoire /dev pour obtenir le bon nom).

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

Si quelqu'un peut répondre avec un lien vers un tutoriel sur comment encapsuler 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 pourriez toujours utiliser le AppleScript pour envelopper cela dans une jolie application lançable -- utilisez cette ancienne astuce pour trouver les bonnes commandes en ligne de commande.

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

1 votes

Pour les adaptateurs USB-Série avec puce PL2303, consultez sourceforge.net/projects/osx-pl2303

1 votes

Clairment la meilleure réponse: Terminal + screen + osx-pl2303 (en utilisation en production depuis... de nombreuses années ).

3 votes

Il vaut la peine de regarder la réponse de Chris K ci-dessous; apparemment, OS X est livré avec les pilotes FTDI depuis 10.9 (après la rédaction de cette réponse), donc l'installation n'est pas nécessaire.

89voto

Chris K Points 836

L'application Mac appelée Serial est disponible en tant qu'application payante sur l'App Store. Transparence totale - 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 vers série sans avoir besoin d'installer de pilotes, car elle possède ses propres pilotes intégrés. Elle permet également une émulation terminale complète, vous pouvez donc l'utiliser pour travailler avec Linux ou d'autres appareils qui en ont besoin. Vous pouvez également l'essayer gratuitement.

Aussi, Apple a commencé à inclure son propre pilote pour les appareils basés sur FTDI dans Mavericks (10.9). Donc, si vous êtes sur 10.9 ou plus récent et que votre appareil contient une puce FTDI, vous pouvez utiliser la commande screen intégrée dans le terminal pour accéder à votre appareil sans vous soucier des pilotes.

6 votes

Je viens d'essayer Serial aujourd'hui. Jusqu'à présent, je suis assez impressionné. Je vais l'acheter juste pour m'épargner le souci des pilotes USB vers série. Je ne vais pas regretter de me connecter en ssh sur mon ordinateur Linux pour exécuter minicom.

1 votes

WOW, Je suis en train d'utiliser Serial en ce moment et je pense que c'est ainsi que chaque morceau de logiciel devrait fonctionner. Comme je n'ai besoin que pour un travail très spécifique et qu'il est accompagné de quelques jours d'essai gratuit, et que je suis fauché, je ne vais pas obtenir la version complète... si l'une des trois conditions était fausse, je l'aurais eu...ils le méritent!

0 votes

Eh bien, une fois que j'ai sélectionné le débit en bauds pour mon appareil, je ne peux pas l'ouvrir à nouveau avec une valeur différente... La fenêtre de sélection ne s'affiche tout simplement pas et je suis bloqué à 9600...

46voto

RandomInsano Points 491

Ma préférence est cu. Je l'utilise pour m'amuser avec Arduino ou Bus Pirate. Il est installé par défaut et prend en charge les réglages de parité entre autres options (tapez man cu pour plus d'informations).

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

Pour annuler lorsque vous avez fini, tapez ~. comme vous le feriez avec SSH

1 votes

Cela semble être le début d'une bonne réponse, mais l'exécuter en tant que root semble incorrect; d'autres programmes n'ont pas besoin de cela pour accéder aux programmes /dev/tty.xxx ou /dev/cu.xxx, pourtant cu semble échouer avec une erreur concernant les fichiers de verrouillage, lorsqu'il est exécuté en tant qu'utilisateur qui a accès au port lui-même. Peut-être que l'installation par défaut du programme est mal configurée?

1 votes

Non ? Les autorisations devraient être sur le périphérique, pas sur le programme. J'ai été assez paresseux en ce qui concerne la recherche des autorisations pour être honnête. Avez-vous essayé "/dev/ttyS0" comme dans la solution screen ? Est-ce que cu cause ensuite des problèmes d'autorisations ?

0 votes

Un problème amusant que j'ai rencontré ce week-end est que si vous avez besoin de paramètres de saut de ligne différents, vous devrez apprendre les commandes stty pour régler votre console.

36voto

Le meilleur programme que je connaisse pour cela est minicom, disponible sur Homebrew, fink et macports.

Minicom est un programme de communication série. C'est un clone Unix du célèbre programme MS-DOS Telix. Il dispose de couleurs ANSI, d'un répertoire de numérotation, d'un dial-a-list et d'un langage de script.

Installation avec Homebrew:

brew install minicom

3 votes

La touche meta 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 essentiellement implicites lors de l'exécution du développement LinkitOne (tous les Arduino ?). La plupart des autres applications plantent ou perdent la connexion et ne peuvent pas se reconnecter avant de relancer.

0 votes

Il y a aussi Serial 2 brew install --cask serial

21voto

myhd Points 3320

Si vous préférez ne pas travailler dans le Terminal, vous pouvez essayer CoolTerm (gratuit). Faites défiler un peu vers le bas pour la description et le téléchargement. Ne laissez pas le fait qu'il soit écrit en RealBasic vous décourager... Je l'ai utilisé pour me connecter à des traceurs, des cartes Arduino et des imprimantes de reçus via un adaptateur USB<->Série Keyspan.

0 votes

Déjà utilisateur de CoolTerm, je cherchais simplement une fonctionnalité "envoyer en HEX" qui m'a ramené à ce fil de discussion. CoolTerm est tellement génial et inclut même cette fonction dans le menu "Connection > Envoyer une chaîne ..." puis basculez en HEX pour le format d'envoi!

0 votes

Je n'ai jamais compris le cas d'utilisation de "envoyer en HEX". Pouvez-vous s'il vous plaît m'éclairer? Je l'utilise toujours uniquement pour l'entrée/sortie ASCII.

0 votes

CoolTerm reste toujours le simple fonctionnement qui a fonctionné sur Monterey 12.3. J'ai dû utiliser le mode "Line Mode" dans les paramètres pour mes tests particuliers. Ce n'est toujours pas la réponse actuelle, car il n'y a pas d'option en ligne de commande.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X