Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 154 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
11 minutos atrás, Juliomar Marchetti disse:

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

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
53 minutos atrás, 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 ?

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: [email protected]
Formiga-MG

  • Moderadores
Postado
5 hours ago, Cleber Ferreira said:

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

é 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: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado (editado)
9 horas atrás, Juliomar Marchetti disse:

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

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 08: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.

Isso mesmo... tente e nos reporte

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

Postado
1 minuto atrás, Cleber Ferreira disse:

Isso mesmo... tente e nos reporte

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 17:34, Juliomar Marchetti disse:

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

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

  • Moderadores
Postado
Em 19/06/2024 at 08:06, fabiofranzini disse:

Será que alguem já conseguiu utilizar neste ambiente ?

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

Cleber C. Ferreira
Analista de Sistemas e Consultor
Email e
Skype: [email protected]
Formiga-MG

Postado
8 minutos atrás, Cleber Ferreira disse:

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

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
Agora, 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. 

 

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.pas USBSerial.pas

  • Curtir 1

Captura de tela 2024-07-23 103314.png

Postado
15 horas atrás, Juliomar Marchetti disse:

Qual o retorno da lista pra ti? não tenho pra testar e ver

A lista que consegui, esta na imagem, note que As opções de acesso e permissão foram setadas, ao executar o aplicativo até pede a permissão de novo. Mas o resultado é Permission denied. 

Imagem do WhatsApp de 2024-06-21 à(s) 08.14.06_a412e43f.jpg

Imagem do WhatsApp de 2024-06-21 à(s) 08.17.28_959d0d73.jpg

Imagem do WhatsApp de 2024-06-21 à(s) 08.17.48_a3bf706f.jpg

Captura de tela 2024-07-23 103314.png

  • Este tópico foi criado há 154 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.