มีโปรแกรมเทอร์มินัล OS X ที่สามารถเข้าถึงพอร์ตอนุกรมได้หรือไม่?


101

โปรแกรมใดที่สามารถทำหน้าที่เป็นเทอร์มินัลและเข้าถึงพอร์ตอนุกรมได้

นี่ไม่ใช่สำหรับการเข้าถึงเทอร์มินัลในการเชื่อมต่อ IP นี่คือสิ่งที่ฉันสามารถเข้าถึงอุปกรณ์ฮาร์ดแวร์ที่ต่อเข้ากับตัวแปลง USB / อนุกรมที่ทำงานที่ 9600/8 / N / 1


2
คุณหมายถึงเหมือนพอร์ตโมเด็มเมื่อ 20 ปีก่อน?
nohillside

@patrix ใช่ ฉันสามารถโหลด vmware, รัน windows และใช้ putty ได้ แต่ดูเหมือนว่าจะมีปัญหามากมายในการทำงานง่ายๆเช่นนี้
Mark Harrison

1
ฮ่า ๆ. 9600/8 / N / 1 เหมือนมนต์ให้ฉัน คุณสามารถใช้ zterm ซึ่งยังใช้งานได้อย่างน้อยสูงสุด 10.6 มันเป็นซอฟต์แวร์เก่า แต่ถูกสร้างขึ้นเพื่อกำหนดค่าสื่อสารกับโมเด็มและส่งไฟล์โมเด็มไปยังโมเด็ม dalverson.com/zterm
markhunte

zterm ล่าสุดใช้งานได้กับ 10.9
Dan Pritts

คำตอบ:


54

มีแอพ Mac ใหม่ที่ชื่อว่าSerialมีอยู่ใน app store การเปิดเผยแบบเต็ม - ฉันเขียนไว้ ข้อได้เปรียบหลักของแอพอื่น ๆ คือสามารถทำงานกับอุปกรณ์ USB แบบอนุกรมส่วนใหญ่ได้โดยไม่ต้องติดตั้งไดรเวอร์ใด ๆ เนื่องจากมีไดรเวอร์ในตัว นอกจากนี้ยังทำการจำลองเทอร์มินัลแบบเต็มเพื่อให้คุณสามารถใช้เพื่อทำงานกับ Linux หรืออุปกรณ์อื่น ๆ ที่จำเป็นต้องใช้ คุณสามารถทดลองใช้ได้ฟรีเช่นกัน

นอกจากนี้ Apple เริ่มรวมไดรเวอร์ของตนเองสำหรับอุปกรณ์ที่ใช้ FTDI ใน Mavericks (10.9) ดังนั้นหากคุณใช้ 10.9 ขึ้นไปและอุปกรณ์ของคุณมีชิป FTDI อยู่ภายในคุณสามารถใช้คำสั่งหน้าจอในตัวในเทอร์มินัลเพื่อเข้าถึงอุปกรณ์ของคุณโดยไม่ต้องกังวลกับไดรเวอร์


6
ฉันเพิ่งลองอนุกรมวันนี้ จนถึงตอนนี้ฉันค่อนข้างประทับใจ ฉันจะซื้อมันเพื่อไม่ให้ฉันต้องกังวลกับไดรเวอร์ USB ไปเป็นอนุกรม ฉันจะไม่พลาดเข้าไปในกล่อง Linux เพื่อเรียกใช้ minicom
Daryl Spitzer

1
ว้าวฉันใช้ Serial ในตอนนี้และฉันคิดว่านี่เป็นวิธีการทำงานของซอฟต์แวร์ทุกชิ้น เนื่องจากฉันต้องการมันสำหรับงานที่เฉพาะเจาะจงมากและมันมาพร้อมกับวันทดลองใช้ฟรีและฉันยากจนฉันจะไม่ได้รับเวอร์ชันเต็ม ... หากหนึ่งในสามเงื่อนไขเป็นเท็จฉันจะได้รับ .. พวกเขาสมควรได้รับมัน!
kikusin

เมื่อฉันเลือกอัตราการรับส่งข้อมูลสำหรับอุปกรณ์ของฉันฉันไม่สามารถเปิดได้อีกครั้งด้วยค่าที่แตกต่างกัน ... หน้าต่างการเลือกไม่ปรากฏขึ้นและฉันติดอยู่ที่ 9600 ...
JBernardo

8
fyi Serial ไม่ฟรี
Szundi

2
ว้าว. ว้าวจริงๆ ฉันใช้หน้าจอมานานหลายปีและพบว่า ttys เพียง .. น่ารำคาญ ฉันสุ่มพบหัวข้อนี้เป็นเหมือนฉันไม่ได้จ่าย $ 30 สำหรับ - โอ้รอมีการทดลอง ดังนั้นฉันจึงพยายาม 2 นาทีหลังจากที่ฉันซื้อซอฟต์แวร์ค่อนข้างมากไม่ว่าฉันจะต้องการมันแค่สนับสนุนคริสบ่อยเพียงใดเพราะมันน่าอัศจรรย์อย่างแท้จริง ไม่เคยเห็นสิ่งที่เขียนดีเช่นนี้มาระยะหนึ่งแล้ว
lukash

105

คุณสามารถใช้คำสั่งเทอร์มินัลscreenเพื่อทำสิ่งนี้ !!!

เท่าที่เห็นใน ServerFault :

ฉันชอบใช้ [หน้าจอ] สำหรับเชื่อมต่อกับคอนโซลอนุกรมเช่น

screen /dev/ttyS0 19200

หรือหากคุณต้องการคำแนะนำของ Mac OS X ...

ฉันมักจะต้องทำการกำหนดค่าเราเตอร์ผ่านทางพอร์ตคอนโซลดังนั้นฉันจึงใช้ Keyspan Serial Adapter เพื่อเข้าถึง ปัญหาสองข้อนั้นปรากฏตัว: ZTerm เป็นแอป Mac OS X ที่น่ากลัว ยังไม่ได้รับการอัปเดตในห้าปีหรือมากกว่านั้นและไม่ใช่ไบนารีสากล นักพัฒนาดูเหมือนจะไม่รีบแก้ไขสถานการณ์ ไม่คุ้มกับค่าธรรมเนียมแชร์แวร์ในรูปแบบปัจจุบัน Minicom ต้องการการติดตั้ง Fink หรือ MacPorts และซับซ้อนเกินไป การแก้ไข: ใช้หน้าจอเทอร์มินัลและ AppleScripting เล็กน้อย

ก่อนอื่นให้เปิดตัวแก้ไขสคริปต์และพิมพ์ / วางในรหัสต่อไปนี้:

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

คอมไพล์และบันทึกเป็นแอพจากภายในตัวแก้ไขสคริปต์และคุณมีแอปพลิเคชั่นดับเบิลคลิกเพื่อเปิดเซสชันเทอร์มินัลอนุกรม คุณอาจต้องการปรับแต่งสิ่งนี้เล็กน้อย - คุณสามารถเปลี่ยนสีของหน้าจอหรือจำนวนคอลัมน์หรือแถว คุณอาจจำเป็นต้องปรับแต่งคำสั่งหน้าจอด้วยชื่ออุปกรณ์ที่แตกต่างกันหากคุณใช้อย่างอื่นที่ไม่ใช่อะแด็ปเตอร์ Keyspan Serial (ทำ ls tty * ของไดเร็กทอรี / dev / เพื่อให้ได้ชื่อที่ถูกต้อง)

หน้าจอใช้ Control-A เพื่อรับคำสั่งที่ส่งไป ดังนั้นให้พิมพ์ Control-A ตามด้วย Control- \ เพื่อออกจากเซสชันหน้าจอของคุณ หากคุณไม่ทำเช่นนี้และออกจากเซสชันเทอร์มินัลคุณจะปล่อยให้เซสชันหน้าจอยังมีชีวิตอยู่และทรัพยากรซีเรียลจะไม่สามารถใช้งานได้จนกว่าคุณจะฆ่าเซสชันของหน้าจอด้วยตนเอง หน้าจอ man จะแสดงคำสั่งเพิ่มเติมให้คุณส่งไปยังหน้าจอเซสชัน

หากทุกคนสามารถตอบกลับพร้อมลิงก์ไปยังบทช่วยสอนเกี่ยวกับการห่อแอพ Unix แบบอินเทอร์แอคทีฟในโกโก้ซึ่งจะเป็นขั้นตอนต่อไป - เป็นการดีที่จะทำเช่นนี้ หากคุณต้องการใช้ Minicom คุณยังคงสามารถใช้ AppleScript เพื่อห่อไว้ในแอปที่เปิดใช้งานได้ดี - ใช้คำแนะนำที่เก่ากว่านี้เพื่อค้นหาคำสั่งบรรทัดคำสั่งที่ถูกต้อง

อะแดปเตอร์ USB-อนุกรมจำนวนมากที่ใช้ชิปจากFTDI ติดตั้ง " เสมือนพอร์ต COM " /devคนขับรถและมองหาชื่อที่เหมาะสมในการ ยกตัวอย่างเช่นใน G4 PowerBook /dev/tty.usbserial-FTALKY8Iมันขึ้นมาเป็น


1
สำหรับอะแดปเตอร์ USB-Serial ที่มีชิป PL2303 ดูที่sourceforge.net/projects/osx-pl2303
Dan Pritts

คำตอบที่ชัดเจนที่สุด: Terminal + screen + osx-pl2303 (ในการใช้งานจริงตั้งแต่…หลายปี since)
และ

1
เป็นมูลค่าการดูคำตอบของ Chris K ด้านล่าง; เห็นได้ชัดว่า OS X มาพร้อมกับไดรเวอร์ FTDI ตั้งแต่ 10.9 (หลังจากเขียนคำตอบนี้) ดังนั้นการติดตั้งจึงไม่จำเป็น
krs013

หน้าจอ (หรือ minicom สำหรับเรื่องนั้น) ไม่ถูกต้องนัก มันดูดีจนกระทั่งคุณลองเรียกใช้ nano หรือ vi ไม่สามารถจัดการกับสิ่งเหล่านั้นได้ ปุ่มลูกศรและคีย์ส่งคืนสร้างขยะ หากมีการตั้งค่าบนหน้าจอเพื่อแก้ไขโปรดแจ้งให้เราทราบ
แกรี่

ฉันชอบหน้าจอ แต่: คุณจะให้มันแปล lf เป็น crlf ได้อย่างไร?
fearless_fool

25

cuการตั้งค่าของฉันคือ ฉันใช้มันเพื่อความสนุกที่เกี่ยวกับ Arduino หรือ Bus Pirate มันถูกติดตั้งโดยค่าเริ่มต้นและรองรับการตั้งค่าพาริตี้ระหว่างตัวเลือกอื่น ๆ (พิมพ์man cuสำหรับข้อมูลเพิ่มเติม)

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

เพื่อประกันตัวเมื่อคุณทำเสร็จพิมพ์~.ตามที่คุณต้องการด้วย SSH


1
ดูเหมือนว่าจะเป็นจุดเริ่มต้นของคำตอบที่ดี แต่การใช้งานเมื่อรูทรู้สึกผิด โปรแกรมอื่น ๆ ไม่จำเป็นต้องใช้โปรแกรม acess /dev/tty.xxx หรือ /dev/cu.xxx แต่cuดูเหมือนว่าจะเกิดข้อผิดพลาดเกี่ยวกับไฟล์ล็อคเมื่อเรียกใช้ในฐานะผู้ใช้ที่เข้าถึงพอร์ตของตัวเอง บางทีการติดตั้งเริ่มต้นของโปรแกรมอาจมีการกำหนดค่าผิดพลาดหรือไม่
221106

ไม่มี? สิทธิ์ควรอยู่บนอุปกรณ์ไม่ใช่ในโปรแกรม ฉันค่อนข้างขี้เกียจที่จะค้นคว้าเรื่องการอนุญาตอย่างซื่อสัตย์ คุณได้ลอง "/ dev / ttyS0" เหมือนในscreenวิธีแก้ปัญหาหรือไม่? ไม่cuทำให้เกิดปัญหาสิทธิ์แล้ว?
RandomInsano

ปัญหาที่สนุกของสิ่งนี้ที่ฉันเข้ามาในสุดสัปดาห์นี้คือถ้าคุณต้องการการตั้งค่าตัวดึงข้อมูลที่แตกต่างกันคุณจะต้องเรียนรู้คำสั่ง stty เพื่อตั้งค่าคอนโซลของคุณ
RandomInsano

24

โปรแกรมที่ดีที่สุดที่ฉันรู้จักคือminicomมีให้จาก Homebrew, fink และ macports

Minicom เป็นโปรแกรมสื่อสารแบบอนุกรม มันเป็นโคลน Unix ของโปรแกรม MS-DOS Telix ที่รู้จักกันดี มันมีสี ANSI ไดเรกทอรีการโทร, dial-a-list และภาษาสคริปต์


1
เมตาคีย์คือ Esc ดังนั้น Esc-Q ที่จะออก, Esc-O สำหรับตัวเลือกอื่น ๆ ฉันพบ minicom (และ Serial.app) ให้ดีที่สุดในการจัดการกับการยกเลิกการเชื่อมต่อ / เชื่อมต่อใหม่ซึ่งโดยปริยายเมื่อทำการพัฒนา LinkitOne แอพอื่น ๆ ส่วนใหญ่ขัดข้องหรือขาดการเชื่อมต่อและไม่สามารถเชื่อมต่อได้จนกว่าจะเปิดใหม่
owenfi

18

หากคุณไม่ต้องการทำงานใน Terminal คุณอาจต้องลองCoolTerm (ฟรี) เลื่อนลงมาเล็กน้อยเพื่อดูคำอธิบายและดาวน์โหลด อย่าปล่อยให้ความจริงมันเขียนด้วย RealBasic ทำให้คุณไม่ต้องสนใจ ... ฉันใช้มันเพื่อเชื่อมต่อกับผู้เขียนบอร์ด Arduino และเครื่องพิมพ์ใบเสร็จผ่าน Keyspan USB <-> Serial Adapter


เป็นผู้ใช้ CoolTerm เพียงค้นหาคุณสมบัติ "ส่งใน HEX" พาฉันกลับไปที่กระทู้นี้ CoolTerm ยอดเยี่ยมมากและยังมีคุณสมบัตินี้รวมอยู่ในเมนู "การเชื่อมต่อ> ส่งสตริง ... " แล้วสลับเป็น HEX เพื่อส่งรูปแบบ!
andreas-supersmart

ฉันไม่เคยเข้าใจกรณีใช้งาน "send in HEX" คุณช่วยสอนฉันหน่อยได้ไหม? ฉันเคยใช้มันสำหรับอินพุต / เอาต์พุต ASCII เท่านั้น
frakman1

15

คุณควรดูZOCสิ่งที่ฉันคิดว่าเป็นโปรแกรมการจำลอง terminal ที่ดีที่สุดสำหรับ Mac ฉันใช้มันทุกวันเพื่องานของฉัน มันมีความสามารถในการสื่อสารโดยตรงกับพอร์ตอนุกรม แน่นอนว่ามันเป็นมากกว่าการสื่อสารแบบอนุกรม

ZOC เป็นไคลเอนต์ SSH / telnet และเทอร์มินัลอีมูเลเตอร์มืออาชีพ ด้วยรายการการจำลองที่น่าประทับใจช่วยให้คุณสามารถเชื่อมต่อกับโฮสต์และเมนเฟรมได้อย่างง่ายดายโดยใช้วิธีการสื่อสารเช่นเชลล์ที่ปลอดภัย, telnet, สายเคเบิลอนุกรมหรือโมเด็ม / isdn

ส่วนต่อประสานผู้ใช้ที่ทันสมัยมีหลายวิธีที่ทำให้ชีวิตคุณง่ายขึ้น ในทางของตัวเองนี่คือมีดสวิสกองทัพของลูกค้าบาง: อเนกประสงค์ทนทานพิสูจน์แล้ว

คุณสมบัติที่สำคัญ:
- การประชุมแบบแท็บมีขนาดเล็ก
- ปรับแต่งเพื่อตอบสนองความต้องการของคุณและความต้องการ
- การเขียนสคริปต์และระบบอัตโนมัติคุณสมบัติ
- ใช้งานร่วมกับ Windows 7 และ OS X Lion
- ผู้ดูแลระบบเลี้ยง (การใช้งานการตั้งค่า)
- ตอนนี้ $ 79.99 มีส่วนลดเป็นกลุ่มที่น่าสนใจ


3
80 $ สำหรับเทอร์มินัลอีมูเลเตอร์ดูเหมือนจะสูงชันหากเขาต้องการฟีเจอร์นั้น!
Agos

2
ราคาไม่ได้ถูกกล่าวถึงเป็นเกณฑ์ในคำถาม โปรดอย่าลดคำตอบลงเพียงเพราะคุณไม่เห็นด้วยกับราคา
Carter

1
ฉันแสดงความคิดเห็น Agos ที่สอง เขาไม่ได้ "ลดคำตอบ" ของคุณเพียงแค่บอกว่าเขาคิดว่า ZOC ไม่ใช่ทางออกที่ดีเมื่อพิจารณาทุกอย่าง (ราคาคุณสมบัติ ฯลฯ )
cyphunk

นอกจากนี้เมื่อรวมกับคำตอบอื่น ๆ ข้างต้นดูเหมือนว่า (จากคำอธิบายที่ยกมา) เช่นความแตกต่างเพียงอย่างเดียวระหว่าง ZOC และเทอร์มินัลคือภาพขนาดย่อของแท็บ (และราคา)
แมตต์

11

C-Kermit ยังมีชีวิตอยู่และอยู่ใน Brew ได้ดีและสามารถติดตั้งได้กับ:

brew install c-kermit

โดยปกติคุณต้องติดตั้ง Brew ก่อน คุณสามารถค้นหาข้อมูลเกี่ยวกับวิธีการทำได้ที่นี่: http://brew.sh

หรือใช้ Macports

sudo port install kermit

สิ่งนี้จะทำให้คุณต้องติดตั้งMacports ด้วย


7

และจากนั้นก็ยังมีZTerm ตัวเก่าซึ่งเก่าพอ ๆ กับที่มันแนะนำ แต่มันก็ทำได้ดีและมันใช้ได้ฟรี ใช้งานได้ดีกับอะแดปเตอร์ USB อนุกรมที่ใช้ Prolific (PL 2303) และ FTDI


1
ว้าว ZTerm ยังมีชีวิตอยู่! นำความทรงจำและแม็คเก่ามาสนับสนุน
lhf

เพิ่งดาวน์โหลด ZTerm …และมันก็แย่อย่างที่ฉันจำได้… CRASH … CRASH … CRASH … (ลบ ZTerm)
geowar

4

ฉันประสบความสำเร็จกับ cutecom บน Ubuntu 16.04

รองรับ OSX: http://cutecom.sourceforge.net/


ยินดีต้อนรับสู่ถามที่แตกต่างกัน! โปรดอย่าให้คำตอบสำหรับลิงค์เท่านั้น เรากำลังมองหาคำตอบที่ให้คำอธิบายว่าทำไมมันถึงตอบคำถามและทำไมมันถึงเป็นคำตอบที่ดีที่สุด ลิงก์สามารถเปลี่ยนแปลงได้ตลอดเวลาจากนั้นเราจะสูญเสียบริบทคำตอบของคำถาม ดูวิธีตอบคำถามสำหรับข้อมูลว่าอะไรเป็นคำตอบที่ดี - จากรีวิว -
fsb

น่าเสียดายที่ต้องติดตั้ง Qt เวอร์ชันเก่าบนระบบของคุณเพื่อสร้าง
ออสกา

3

อีกหนึ่งพอร์ตอนุกรมสำหรับ Mac OS X คือCornflake !

มันมีการเลือกอุปกรณ์ที่มีปุ่มรีเฟรชอัตราการรับส่งข้อมูลและเลือกแพ็คเก็ตและการควบคุมการไหลประเภทการควบคุมพอร์ตและตัวกรองมุมมองเพื่อดูข้อมูลที่เข้ามาเป็น ASCII, ASCII +, จำนวนเต็มหรือ HEX


3

หลังจากที่พยายามวิธีการอื่น ๆ (รวม. screen) ประสบความสำเร็จผมเริ่มใช้goSerialจากนี้รายการของแอปพอร์ตอนุกรมสำหรับ mac ดูเหมือนว่าจะทำงานได้ดี มันเป็นโปรแกรมฟรี (อิงตามการบริจาค)



1

ฉันใช้screenเพื่อเชื่อมต่อกับพอร์ตอนุกรมของเราเตอร์ของฉันบน Mac ของฉัน

หลังจากติดตั้งแล้ว - โดยใช้macportsหรือhomebrewขึ้นอยู่กับความชอบของคุณ - ใช้ไวยากรณ์ต่อไปนี้:

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

ในการเชื่อมต่อกับเราเตอร์ MikroTik RB4011 ของฉันscreenคำสั่งของฉันคือ:

sudo screen /dev/ttyUSB0 115200 cs8 ixoff

" cs8 " เป็นอัตราบิตของเราเตอร์และ " ixoff " ระบุ "ไม่มีการควบคุมการไหล" " 115200 " เป็นอัตรารับส่งข้อมูลของเราเตอร์ การตั้งค่าทางเลือกจะเป็น "cs7" สำหรับ 7 แทนที่จะเป็น 8 บิตและ "ixon" หากอุปกรณ์ควบคุมอนุกรมของคุณรองรับการควบคุมการไหล man screen

"HowTo's" ทั้งหมดที่ใช้screenในการสร้างการเชื่อมต่อแบบอนุกรมบน 'net ฉันได้พบ Googling ละเว้นพารามิเตอร์ที่จำเป็นเหล่านี้ดังนั้นคุณจะพบscreenว่าไม่ได้ทำงานถ้าคุณพยายามที่จะผ่านอัตราการรับส่งข้อมูลเท่านั้น

BTW minicom -s(ซึ่งจะต้องติดตั้งผ่าน macports หรือ homebrew) ก็ใช้งานได้ดี แต่ฉันชอบหน้าจอเพราะฉันไม่ต้องผ่านเมนูตั้งค่า - ฉันสามารถส่งพารามิเตอร์การเชื่อมต่อแบบอนุกรมไปยังคำสั่งหน้าจอได้โดยตรง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.