Próbuję utworzyć parę wirtualnych portów szeregowych na moim komputerze Mac. Jest to dość łatwe w przypadku wielu programów shareware na PC. Pomyślałem, że będzie jedna potężna komenda powłoki, aby zrobić to w jednej linii, ale nie mogę jej znaleźć.
Chcę wysłać dane NMEA do jednego portu i pozwolić Google Earth odczytać dane z drugiego.
Jakieś wskazówki?
EDYTOWAĆ
Komentarz pana Daniela /dev/ptypx
wydawał się interesujący - mogę go wyciągnąć z /dev/ttypx
terminalu w porządku.
Ale Google Earth wydaje się czytać cu. deviceName zamiast urządzeń / ttypx.
konkretnie (Old Pro):
Próbując zaimportować bieżącą lokalizację za pomocą strumienia GPS (lub strumienia NMEA poprowadzonego przez nasz wirtualny port szeregowy), przechodzimy do: Narzędzia> GPS> Czas rzeczywisty, aby przejść do ekranu importu.
Po wybraniu opcji NMEA i włączeniu śledzenia w czasie rzeczywistym szuka podłączonych urządzeń i wygląda na:
- usb:
- /dev/cu.Bluetooth-PDA-Sync
- /dev/cu.Bluetooth-Modem
- /dev/cu.iPhone-WirelessAP
Nawet jeśli nasz port szeregowy ttypx działa poprawnie, nie szuka go.
Chciałbym pobrać dane z tego urządzenia do Google Earth.
źródło
Odpowiedzi:
Google ma niezwykle przydatne narzędzie dla programistów Arduino i bardzo dobrze symuluje porty szeregowe w OS X do celów testowych. Działa tylko do 10.6
https://github.com/clokey/PublicCode/tree/master/MacOSXVirtualSerialPort
(wcześniej dostępne na stronie http://code.google.com/p/macosxvirtualserialport/ )
Czy to może ci pomóc?
źródło
Myślę, że to, czego szukasz, to pseudo terminal, jak zauważono w Text-Terminal-HOWTO , wygląda na to, że Mac OS X ma wbudowany
/dev
i wygląda na to, że może to zrobić, co chcesz, np. Dwa programy rozmawiające razem przez „ wirtualny port szeregowy.Dodatkowo program ekranowy może być dla Ciebie przydatny.
źródło
Istnieje kilka punktów widzenia na twoje pytanie tutaj:
źródło
Nie jest jasne, czy można podrobić wbudowane wykrywanie portu szeregowego, ale zacznę od nazwanego potoku (mkfifo)
/dev/cu.fake.ttypx
i mam pewne dane gotowe do odczytania po włączeniu w czasie rzeczywistym.Wydaje się, że moja kopia programu Google Earth sonduje kolejno każde potencjalne źródło i nadal nie robi nic poza skanowaniem, ponieważ nie mam danych NMEA.
Będziesz oczywiście potrzebował małego skryptu [shell | perl | python], aby czytać
/dev/ttypx
i zapisywać w swoim „fałszywym” pliku fifo.źródło
Istnieje narzędzie Windows o nazwie GooPs http://goopstechnologies.com/?page_id=12, które obsługuje niektóre podobne zadania.
Możesz także utworzyć oznaczenie miejsca, które odczytuje współrzędne z pliku i odświeża co sekundę.
/programming/7249565/how-to-properly-update-google-earth-kml-using-networklinkcontrol-and-the-java-ap
źródło
Użyłem pseudoterminalu Posix do stworzenia wirtualnego portu komunikacyjnego w programie OSX C. Możesz wyszukać funkcję biblioteki posix_openpt ().
źródło