Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 308 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Ola, boa tarde a todos. 

Estou tentando fazer a comunicação utilizando o conjunto: Toleto Prix 3 fit + Elgin/Bematech Mini PDV M10 + AcbrBal  , 

No primeiro momento, estou tentando conversar com o Exemplo do acbrbal, com as alterações para Android, que esta disponivel junto a pasta de exemplos. 

No caso o M10 utiliza Android 7. 

Estou utilizando um cabo  USB. No ambiente windows tenho sucesso, mas no android não. 

 

O que consegui observar é que ao carregar as portas no ambiente android, temos o retorno 13 ao executar a tarefa: 

  sl := TStringList.Create;
  try
    ACBrUtil.FilesIO.FindFiles('/dev/tty*', sl, True, fstFileName );

    cbxPorta.Items.AddStrings(sl);
  finally
    sl.Free;
  end;
 

O FindFiles sempre recebe 13 - Ou seja acesso negado. 

Ja fiz um teste e liberei todas as permissões disponiveis. E nenhuma porta do USB é Listada ou Acessada. 

 

Utilizei um App para teste, chamado Serial USB Terminal - e ele conecta e fica recebendo dados da balança, indicando que o USB esta funcionando. 

 

O que eu posso ter deixado passar ? 

Captura de tela 2024-07-23 103314.png

Postado
  Em 11/06/2024 at 19:56, Juliomar Marchetti disse:

verificou se não é preciso liberar permissão no app android pra quando chamar ele deixar ?

Expandir  

Boa tarde, Juliomar,  pior que sim, em opções do projeto, onde seta as permissões do manifesto, habilitei tudo que pode ser relacionado a leitura de arquivos, e todos os mangers possiveis. 

 

Existe algo, que possa exisitir via linha de código, que esteja fora daquelas opções ?

Captura de tela 2024-07-23 103314.png

  • Moderadores
Postado
  Em 11/06/2024 at 20:09, fabiofranzini disse:

Boa tarde, Juliomar,  pior que sim, em opções do projeto, onde seta as permissões do manifesto, habilitei tudo que pode ser relacionado a leitura de arquivos, e todos os mangers possiveis. 

 

Existe algo, que possa exisitir via linha de código, que esteja fora daquelas opções ?

Expandir  

de algumas versões de android para cá essas permissões setadas nas propriedades do projeto não têm surtido muito efeito. Atualmente utilizo um componente do Adriano Santos que dispara as permissões quando a aplicação é executada. Vale dar uma olhada: https://github.com/adrianosantostreina/MobilePermissions

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: contato@cleberferreira.eti.br
Formiga-MG

  • Moderadores
Postado
  Em 11/06/2024 at 21:03, Cleber Ferreira disse:

de algumas versões de android para cá essas permissões setadas nas propriedades do projeto não têm surtido muito efeito. Atualmente utilizo um componente do Adriano Santos que dispara as permissões quando a aplicação é executada. Vale dar uma olhada: https://github.com/adrianosantostreina/MobilePermissions

Expandir  

é que a versão desses equipamentos é 7 então ainda não era necessário o que se tem hoje

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: juliomar_m@yahoo.com.br
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado (editado)
  Em 12/06/2024 at 02:21, Juliomar Marchetti disse:

é que a versão desses equipamentos é 7 então ainda não era necessário o que se tem hoje

Expandir  

Entendido. 

Vou tomar este caminho, obrigado pela dica. 

 

Me desculpem , fiz congusão achei que isto seria a chave do problema, mas olhando a documentação do Adriano Santos, este componente parece ter efeito a partir do Android 8.   Vou continuar aqui, caso tenha resultado positivo, volto para dar um retorno. 

 

Obrigado a todos.

Editado por fabiofranzini

Captura de tela 2024-07-23 103314.png

  • Moderadores
Postado
  Em 12/06/2024 at 11:43, fabiofranzini disse:

Entendido. 

Vou tomar este caminho, obrigado pela dica. 

 

Me desculpem , fiz congusão achei que isto seria a chave do problema, mas olhando a documentação do Adriano Santos, este componente parece ter efeito a partir do Android 8.   Vou continuar aqui, caso tenha resultado positivo, volto para dar um retorno. 

 

Obrigado a todos.

Expandir  

Isso mesmo... tente e nos reporte

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: contato@cleberferreira.eti.br
Formiga-MG

Postado
  Em 13/06/2024 at 19:40, Cleber Ferreira disse:

Isso mesmo... tente e nos reporte

Expandir  

Não tivemos sucesso, no caso, a função que busca a porta USB neste ambiente, tenta acessar a pasta  é a  "ACBrUtil.FilesIO.FindFiles('/dev/tty*', sl, True, fstNone );"  tem como retorno código 13, ou seja acesso negado, ja tentamos habilitar todas as permissões possiveis, mas não consegue "Enxergar" esta USB.  

 

Utilizando um App que le as portas Seriais, esta conexão aparece, e recebe informações.

Mais exatamente na linha  497 da unit AcbrUtil.FilesIO: 

  RetFind := SysUtils.FindFirst(FileMask, faAnyFile, SearchRec);

 

Onde RetFind sempre retorna 13. 

Captura de tela 2024-07-23 103314.png

Postado
  Em 11/06/2024 at 20:34, Juliomar Marchetti disse:

tu tá usando o cabo que foi enviado pra ti de homologação certo?

Expandir  

Me perdoe, pulei este item do tópico, o cabo que uso é um cabo usb, que utilizamos, já faz algum tempo, em ambinete windows já utilizamos em varios clientes. 

 

Ele tem o Rj do lado da balança e no outro lado USB, utilizamos ele com ACBRBal inclusive. 

 

Acredito que a barreira que tenho que transpor, é que quando vai localizar as portas ele tenta acessar a pasta tty, e ela esta bloqueada por algum motivo. 

Captura de tela 2024-07-23 103314.png

Postado
  Em 20/06/2024 at 18:29, Cleber Ferreira disse:

Com versão de android mais antiga também não funciona? Você citou que está usando o 8

Expandir  

7 é o que já vem embarcado no m10 da elgin/bematech. Usando um app que le as USB, ele retorna o peso em um terminal, então acredito que seja possivel, só não achei um meio ainda. 

 

Captura de tela 2024-07-23 103314.png

Postado
  Em 20/06/2024 at 18:39, fabiofranzini disse:

7 é o que já vem embarcado no m10 da elgin/bematech. Usando um app que le as USB, ele retorna o peso em um terminal, então acredito que seja possivel, só não achei um meio ainda. 

 

Expandir  

Consegui listar as USBs disponiveis no dispositivo, inclusive consegui identificar que a balança foi encontrada nesta lista, mas não sei como setar isto para o Componente. 

Para carregar eu usei uma função como abaixo, incluido no laço que busca as portas:

 

 DeviceInfoList := TStringList.Create;
  try
    FUSBSerial.ListUsbDevices(DeviceInfoList);
    cbxPorta.Items.AddStrings(DeviceInfoList);

  finally
    DeviceInfoList.Free;
  end;

 

A função esta contida na unit USBSerial.pas , e as chamadas para api do android esta disponivel na unit Androidapi.JNI.Usb.pas .  

 

Foi o mais perto que consegui chegar até agora.

Androidapi.JNI.Usb.pasFetching info... USBSerial.pasFetching info...

  • Curtir 1

Captura de tela 2024-07-23 103314.png

  • Este tópico foi criado há 308 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.