none
MercuryAPI Leitor de Tags RRS feed

  • Pergunta

  • Boa tarde,

    Alguém tem algum exemplo de código de como e feito a leitura dos tags e também gravar. Marca do Leitor Acura, Modelo AC-01 UHF USB. Ele utiliza a dll MecuryAPI.

    Se alguém puder me ajudar ?

    Desde já Agradeço!!!

    sexta-feira, 14 de fevereiro de 2020 17:22

Respostas

Todas as Respostas

  • sábado, 15 de fevereiro de 2020 12:18
    Moderador
  • Bom dia Amigo,

    Eu segui a documentação só que quando vou fazer a operação assíncrona meu programa não esta descendo para a segunda parti, conforme da documentação poderia me ajudar sou novo em programação.

    O caminho eu estou colocando só tirei mesmo agora o programa passa por essa primeira parte mas nao vai para o evento OnTagRead.

    private void mLeitura()
            {
                rRdt.StartReading();
                StreamWriter file = File.CreateText("");
                file.WriteLine(TagReadData);
                file.Close();
                rRdt.TagRead += OnTagRead;
    }
    
    public void OnTagRead(object sender, TagReadDataEventArgs e)
            {
                Thread t = new Thread(OnTagRead());
                StreamWriter file = File.AppendText(");
                file.WriteLine(e.TagReadData.ToString() + "\\n");
                file.Close();
            }

    sábado, 15 de fevereiro de 2020 13:29
  • Bom dia Amigo,

    Eu segui a documentação só que quando vou fazer a operação assíncrona meu programa não esta descendo para a segunda parti, conforme da documentação poderia me ajudar sou novo em programação.

    O caminho eu estou colocando só tirei mesmo agora o programa passa por essa primeira parte mas nao vai para o evento OnTagRead.

    private void mLeitura()
            {
                rRdt.StartReading();
                StreamWriter file = File.CreateText("");
                file.WriteLine(""); //aqui no exemplo acima estava testando
                file.Close();
                rRdt.TagRead += OnTagRead;
    }
    
    public void OnTagRead(object sender, TagReadDataEventArgs e)
            {
                Thread t = new Thread(OnTagRead());
                StreamWriter file = File.AppendText(");
                file.WriteLine(e.TagReadData.ToString() + "\\n");
                file.Close();
            }


    sábado, 15 de fevereiro de 2020 13:31
  • antes de gravar em disco, ele conseguiu fazer a leitura?
    sábado, 15 de fevereiro de 2020 13:37
    Moderador
  • Nao da nenhum erro mas nao esta lendo a Tag 
    sábado, 15 de fevereiro de 2020 13:49
  • antes de gravar em disco, ele conseguiu fazer a leitura?
    Isso e muito novo para mim estou apanhando muito nisso Ate agora o que deu certo foi a porta USB e também a configuração do aparelho a leitura e gravação que estou com dificuldade.
    sábado, 15 de fevereiro de 2020 13:50
  • na documentação dela tem exemplos de como utilizar, você chegou a olhar?

    https://drive.google.com/drive/folders/1iqvZSM055gxdNFjwyV9intyFJPlUIDNy

    sábado, 15 de fevereiro de 2020 14:00
    Moderador
  • na documentação dela tem exemplos de como utilizar, você chegou a olhar?

    Olhei sim só que sou novo estou apreendendo ainda então estou com muita dificuldade através da documentação fiz a conexão usb e também as configuração de antena e de região.
    sábado, 15 de fevereiro de 2020 14:05
  • uma outra coisa, no exemplo parece que está usando a porta serial e não usb. aqui na página 35 tens outra opções

    MercuryAPI_ProgrammerGuide_for_v1.27.3.pdf


    sábado, 15 de fevereiro de 2020 14:06
    Moderador
  • uma outra coisa, no exemplo parece que está usando a porta serial e não usb. aqui na página 35 tens outra opções


    Vou te encaminha a parte das conexão para vc ver como eu fiz.
    Reader rRdt;
            int[] iAntena;
    
    public void mConfig()
            {
                rRdt.ParamSet("/reader/tagReadData/uniqueByData", true);
                rRdt.ParamSet("/reader/gen2/session", Gen2.Session.S1);
                rRdt.ParamSet("/reader/gen2/target", Gen2.Target.A);
                rRdt.ParamSet("/reader/gen2/BLF", Gen2.LinkFrequency.LINK250KHZ);
                rRdt.ParamSet("/reader/gen2/tagEncoding", Gen2.TagEncoding.M8);
                rRdt.ParamSet("/reader/commandTimeout", 1000);
                rRdt.ParamSet("/reader/antenna/checkPort", true);
                iAntena = (int[])rRdt.ParamGet("/reader/antenna/connectedPortList");
            }
    
    public void mConect()
            {
                try
                {
                    rRdt.Connect();
                    MessageBox.Show("Conectado");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Erro " + ex);
                }
            }
    
    private void btnConectar_Click(object sender, EventArgs e)
            {
                rRdt = Reader.Create($"eapi:///{txtConectar.Text}");
                rRdt.ParamSet("/reader/region/id", Reader.Region.NA2);
                mConect();
                mConfig();
                mLeitura();
            }

    sábado, 15 de fevereiro de 2020 14:14
  • quando vc manda conectar dar alguma mensagem de erro?
    sábado, 15 de fevereiro de 2020 14:27
    Moderador
  • Nenhum msg de erro conecta perfeitamente, ate a parte das configurações vai tudo certinho, o problema que estou penando e na parte de leitura e gravação da tag.
    sábado, 15 de fevereiro de 2020 14:30
  • certo, mas não precisa usar o evento não. faz modo simples
    sábado, 15 de fevereiro de 2020 14:34
    Moderador
  •     Reader rRdt;
            int[] iAntena;
    
    public void mConfig()
            {
                rRdt.ParamSet("/reader/tagReadData/uniqueByData", true);
                rRdt.ParamSet("/reader/gen2/session", Gen2.Session.S1);
                rRdt.ParamSet("/reader/gen2/target", Gen2.Target.A);
                rRdt.ParamSet("/reader/gen2/BLF", Gen2.LinkFrequency.LINK250KHZ);
                rRdt.ParamSet("/reader/gen2/tagEncoding", Gen2.TagEncoding.M8);
                rRdt.ParamSet("/reader/commandTimeout", 1000);
                rRdt.ParamSet("/reader/antenna/checkPort", true);
                iAntena = (int[])rRdt.ParamGet("/reader/antenna/connectedPortList");
            }
    
    public void mConect()
            {
                try
                {
                    rRdt.Connect();
                    MessageBox.Show("Conectado");
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Erro " + ex);
                }
            }
    
    private void btnConectar_Click(object sender, EventArgs e)
            {
                rRdt = Reader.Create($"eapi:///{txtConectar.Text}");
                rRdt.ParamSet("/reader/region/id", Reader.Region.NA2);
                mConect();
                mConfig();
                mLeitura();
            }
    
    private void mLeitura()
            {
                TagReadData[] tags = new TagReadData[20];
                tags = rRdt.Read;
                StreamWriter file = File.AppendText("Local do arquivo");
                for(int i = 0; i < tags.Length; i++)
                {
                    file.WriteLine(tags[i].ToString() + "\\n");
                }
                file.Close();
    
               //A forma de cima e um jeito e a forma de baixo e outro...
    
               // Nessa forma não da nenhum erro so que nao chama o OnTagRead.
    
                rRdt.StartReading();
                StreamWriter file = File.CreateText("Local do arquivo");
                file.WriteLine("");
                file.Close();
                rRdt.TagRead += OnTagRead;
    
                
            }
    
            public void OnTagRead(object sender, TagReadDataEventArgs e)
            {
                StreamWriter file = File.AppendText("Local do arquivo");
                file.WriteLine(e.TagReadData.ToString() + "\\n");
                file.Close();
            }
    Na leitura tem duas tentativas...
    sábado, 15 de fevereiro de 2020 14:35
  • sábado, 15 de fevereiro de 2020 14:37
    Moderador
  • Ok, So que esse modo ta dando erro quando compilo da esse erro na linha tags = rRdt.Read(1000) erro System.ArgumentException: 'No valid antennas specified'
    sábado, 15 de fevereiro de 2020 14:40
  • o que ele ai está pedindo de parâmetro no método read()?
    sábado, 15 de fevereiro de 2020 14:46
    Moderador
  • So pede o tempo de timeout, nao pede mas nada. Mas ai da o erro que falta chamar a antena.
    sábado, 15 de fevereiro de 2020 14:47
  • o que você pode fazer é mandar uma e-mail para o fabricante pedindo mais informações.
    • Marcado como Resposta Michael_Cats quinta-feira, 20 de fevereiro de 2020 10:10
    sábado, 15 de fevereiro de 2020 15:00
    Moderador
  • OK, vou fazer isso agora.

    quando me retorna eu respondo aqui.

    Obrigado ate o momento.

    • Marcado como Resposta Michael_Cats quinta-feira, 20 de fevereiro de 2020 10:10
    sábado, 15 de fevereiro de 2020 15:04