Guia de Completo de configuração – libmp2032.so

Home » LibMP2032 » Guia de Completo de configuração – libmp2032.so
LibMP2032, MP-100 TH Nenhum Comentário

Ola amigo(a) Partner,

A comunicação com a impressora não fiscal MP- 4200 TH no Linux pode ser realizada de duas maneiras:

– Comando direto na porta em que a impressora está conectada na porta USB local, ou comunicação via rede com uma impressora com porta ethernet configurada e disponível.

– Utilização da biblioteca libmp2032.so para comunicar com a impressora que está conectada na porta USB local/ comunicação via rede com uma impressora com porta ethernet configurada e disponível.

Para realizar a comunicação utilizando comandos diretos, basta enviar os comandos para a porta USB em que a impressora está conectada. Para verificar o formato destes comandos, verifique o manual de desenvolvimento disponível em nosso site:
Para Visualizar Clique Aqui!!!

Identificando a porta em que a impressora está conectada

Terminal

Antes de mais nada precisamos determinar em qual porta o equipamento foi reconhecido.

O primeiro passo para isso é identificar os equipamentos disponíveis com o idVendor da Bematech.
Para isso, utilizaremos uma variação do comando “usb-devices”, buscando pelo idVendor 0b1b:

usb-devices | grep -A 6 -i 0b1b

Neste exemplo, podemos notar que a impressora MP-4200 TH possui o

Vendor: 0b01b / idProduct 0003

Sabendo destas informações,
podemos consultar outro comando que nos informará com exatidão a porta na qual o equipamento
está conectado ao computador.
Utilizando o comando “dmesg” e procurando pelas portas “ttyACM“,
iremos encontrar a informação abaixo:


Com estes dados em mãos, ainda com o terminal aberto, digite a seguinte linha de comando:

sudo ln -s /dev/ttyACM1 /dev/ttyS43

Nota: A porta aqui marcada com “43” pode ser uma outra de sua escolha

Podemos confirmar se o processo surtiu efeito ao utilizar o comando “ls”,
pedindo para mostrar os links simbólicos gerados para a porta que definimos:

ls -la /dev/ttyS43

Após estes passos, a configuração do link simbólico para a porta está concluída.
Então poderemos realizar a instalação da biblioteca que irá comunicar com a impressora.

Realizando o download da biblioteca libmp2032.so

O primeiro passo para configuração da biblioteca é realizar o download da mesma através de nosso Portal.
Através do portal, é possível ter acesso a compilação da biblioteca para as distribuições mais comuns.
Algumas distribuições são inter compatíveis, ou seja, caso o Linux que esteja utilizando seja baseado no Debian, provavelmente a biblioteca já disponível para Debian pode ser utilizada sem problemas.

Para casos específicos ou distribuições de Linux não tão comuns,
é necessário entrar em contato com o nosso suporte técnico para verificar a
disponibilidade/viabilidade de ser gerada uma compilação para um Linux em específico.

Verifique as bibliotecas disponíveis em nosso site:
Bematech Software Partners

Instalando a biblioteca libmp2032.so

A biblioteca vem geralmente empacotada em formato .zip ou formato tar.gz.
O uso da mesma se dará através da simples extração do arquivo para uma pasta,
e a aplicação fará a chamada das funções.
Ou os arquivos podem ser extraídos para a pasta do sistema /usr/lib.
Neste caso, aplicação fará a chamada das funções diretamente da pasta do sistema.

Realizando um teste com a aplicação

Para utilizar as impressoras não-fiscais da Bematech em ambiente Windows,
você poderá usar uma lib de comunicação própria.
Esta lib tem como objetivo, comunicar o seu aplicativo com a impressora não-fiscal,
e a comunicação é realizada através de funções específicas da libmp2032.so.

A libmp2032.so deve ser utilizada em linguagens de programação de plataforma 32 bits ou 64 bits.

As linguagens de programação para Linux oferecem, no geral,
maneiras de fazer o acesso as funções da biblioteca e, para isso, o programador deve saber:

a) O nome da lib;
b) A declaração da lib e sua funções;
c) O nome da função;
d) O tipo de retorno da função (embora nem sempre seja necessário)
e os parâmetros passados.

Seu funcionamento é definido através de funções, acessadas pela aplicação.

A Bematech disponibiliza alguns exemplos os quais podem ser utilizados para realizar um teste com a libmp2032.so .
Os mesmos estão disponíveis Clicando Aqui!!!

A libmp2032 foi desenvolvida de modo a facilitar o uso das funções com a impressora não fiscal.

Através dela é possível realizar a chamada de funções
que irão executar os comandos diretos na impressora,
facilitando a integração,

pois evita que o próprio desenvolvedor tenha a necessidade de entender e
executar todos os códigos utilizando comandos diretos e
realizar o tratamento manual dos retornos obtidos,

pois conta com algumas funções preparadas para executar impressão, obter status, realizar operações, etc..

Um fluxo básico de uso da libmp2032 na aplicação do PDV segue abaixo:


a)
 
Realizar a carga e declaração das funções da biblioteca no aplicativo PDV.
Segue abaixo um exemplo (Java).
A sintaxe desta carga e declaração das funções irá variar de acordo com a linguagem utilizada:

Exemplo:


b) Chamar a função ConfiguraModeloImpressora(),
passando como parâmetro o modelo da impressora:

c) Chamar a função IniciaPorta(),
passando como parâmetro a porta em que a impressora está conectada.
No Linux, a lib só funcionará se houver a correta configuração de um link simbólico:
(por ex. “/dev/ttyS49”).

Então o software deverá iniciar a porta apontando para este link simbólico gerado:

Exemplo:

retorno = bemalib.IniciaPorta(“/dev/ttyS49”);
//O retorno esperado será “1” o que significa que a porta foi aberta com êxito.

d) Após a configuração e inicialização da porta,
é possível então utilizar as funções da biblioteca.

Segue exemplo de função de impressão de um texto simples:

try{

                                                              retorno = bemalib.FormataTX("TEXTO TESTE\n\r" , 1, 0, 0, 0, 0);

                                                              retorno = bemalib.FormataTX("TEXTO TESTE\n\r" , 1, 0, 0, 0, 0);

                                               }catch(Exception ex){

                                                              msg = ex.getMessage();

                                               }

                                               SetReturnLabel("FormataTX", retorno, msg);

                                  }

Para verificar uma listagem de todas as funções disponíveis, retornos e trechos de código.
Verifique o arquivo .chm que acompanha a dll versão Windows.
As mesmas funções disponíveis na dll para Windows também são as disponíveis na versão Linux:

Clique Aqui!!!
para visualizar

Problemas comuns ao utilizar a libmp2032.so

a) Não é possível comunicar com a impressora após criar o link simbólico:
– Verifique se o link simbólico para a porta foi criado corretamente
(conforme descrito no início deste guia);

– Realize o seguinte teste:
– Como usuário “root”, após criar o link simbólico,
envie uma sequência de textos grande para a porta gerada através do comando “echo”.

Exemplo:

– A impressão deverá ser realizada com sucesso.
Caso não tenha êxito, significa que o sistema não está reconhecendo a impressora através desta porta.
Desfaça o link simbólico gerado, reinicie o equipamento e realize os passos novamente
(criação de link simbólico e teste).

b) A impressora não está aparecendo/listada ao utilizar o comando “dmesg

– Uma falha física ou do sistema está causando o problema,
realize o teste em outro computador para confirmar que a impressora está comunicando corretamente.
Caso deseje realizar testes ,

A Bematech disponibiliza o software do usuário para Windows,
no qual é possível executar todas as funções da impressora/atualizar o Firmware, etc..:

Clique Aqui!!!

c) O software PDV não comunica com a impressora,
após a configuração inicial do link simbólico:

– As causas deste problema podem ser variadas,
desde a falha física com a impressora ou falha nos passos da configuração inicial.
Neste caso, é recomendado verificar os seguintes itens:

                – Verificar se a impressora é exibida no comando dmesg,
caso negativo, verificar a instalação física do sistema, impressora, cabos, etc..

                – Verificar se o link simbólico está comunicando, através do comando “echo”;

                – Verificar se o software PDV possui as permissões adequadas para acessar a porta de impressão.
Um teste válido é executar o software do PDV como root e
caso a comunicação seja realizada com sucesso,
Liberar permissão adequada ao usuário que irá acessar a porta de impressão;

d) O software do PDV estava comunicando,
mas a comunicação está falhando/intermitente/travando.

– As causas deste problema podem ser variadas,
desde uma interferência física de outro dispositivo (pulso eletromagnético),
até a instalação de outro hardware conflitando com a impressora.
Neste caso, é recomendado verificar os seguintes itens:

– Verificar se próximo a impressora há outros mecanismos/hardwares
que possam estar causando o travamento.
Nestes casos,
é recomendável afastar/eliminar as fontes de interferência, que podem ser:

– Acionamento de geradores;
– Utilização de outros equipamentos de rádio-frequência;
– Uso de filtros/conversores USB;
Solenoides/acionamento de outros dispositivos próximos que possam causar um pulso eletromagnético;

Atualize o Firmware da impressora.
A Bematech disponibiliza constantemente atualizações que garantem uma maior eficiência
com as impressoras não fiscais.
Estas atualizações podem ser realizadas via assistência técnica ou manualmente pelo usuário
através do software do usuário disponível para Windows.
Até o momento da publicação deste guia,
a última versão disponível do Firmware é a 1.11 para impressoras 4200 TH.
Verifique no link abaixo a última versão do Firmware e realize a atualização:

Duvidas de como Atualizar o Firmware da Impressora
Clique Aqui!!!

– Aplique o arquivo de regras no sistema operacional,
de forma a garantir que outro hardware não interfira na comunicação:

O Arquivo de Regra é utilizado para forçar a configuração da
Porta dos dispositivos Bematech plugados via USB
para uma porta similar à SERIAL do Windows:

[Arquivo de Regra]

Recomendamos a utilização do arquivo de regras
para prover uma melhor comunicação entre seu sistema e produtos Bematech
garantindo o mapeamento correto dos dispositivos USB.

Nota: Lembramos que é necessário editar o Arquivo de Regras
inserindo a porta que será mapeada da sua preferência.

O arquivo de regras contempla os modelos de: ECF,
impressoras de recibos, SAT e MFE Bematech,
utilizado no Linux para reconhecimento das interfaces de comunicação.

Como root,
descompacte e copie o arquivo 70-bematech.rules para o caminho /etc/udev/rules.d/,
conforme abaixo:


Em seguida,
reinicie o Sistema Operacional
para garantir que o arquivo seja lido no startup e aplicado no ambiente.

Após executar todos os passos acima os problemas persistam,
entre em contato com nosso suporte ao desenvolvedor com os dados abaixo.
Assim poderemos tentar simular o problema em laboratório e prover uma solução:

Versão do sistema Operacional e nome da distribuição;
Tipo da compilação do sistema: 32 bits ou 64 bits;
Saída do comando dmesg;
Versão da biblioteca;
Arquivo de regras utilizado;

Log do software PDV onde constem os comandos enviados até o travamento (se houver),
ou quais são os comandos que levam ao travamento.
*Isto é importante pois a partir dos mesmos poderemos auxiliar de maneira mais assertiva,
simulando os mesmos comandos em laboratório!!*;

Caso esteja utilizando Linux em um dispositivo embarcado,
nos informe o modelo do hardware e versão;

Demais informações que possam nos auxiliar a simular a falha:
(Detalhes do ambiente físico em que a impressora está instalada,
dumps do sistema, quando o problema começou a ocorrer, etc..);