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

PyUsb - Ler dados impressora Térmica via Usb ESC/POS


Douglas Rodrigues

Pergunta

Pessoal, tudo bem?

Preciso ler os dados dos sensores de uma determinada impressora térmica, em especifico a PRT MPT725, em fim, ela utiliza comandos ESCPOS para sua comunicação, então a resposta não precisa ser baseada apenas nesse modelo e marca.

Eu atualmente consigo mandar comandos ESCPOS para a mesma, como acionar a guilhotina, aumentar e diminuir tamanho das fontes e etc... tudo isso pela biblioteca Pyusb.

Porém, não consigo ler o que a impressora me envia na porta usb com a biblioteca pyusb. A intenção era monitorar os sensores de falta de papel, papel enroscado entre outros, espero receber esses dados na usb após enviar o comando escpos correspondente.

Esse é meu código:

# -*- coding: iso-8859-1 -*-

# -*- coding: latin-1 -*-

#
#	Impressora_Config.py
#
#	Descricao: Classe responsavel pela conexao de impressora via usb.
#	Programador original: Douglas Rodrigues


import usb.core
import usb.util

def main():
	device = usb.core.find(idVendor=0x20d1, idProduct=0x7008)

	print(device)

	# Utilizo a primeira configuração
	device.set_configuration()

	# Primeiro endpoint
	endpoint = device[0][(0,0)][0]
	print(endpoint)

	# le o pacote de dados
	data = None
	try:
		data = device.read(endpoint.bEndpointAddress,
							endpoint.wMaxPacketSize)
		sret = ''.join([chr(x) for x in data])
		print('resp',sret.decode('utf-8'))
        
        #Retorna isso >>>> 
        '''
        	('resp', u'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0')
		'''
	except usb.core.USBError as e:
		data = None
		if e.args == ('Operation timed out',):
			pass

if __name__ == '__main__':
  main()

 

Retorna isso >> é o que recebo da impressora, não consigo interpretar isso com inteiros mesmo tentando converter.

 

Se alguém por favor conseguir colocar um exemplo, ficarei muito agradecido

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

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