Estou tentando criar um par de portas seriais virtuais no meu mac. Isso é bastante fácil de fazer com muitos programas shareware em um PC. Imaginei que haveria algum comando shell super-poderoso para fazer isso em uma linha, mas não consigo encontrá-lo.
Quero enviar dados NMEA para uma porta e o Google Earth lê os dados pela outra.
Alguma dica?
EDITAR
O /dev/ptypx
comentário de MrDaniel parecia ser interessante - posso retirá-lo da perfeição /dev/ttypx
no terminal.
Mas o Google Earth parece estar lendo cu. deviceName em vez dos dispositivos / ttypx ..
especificamente (Old Pro):
Ao tentar importar o local atual usando um GPS (ou fluxo NMEA canalizado através de nossa porta serial virtual), vamos a: Ferramentas> GPS> Tempo real para acessar a tela de importação.
Depois de selecionar a opção NMEA e ativar o rastreamento em tempo real, ele procura dispositivos conectados e parece:
- USB:
- /dev/cu.Bluetooth-PDA-Sync
- /dev/cu.Bluetooth-Modem
- /dev/cu.iPhone-WirelessAP
Mesmo com a porta serial ttypx funcionando corretamente, ela não a procura.
Gostaria de inserir os dados desse dispositivo no Google Earth.
fonte
Respostas:
O Google possui uma ferramenta extremamente útil para desenvolvedores do Arduino e simula muito bem as portas seriais no OS X para fins de teste. Só funciona até 10.6
https://github.com/clokey/PublicCode/tree/master/MacOSXVirtualSerialPort
(disponível anteriormente em http://code.google.com/p/macosxvirtualserialport/ )
Isso pode ajudá-lo?
fonte
Acho que o que você está procurando é um Pseudo Terminal, conforme observado no Text-Terminal-HOWTO , parece que o Mac OS X foi incorporado
/dev
e parece que isso pode fazer o que você deseja, por exemplo, dois programas conversando juntos por meio de um " porta serial virtual ".Além disso, o programa de tela também é útil para você.
fonte
Existem vários ângulos para sua pergunta aqui:
fonte
Não está claro que você pode falsificar a detecção de porta serial integrada, mas eu começaria com um pipe nomeado (mkfifo)
/dev/cu.fake.ttypx
e alguns dados prontos para serem lidos quando você ativar o tempo real.Minha cópia do Google Earth parece pesquisar cada fonte potencial em ordem e continua a fazer nada além de digitalizar, pois não tenho dados NMEA sendo fornecidos.
Obviamente, você precisará de um pequeno script [shell | perl | python] para ler
/dev/ttypx
e gravar no seu arquivo fifo "falso".fonte
Existe uma ferramenta do Windows chamada GooPs http://goopstechnologies.com/?page_id=12, que lida com algumas tarefas semelhantes.
Você também pode criar um marcador que leia as coordenadas de um arquivo e atualize a cada segundo.
https://stackoverflow.com/questions/7249565/how-to-properly-update-google-earth-kml-using-networklinkcontrol-and-the-java-ap
fonte
Eu usei um pseudoterminal Posix para criar uma porta de comunicação virtual em um programa OSX C. Você pode procurar a função da biblioteca posix_openpt ().
fonte