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:
import usb.core
import usb.util
def main():
device = usb.core.find(idVendor=0x20d1, idProduct=0x7008)
# Utilizo a primeira configuração
device.set_configuration()
# Primeiro endpoint
endpoint = device[0][(0,0)][0]
# 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'))
except usb.core.USBError as e:
data = None
if e.args == ('Operation timed out',):
pass
if __name__ == '__main__':
main()
#Retorna isso >>>>
' ' ' ('resp',u'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 00\x00\x00\x00\x00\x00\x00\x00\x0') '''
' ' '
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
Oi Douglas,
Ainda não tive experiência de comunicação serial usando o Python.
Mas uma dica que talvez possa ajudar.
Você já verificou se precisa configurar os parâmetro de comunicação?
Ex: bits de dados, paridade, bit de parada e a
velocidade de comunicação.
--
--
------------------------------------
Grupo Python-Brasil
https://wiki.python.org.br/AntesDePerguntar
<*> Para visitar o site do grupo na web, acesse:
http://groups.google.com/group/python-brasil
<*> Para sair deste grupo, envie um e-mail para:
python-brasi...@googlegroups.com
---
Você recebeu essa mensagem porque está inscrito no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para python-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/e110e96e-d982-48dd-b69d-a4c9bdc2ffcan%40googlegroups.com.
Você recebeu essa mensagem porque está inscrito em um tema no grupo "Python Brasil" dos Grupos do Google.
Para cancelar inscrição nesse tema, acesse https://groups.google.com/d/topic/python-brasil/lJpUy0oLHKI/unsubscribe.
Para cancelar inscrição nesse grupo e todos os seus temas, envie um e-mail para python-brasi...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/4700a9db-3984-350a-4dc7-8371ea015c94%40c2o.pro.br.
--
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/python-brasil/b5b98960-d90a-409b-9be7-e458004cb66fn%40googlegroups.com.