Ir para conteúdo
Fórum Script Brasil
  • 0

Vb + Usb + Gps


resopi

Pergunta

Ola pessoal... estou precisando muito da ajuda de Vocês.

è o seguinte eu preciso ler a posição atual de Um GPS... e o mesmo esta conectado atraves da porta USB... alguel sabe estabelecer conexao com Dispositivos USB através do VB... eu até achei um codigo no site do fabricante mas esta em C e no VB eu não consigui fazer nada pra comunicar... o manual fornecido pelo fabricante do GPS esta em http://www.garmin.com/support/commProtocol.html se alguém puder me ajudar... eu agradeço!!!!! vlw pessoal!!!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Bom, baixei o exemplo em C e compilei o mesmo, só que não tenho como testar sem ter o dispositivo. Então, estou disponibilizando aqui a versão compilada. Tente executá-la (no prompt) e veja se aparece algo interessante. Se aparecer, então a gente pode tentar dar um jeito de transformar o exemplo em uma DLL que você possa utilizar no VB.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Bom Dia...

Graymalkin muito obrigado, mas esse exmplo ele só mostra qual o GPS esta conectado... eu fuçando aqui também tinha conseguindo compilar e apareceu a mesma coisa... mas eu não consegui alterar no codigo para ele trazer a posição atual... se você olhar no link que postrei.. tem uma opção "Download the Garmin Simple Text Output Format " vi este formato de arquivo tem tudo que eu preciso.. mas nauna consegui gerar esse arquivo pelo GPS... alguma ideia???

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, eu vi o tal arquivo de texto, mas ele não parece ter nada haver com o exemplo do SDK. E realmente o exemplo do SDK é só ponta-pé inicial para se comunicar com o GPS via USB (e isso é dito lá no começo do texto no código-fonte). Agora, aquele PDF (IntfSpec.pdf) que está incluso no zip do exemplo parece ter a informação de que você necessita. Olhando o código eu vi isso...

Packet_t theProductDataPacket = { 20, 0, 0, 254, 0 , 0 };
... e mais isso:
if( thePacket->mPacketType == 20 &&
        thePacket->mPacketId == 255 )

E, no PDF eu encontrei estes valores:

Table 3 – USB Packet Format

USB Protocol Layer = 0, Application Layer = 20

4.1.1 Basic Packet IDs

The Basic Packet ID values are defined using the enumerations shown below:

enum

{

Pid_Protocol_Array = 253, /* may not be implemented in all devices */

Pid_Product_Rqst = 254,

Pid_Product_Data = 255,

Pid_Ext_Product_Data = 248 /* may not be implemented in all devices */

};

Justamente o 254 é enviado para requisitar o tipo de dispositivo conectado e o 255 é a resposta. E, no caso o 20 indica que se esta usando a camada de aplicação.

Neste mesmo PDF existem várias enumerações e constantes que podem lhe ser úteis. Dê uma olhada lá. Como eu disse, não tenho um aparelho deste aqui para testar, por isso não tenho como te dizer quais seriam os valores corretos para obter as informações desejadas.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152.1k
    • Posts
      651.8k
×
×
  • Criar Novo...