การสร้างพอร์ตอนุกรมเสมือน


11

ฉันพยายามสร้างพอร์ตอนุกรมเสมือนหนึ่งคู่บน mac ของฉัน นี่ค่อนข้างง่ายที่จะทำกับโปรแกรมแชร์แวร์จำนวนมากบนพีซี ฉันคิดว่าจะมีคำสั่งเชลล์ที่ทรงพลัง uber เพื่อทำสิ่งนี้ในหนึ่งบรรทัด แต่ฉันหามันไม่พบ

ฉันต้องการส่งข้อมูล NMEA ไปยังพอร์ตหนึ่งและให้ Google Earth อ่านข้อมูลจากที่อื่น

เคล็ดลับใด ๆ

แก้ไข

/dev/ptypxความคิดเห็นของ MrDaniel ดูเหมือนจะน่าสนใจ - ฉันสามารถดึงมันออกมาได้/dev/ttypxดีใน terminal
แต่ Google Earth ดูเหมือนจะอ่านลูกบาศ์ก deviceNameแทน/ ttypx deveices ..

โดยเฉพาะ (Old Pro):

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

  • ยูเอสบี:
  • /dev/cu.Bluetooth-PDA-Sync
  • /dev/cu.Bluetooth-Modem
  • /dev/cu.iPhone-WirelessAP

แม้ว่าจะใช้งานพอร์ตอนุกรม ttypx ของเราได้ แต่ก็ไม่สามารถหาได้
ฉันต้องการรับข้อมูลจากอุปกรณ์นั้นไปยัง Google Earth


1
+1 เนื่องจากฉันต้องการทำสิ่งนี้เพื่อการพัฒนาอุปกรณ์ อาจเป็น ServerFault, SuperUser หรือ StackOverflow
Max Ried

คุณได้พิจารณาใช้Google Latitudeแทนหรือไม่ หากไม่เป็นที่ยอมรับโปรดระบุรายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่ Google Earth ทำ
เก่า Pro

คุณประสบความสำเร็จในการควบคุม Google Earth ผ่านตำแหน่งปลอมที่จัดหาผ่านพอร์ต NMEA หรือไม่ ฉันสนใจที่จะทำงานนี้
Max N

1
@ MaxN - ไม่ ฉันยอมแพ้ :(
DefenestrationDay

นี่คือปิด (AppleScript): laclefyoshi.blogspot.com/2011/01/…
Max N

คำตอบ:


9

Google มีเครื่องมือที่มีประโยชน์อย่างยิ่งสำหรับนักพัฒนา Arduino และจำลองพอร์ตอนุกรมได้อย่างดีบน OS X สำหรับการทดสอบ ใช้งานได้จนถึง 10.6

https://github.com/clokey/PublicCode/tree/master/MacOSXVirtualSerialPort

(ก่อนหน้านี้มีให้จากhttp://code.google.com/p/macosxvirtualserialport/ )

อาจช่วยได้ไหม


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

2
ขณะนี้ไซต์ code.google.com สำหรับ macosxvirtualserialport ส่งคืนข้อผิดพลาด 404
hotpaw2

1
ดูเหมือนว่าโครงการ Google จะพร้อมใช้งานบน Github ในขณะนี้: github.com/clokey/PublicCode/tree/master/ ......ใช้งานได้จนถึง 10.7 เท่านั้น
Max N

5

ฉันคิดว่าสิ่งที่คุณกำลังมองหาคือ Pseudo Terminal ตามที่ระบุไว้ในText-Terminal-HOWTOดูเหมือนว่า Mac OS X ได้ติดตั้งไว้ภายใน/devแล้วและดูเหมือนว่าสิ่งนี้สามารถทำสิ่งที่คุณต้องการเช่นสองโปรแกรมที่พูดด้วยกันผ่านทาง " พอร์ตอนุกรม "เสมือน"

เทอร์มินัลหลอกหลอกเป็นอุปกรณ์คู่เช่น / dev / ptyp3 และ / dev / ttyp3 ไม่มีอุปกรณ์ฟิสิคัลที่เชื่อมโยงโดยตรงกับอุปกรณ์ใดอุปกรณ์หนึ่งไม่แม้แต่ตัวเชื่อมต่อพอร์ตอนุกรม แต่ถ้าโปรแกรมปฏิบัติกับ ttyp3 เหมือนเป็นพอร์ตอนุกรมสิ่งที่อ่านและเขียนไปยังพอร์ตนั้นจะปรากฏบนสมาชิก ptyp3 คู่อื่นซึ่งโปรแกรมอื่นใช้ในการอ่านและเขียน ดังนั้นสองโปรแกรมคุยกันด้วยวิธีนี้และอีกหนึ่งโปรแกรมบน ttyp3 คิดว่ามันกำลังพูดคุยกับพอร์ตอนุกรม มันคล้ายกับ "ท่อ" ระหว่างสอง tty นี้

นอกจากนี้โปรแกรมหน้าจอของฉันก็มีประโยชน์สำหรับคุณเช่นกัน


1

คำถามของคุณมีหลายมุมที่นี่:

  • คุณเพียงแค่ต้องการแปลงแทร็ก NMEA และอื่น ๆ ให้เป็นสิ่งที่ Google Earth สามารถอ่าน (และแสดง) GPSBabelเป็นเครื่องมือของตัวเลือกสำหรับสิ่งเหล่านี้
  • คุณต้องการแนบ GPS และอ่านเนื้อหาผ่านพอร์ตอนุกรมหรือไม่ Macs ไม่มีพอร์ตอนุกรมคุณจะต้องใช้Keyspan USA-19HSเพื่อเชื่อมต่ออุปกรณ์อนุกรมผ่าน USB
  • คุณต้องการสร้างอุปกรณ์อนุกรมเสมือนจากความอยากรู้หรือไม่? เป็นไปได้อย่างแน่นอน แต่นอกเหนือจากความรู้ของฉัน ...

1
ตัวเลือก 3 ฉันมีข้อมูล NMEA (ตามเวลาจริง) และต้องการแสดงข้อมูลแบบเรียลไทม์ Google Earth อ่านจากพอร์ตอนุกรมดังนั้นฉันแค่ต้องคิดหาวิธีการตั้งค่าพอร์ตและไพพ์ลงในหนึ่งในนั้น
DefenestrationDay

ข้อมูล NMEA มาจากไหน GPSBabel สามารถทำหน้าที่เป็นเครื่องมือแปลงตามเวลาจริงดูgpsbabel.org/htmldoc-1.4.2/tracking.html
nohillside

มันถูกสตรีมจาก iPhone ฉันไม่ต้องการแปลงเป็นอะไร (โดยเฉพาะ kml) ฉันแค่ต้องการพอร์ตอนุกรมเสมือนเพื่อโยนข้อมูล nmea ลงในนั้นและดูดส่วนอื่น ๆ ของ Google Earth ออก
Defenestration

ทุกครั้งที่ฉันได้ใช้Keyspanของฉันฉันเพิ่งจะยิ้มให้หู โดยเฉพาะอย่างยิ่งในอากาศ 11 นิ้วใหม่ของฉัน - ทั้งเก่าและใหม่ทำงานร่วมกันมาก ;-)
bmike

0

ยังไม่ชัดเจนว่าคุณสามารถปลอมการตรวจจับพอร์ตอนุกรมในตัว แต่ฉันจะเริ่มต้นด้วยชื่อไพพ์ (mkfifo) ใน/dev/cu.fake.ttypxและมีข้อมูลบางอย่างที่พร้อมให้อ่านเมื่อคุณเปิดใช้งานเรียลไทม์

สำเนา Google Earth ของฉันดูเหมือนจะสำรวจแหล่งที่มาที่เป็นไปตามลำดับและไม่ดำเนินการใด ๆ นอกจากทำการสแกนเนื่องจากฉันไม่มีข้อมูล NMEA

แน่นอนคุณจะต้องมีสคริปต์ [shell | perl | python] ขนาดเล็กเพื่ออ่าน/dev/ttypxและเขียนลงในไฟล์ Fifo "ปลอม" ของคุณ


-1

มีเครื่องมือ windows ที่เรียกว่า GooPs http://goopstechnologies.com/?page_id=12ซึ่งจัดการงานบางอย่างที่คล้ายกัน

คุณสามารถสร้างหมุดที่อ่านพิกัดจากไฟล์และรีเฟรชทุกวินาที

/programming/7249565/how-to-properly-update-google-earth-kml-using-networklinkcontrol-and-the-java-ap


วิธีนี้แก้ปัญหาที่อธิบายไว้ในคำถามได้อย่างไร
nohillside

-1

ฉันใช้ Posix pseudoterminal เพื่อสร้างพอร์ต comm เสมือนลงในโปรแกรม OSX C คุณอาจค้นหาฟังก์ชันไลบรารี posix_openpt ()

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