Gibt es ein OS X-Terminalprogramm, das auf serielle Schnittstellen zugreifen kann?

101

Welche Programme können als Terminal fungieren und auf serielle Schnittstellen zugreifen?

Dies ist nicht für den Terminalzugriff über eine IP-Verbindung gedacht. Auf diese Weise kann ich auf ein Hardwaregerät zugreifen, das an einen USB / Seriell-Konverter mit 9600/8 / N / 1 angeschlossen ist.

Mark Harrison
quelle
2
Sie meinen, wie ein Modem-Port vor 20 Jahren?
Nohillside
@ Matrix, ja. Ich kann VMware laden, Windows ausführen und Putty verwenden, aber das scheint eine Menge Mühe zu sein, eine so einfache Aufgabe auszuführen.
Mark Harrison
1
Lol. 9600/8 / N / 1. wie ein Mantra für mich. Sie können zterm verwenden, das immer noch mindestens bis 10.6 funktioniert. Es ist alte Software. Aber wurde gebaut, um zu konfigurieren, mit Modems zu kommunizieren und Dateien von Modem zu Modem zu übertragen. dalverson.com/zterm
markhunte
Das neueste zterm funktioniert mit 10.9.
Dan Pritts

Antworten:

54

Es gibt eine neue Mac-App mit dem Namen " Seriell" , die im App Store erhältlich ist. Vollständige Offenlegung - ich habe es geschrieben. Der Hauptvorteil gegenüber anderen Apps besteht darin, dass es mit den meisten USB-Geräten und seriellen Geräten funktioniert, ohne dass Treiber installiert werden müssen, da eigene Treiber integriert sind. Es führt auch eine vollständige Terminalemulation durch, sodass Sie damit mit Linux oder anderen Geräten arbeiten können, die dies erfordern. Sie können es auch kostenlos ausprobieren.

Außerdem hat Apple begonnen, einen eigenen Treiber für FTDI-basierte Geräte in Mavericks (10.9) aufzunehmen. Wenn Sie also mit 10.9 oder neuer arbeiten und Ihr Gerät über einen FTDI-Chip verfügt, können Sie den im Terminal integrierten Bildschirmbefehl verwenden, um auf Ihr Gerät zuzugreifen, ohne sich um Treiber kümmern zu müssen.

Chris K
quelle
6
Ich habe gerade Serial ausprobiert. Bisher bin ich ziemlich beeindruckt. Ich kaufe es nur, um mir keine Sorgen über USB-Treiber für serielle Geräte zu machen. Ich werde es nicht verpassen, in meine Linux-Box zu ssh'ing, um minicom auszuführen.
Daryl Spitzer
1
WOW, ich benutze gerade Serial und ich denke, so sollte jede einzelne Software funktionieren. Da ich es nur für einen bestimmten Job benötige und einige kostenlose Testtage habe und pleite bin, bekomme ich nicht die Vollversion ... Wenn eine der drei Bedingungen falsch wäre, würde ich es bekommen. . Sie verdienen es!
Kikusin
Nun, sobald ich die Baudrate für mein Gerät ausgewählt habe, kann ich sie nicht mehr mit einem anderen Wert öffnen ... Das Auswahlfenster wird einfach nicht
angezeigt
8
fyi Serial ist nicht frei
Szundi
2
Beeindruckend. wirklich wow. Ich benutze Bildschirm seit Jahren und fand ttys immer nur ... ärgerlich. Ich habe diesen Thread zufällig gefunden, als würde ich keine 30 US-Dollar bezahlen - oh, warte, es gibt eine Testversion. Also habe ich es versucht. 2 Minuten nachdem ich die Software gekauft habe, egal wie oft ich sie brauche, nur um Chris zu unterstützen, denn sie ist wirklich erstaunlich. Ich habe so etwas schon eine Weile nicht mehr gesehen.
Lukash
105

Sie können den Terminal-Befehl verwenden screen, um dies zu tun !!!

Wie auf ServerFault zu sehen :

Ich liebe es , [screen] zum Anschließen an serielle Konsolen zu verwenden, d. H

screen /dev/ttyS0 19200

Oder, wenn Sie Mac OS X-Tipps bevorzugen ...

Ich muss die Routerkonfiguration häufig über einen Konsolenport vornehmen, daher verwende ich einen Keyspan Serial Adapter, um Zugriff zu erhalten. Dann stellen sich zwei Probleme: ZTerm ist eine schreckliche Mac OS X App. Es wurde seit ungefähr fünf Jahren nicht mehr aktualisiert und ist keine Universal Binary. Der Entwickler scheint es nicht eilig zu haben, die Situation zu korrigieren. Es ist die Shareware-Gebühr in der aktuellen Form nicht wert. Minicom erfordert die Installation von Fink oder MacPorts und ist zu komplex. Lösung: Verwenden Sie Bildschirm, Terminal und ein wenig AppleScripting.

Starten Sie zunächst den Skript-Editor und geben Sie den folgenden Code ein:

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

Kompilieren und speichern Sie als App im Skript-Editor. Anschließend können Sie mit einer doppelklickbaren Anwendung eine serielle Terminal-Sitzung starten. Möglicherweise möchten Sie dies leicht anpassen - Sie können die Bildschirmfarben oder die Anzahl der Spalten oder Zeilen ändern. Möglicherweise müssen Sie den Befehl screen auch mit einem anderen Gerätenamen anpassen, wenn Sie etwas anderes als den Keyspan Serial Adapter verwenden (geben Sie im Verzeichnis / dev / ls tty * ein, um den richtigen Namen zu erhalten).

screen verwendet die Strg-A-Taste, um Befehle entgegenzunehmen, die an sie gerichtet sind. Geben Sie also Control-A gefolgt von Control- \ ein, um Ihre Bildschirmsitzung zu beenden. Wenn Sie dies nicht tun und eine Terminalsitzung beenden, bleibt die Bildschirmsitzung aktiv und die serielle Ressource nicht verfügbar, bis Sie die Bildschirmsitzung manuell beenden. Auf dem man-Bildschirm werden Ihnen weitere Befehle angezeigt, die Sie an eine Bildschirmsitzung senden können.

Wenn jemand mit einem Link zu einem Tutorial antworten kann, wie man eine interaktive Unix-App in Cocoa verpackt, wäre das der nächste Schritt - es wäre schön, dies ohne Beteiligung von Terminal zu tun. Wenn Sie Minicom bevorzugen, können Sie es dennoch mit AppleScript in eine schöne startfähige App einbinden. Verwenden Sie diesen älteren Hinweis, um die richtigen Befehlszeilenbefehle zu finden.

Viele USB-Serial-Adapter verwenden den FTDI- Chip . Installieren Sie den Treiber " Virtual COM Port " und suchen Sie den richtigen TTY-Namen in /dev. Zum Beispiel auf einem PowerBook G4 kam es als /dev/tty.usbserial-FTALKY8I.

Josh
quelle
1
Informationen zu USB-Serial-Adaptern mit PL2303-Chip finden Sie unter sourceforge.net/projects/osx-pl2303
Dan Pritts,
Ganz klar die beste Antwort: Terminal + Bildschirm + osx-pl2303 (im produktiven Einsatz seit… vielen Jahren ☺).
Dan
1
Es lohnt sich, die Antwort von Chris K weiter unten zu lesen. Anscheinend enthält OS X seit 10.9 FTDI-Treiber (nachdem diese Antwort geschrieben wurde), sodass die Installation nicht erforderlich ist.
krs013
Bildschirm (oder Minicom für diese Angelegenheit) ist nicht ganz richtig. Es sieht gut aus, bis Sie versuchen, nano oder vi auszuführen. Damit kann es nicht umgehen. Die Pfeiltasten und die Eingabetaste erzeugen Müll. Wenn auf dem Bildschirm eine Einstellung angezeigt wird, die das behebt, lassen Sie es mich bitte wissen.
Garyp
Ich liebe Bildschirm, aber: Wie bringt man es dazu, lf in crlf zu übersetzen?
Furchtloser
25

Meine Präferenz ist cu. Ich benutze es für Arduino oder Bus Pirate bezogenen Spaß. Es ist standardmäßig installiert und unterstützt unter anderem Paritätseinstellungen (geben Sie man cufür weitere Informationen ein).

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

Geben ~.Sie wie bei SSH ein, um die Sicherheit zu gewährleisten, wenn Sie fertig sind

RandomInsano
quelle
1
Dies scheint der Anfang einer guten Antwort zu sein, aber es fühlt sich falsch an, sie als root zu betreiben. Andere Programme benötigen dies nicht, um auf /dev/tty.xxx- oder /dev/cu.xxx-Programme cuzuzugreifen. Bei der Ausführung als Benutzer, der Zugriff auf den Port selbst hat , tritt jedoch anscheinend ein Fehler in Bezug auf Sperrdateien auf . Vielleicht ist die Standardinstallation des Programms falsch konfiguriert?
user221106
Nein? Die Berechtigungen sollten sich auf dem Gerät befinden, nicht auf dem Programm. Ich habe ziemlich faul nach Berechtigungen gesucht, um ehrlich zu sein. Haben Sie "/ dev / ttyS0" wie in der screenLösung versucht ? Hat cuUrsache Berechtigungen Probleme dann?
RandomInsano
Ein lustiges Problem, das ich an diesem Wochenende erlebt habe, ist, dass Sie, wenn Sie andere Einstellungen für den Zeilenvorschub benötigen, die stty-Befehle lernen müssen, um Ihre Konsole einzustellen.
RandomInsano
24

Das beste Programm, das ich dafür kenne minicom, gibt es bei Homebrew, Fink und Macports.

Minicom ist ein serielles Kommunikationsprogramm. Es ist ein Unix-Klon des bekannten MS-DOS Telix-Programms. Es verfügt über ANSI-Farbe, ein Wählverzeichnis, eine Wählliste und eine Skriptsprache.

Nohillside
quelle
1
Der Metaschlüssel ist Esc. Also, Esc-Q zum Beenden, Esc-O für Optionen usw. Ich fand, dass minicom (und Serial.app) am besten mit Unterbrechungen / Wiederverbindungen umgehen können, die im Grunde genommen beim Ausführen von LinkitOne (alles Arduino?) - Entwicklung impliziert sind. Die meisten anderen Apps stürzen ab oder verlieren die Verbindung und können die Verbindung erst nach einem Neustart wiederherstellen.
Owenfi
18

Wenn Sie nicht im Terminal arbeiten möchten, können Sie CoolTerm (kostenlos) ausprobieren . Scrollen Sie ein wenig nach unten, um eine Beschreibung zu erhalten und die Datei herunterzuladen. Lassen Sie sich nicht von der Tatsache abbringen, dass es in RealBasic geschrieben ist ... Ich habe es verwendet, um über einen Keyspan USB <-> Serial Adapter eine Verbindung zu Plottern, Arduino-Karten und Quittungsdruckern herzustellen.

myhd
quelle
Bereits ein CoolTerm-Benutzer, der nur nach einer Funktion zum Senden von HEX-Inhalten gesucht hat, hat mich zu diesem Thema zurückgebracht. CoolTerm ist so großartig und hat diese Funktion sogar im Menü "Verbindung> Zeichenfolge senden ..." enthalten. Schalten Sie dann für das Sendeformat auf HEX um!
andreas-supersmart
Ich habe den Anwendungsfall "In HEX senden" nie verstanden. Kannst du mich bitte aufklären? Ich benutze es immer nur für die ASCII-Eingabe / Ausgabe.
frakman1
15

Sie sollten sich ZOC ansehen , das meiner Meinung nach das beste Terminalemulationsprogramm für den Mac. Ich benutze es jeden Tag für meinen Job. Es kann direkt mit einer seriellen Schnittstelle kommunizieren. Natürlich ist es weit mehr als nur serielle Kommunikation.

ZOC ist ein professioneller SSH / Telnet-Client und Terminalemulator. Mit seiner beeindruckenden Liste an Emulationen können Sie ganz einfach eine Verbindung zu Hosts und Mainframes herstellen, indem Sie Kommunikationsmethoden wie Secure Shell, Telnet, serielles Kabel oder Modem / ISDN verwenden.

Die schlanke Benutzeroberfläche bietet viele Möglichkeiten, um Ihnen das Leben zu erleichtern. Auf seine Art ist dies das Schweizer Taschenmesser für Thin Clients: vielseitig, robust, bewährt.

Hauptmerkmale:
- Sitzungen mit Registerkarten
und Miniaturansichten - Anpassbar an Ihre Vorlieben und Anforderungen
- Skript- und Automatisierungsfunktionen
- Kompatibel mit Windows 7 und OS X Lion
- Administratorfreundlich (Bereitstellung, Konfiguration)
- Jetzt 79,99 USD mit attraktiven Mengenrabatten

Fuhrmann
quelle
3
80 $ für einen Terminal-Emulator scheinen ein bisschen steil zu sein, wenn er nur diese Funktion benötigt!
Vor dem
2
Der Preis wurde in der Frage nicht als Kriterium genannt. Bitte verringern Sie eine Antwort nicht, nur weil Sie mit dem Preis nicht einverstanden sind.
Carter
1
Ich bin Agos 'Kommentar gefolgt. Er "schmälert" Ihre Antwort nicht, nur, dass er denkt, dass ZOC keine gute Lösung ist, wenn man alles in Betracht zieht (Kosten, Features usw.)
Cyphunk
In Kombination mit den anderen oben genannten Antworten scheint der einzige Unterschied zwischen ZOC und Terminal in den Miniaturansichten der Registerkarten (und dem Preis) zu bestehen.
Matt
11

C-Kermit ist in Brew am Leben und kann installiert werden mit:

brew install c-kermit

Natürlich müsste zuerst Brew installiert werden. Informationen dazu finden Sie hier: http://brew.sh

Verwenden Sie alternativ Macports

sudo port install kermit

Auch hierfür müssten Sie Macports installiert haben

Zach
quelle
7

Und dann gibt es noch das alte ZTerm, das genauso alt ist, wie es aussieht, aber es erledigt die Arbeit einwandfrei und ist kostenlos erhältlich. Funktioniert gut mit Prolific (PL 2303) und FTDI-basierten seriellen USB-Adaptern.

MacLemon
quelle
1
Wow, ZTerm lebt! Bringt viele Erinnerungen und alte Macs zurück.
lhf
Gerade ZTerm heruntergeladen… und es ist so schlimm, wie ich mich erinnere… ABSTURZ… ABSTURZ… ABSTURZ… (ZTerm löschen).
Geowar
4

Ich habe Erfolg mit cutecom auf Ubuntu 16.04 gehabt

Unterstützt unter OSX: http://cutecom.sourceforge.net/

Gatorback
quelle
Willkommen bei Ask Different! Bitte geben Sie keine Nur-Link-Antworten. Wir suchen nach Antworten, die erklären, warum die Frage beantwortet wird und warum sie die beste Antwort ist. Links können sich im Laufe der Zeit ändern und dann verlieren wir den Frage-Antwort-Kontext. Siehe Wie Antwort für Informationen über was eine gute Antwort bildet. - Aus der Bewertung -
fsb
Leider muss eine sehr alte Version von Qt auf Ihrem System installiert sein, um es zu erstellen.
Oscar
3

Ein weiteres serielles Terminal für Mac OS X ist Cornflake !

Es bietet eine Geräteauswahl mit einer Schaltfläche zum Aktualisieren, eine Auswahl für Baudrate und Pakettyp sowie eine Flusskontrolle, eine Portkontrolle und einen Anzeigefilter zum Anzeigen eingehender Daten als ASCII, ASCII +, Ganzzahl oder HEX.

bitter
quelle
1

SerialTools im App Store (kostenlos). Gut für mich

Trieu Tu Long
quelle
1

Ich screenverbinde mich mit dem seriellen Port meines Routers auf meinem Mac.

Nach der Installation von it- entweder mit Macports oder Homebrew auf Bevorzugungs- Verwendung abhängig die folgende Syntax:

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

Um eine Verbindung zu meinem MikroTik RB4011-Router herzustellen, lautet mein screenBefehl:

sudo screen /dev/ttyUSB0 115200 cs8 ixoff

" cs8 " ist die Bitrate des Routers und " ixoff " gibt "No Flow Control" an. " 115200 " ist die Baudrate des Routers. Alternative Einstellungen wären "cs7" für 7 anstelle von 8 Bit und "ixon", wenn die Flusskontrolle von Ihrem seriellen Gerät unterstützt wird. man screen

Alle "HowTos" für die screenHerstellung einer seriellen Verbindung im Internet, die ich bei Googling gefunden habe, lassen diese erforderlichen Parameter weg. Deshalb screenfunktioniert es nicht, wenn Sie nur die Baudrate übergeben.

Übrigens minicom -s(die auch über Macports oder Homebrew installiert werden müssten) funktioniert auch hervorragend, aber ich bevorzuge den Bildschirm, da ich nicht durch die Setup-Menüs gehen muss. Ich kann die seriellen Verbindungsparameter einfach direkt an den Bildschirmbefehl übergeben.

F1Linux
quelle