[ Foro de Python ]
Hola buenas, veréis me ha surgido un problema a la hora de operar con Python y un adaptador usb-I2C. Estoy tratando de controlar un sensor de temperatura TMP102, conectándolo a un convertidos usb-i2c, y de ahí al pc con Python.
El problema viene cuando intento detectar el USB en Python mediante el PID y el VID, y no me lo detecta. El código funciona correctamente para detectar cualquier USB, entonces no entiendo por que no me lo reconoce.
Si alguien sabe que puede pasar o tiene experiencia en esto agradecería la ayuda :)
El código que he implementado es el siguiente
from pywinusb import hid
# Solicitamos al usuario que ingrese el VID y PID del dispositivo USB
# Convertimos los números decimales en hexadecimal
vid = 0x145F
pid = 0x0254
# Buscamos el dispositivo USB
filter = hid.HidDeviceFilter(vendor_id=vid, product_id=pid)
devices = filter.get_devices()
# Imprimimos la información del dispositivo encontrado
if len(devices) == 0:
print(f"No se encontró un dispositivo USB con VID:{vid} y PID:{pid}")
else:
device = devices[0]
print('Nombre del dispositivo:', device.product_name)
print('Vendor ID:', device.vendor_id)
print('Product ID:', device.product_id)
print('Serial Number:', device.serial_number)
Es posible que el problema no esté en tu código de Python, sino en la configuración de los controladores del dispositivo USB. Asegúrate de que el controlador del adaptador USB-I2C esté correctamente instalado en tu sistema operativo y que el dispositivo esté conectado correctamente.
Si el controlador está instalado correctamente, podrías probar a utilizar una herramienta de diagnóstico de USB para asegurarte de que el dispositivo está siendo detectado por el sistema operativo. Por ejemplo, en Windows puedes utilizar la herramienta "Administrador de dispositivos" para verificar si el adaptador USB-I2C está siendo detectado correctamente.
Si el dispositivo no está siendo detectado por el sistema operativo, puede haber algún problema con el dispositivo en sí o con la conexión USB. En ese caso, te recomendaría revisar la conexión del dispositivo, probar con otro puerto USB o incluso probar con otro adaptador USB-I2C si es posible.
Si el dispositivo está siendo detectado correctamente por el sistema operativo pero aún no puedes detectarlo con Python, podrías probar a utilizar otra biblioteca para la comunicación I2C en Python, como pyserial o smbus. Asegúrate de seguir las instrucciones de la documentación de la biblioteca para inicializar correctamente la conexión I2C con el dispositivo.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)