Programación de un lector UHF

Iniciado por DtxdF, Julio 26, 2021, 02:11:19 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Hola a todos.

He estado indagando sobre cómo hacer funcionar el que me dieron para concluir un trabajo y he tenido una serie de inconvenientes.

La idea es que se tenga que usar en Windows, entonces solo se podrá usar desde éste. Al conectarlo no lo reconocía en este SO, así que requerí el controlador para poder usarlo. Al darme el instalador (chino) no se pudo instalar con la aplicación (es un ejecutable) llamado CP210xVCPInstaller.exe. Entonces verifiqué que el controlador estuviera en una subcarpeta y lo estaba, así que fui a Administradores de dispositivos y al nuevo dispositivo, que en este entonces Windows lo coloca como desconocido, presione la opción Actualizar controlador y busqué manualmente la carpeta. Esto instaló el controlador y ahora el dispositivo es detectado. El controlador proviene de Silicon Labs y Windows lo nombró como Silicon Labs CP210x USB to UART Bridge (COM4).

Ahora teniendo la ruta del puerto serial, que debe ser emulado, ya que el aparato tiene un cable USB como conexión, trato de conectarme usando miniterm que lo provee la librería pyserial de python. No recibo ningún dato. Trato de hacerlo con putty. Mismo resultado.

Así que sigo indagando y me topo con una librería llamada pyrfidhid, pero obtengo el error No backend available, pero lo soluciono instalando libusb-win32-devel-filter, que a su vez me instala algunos programas; ejecuto Inf Wizard y selecciono el dispositivo. Esto finalmente eliminará el dispositivo de la lista de puertos seriales y lo agregará en una nueva lista llamada libusb32. Al tratar de ejecutar un pequeño snippet, que lo dejaré a continuación, me aparece el error "Uno de los dispositivos conectados al sistema no funciona".

Código: python
from rfidhid.core import RfidHid

rfid = RfidHid(vendor_id=0x10c4, product_id=0xea60)

payload_response = rfid.read_tag()
uid = payload_response.get_tag_uid()

rfid.beep()
print(uid)


Mi teoría es que se debe inicializar con algún o unos bytes iniciales, pero me lo dejaron sin documentación, tampoco me dijeron la empresa, ni ninguna otra información que puede ser de utilidad. Estoy en cero, la verdad.

~ DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF

Julio 26, 2021, 07:23:22 PM #1 Ultima modificación: Julio 26, 2021, 07:32:01 PM por noxonsoftwares
Hola DtxdF.

Yo no entiendo mucho pero realicé una busqueda teniendo en cuenta el driver que mencionas y me tope con esto:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta <---- Posible respuestas

seguramente es algun problema con el driver o debe tener algun comando de activacion del lector.

Saludos espero eso esa de ayuda

Julio 27, 2021, 10:12:58 AM #2 Ultima modificación: Julio 27, 2021, 07:10:48 PM por DtxdF
Muchas gracias @noxonsoftwares, probaré lo que compartiste y daré informes.

Actualización #1:

Hoy probé lo que compartiste y para el caso de pycp210x, me generó información al ejecutar el script que aparece en x86_64/cp210x.py. Usé ollydbg para ver qué funciones tiene para la dll para x86 y ninguna me aparece como tag, aunque más que nada son de información del producto y cosas así.

Me resultó útil para seguir indagando, muchas gracias noxon. Seguiré con esto hasta encontrar la solución y luego la comento por acá.

~ DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF