🛠 Usar el puerto USB-A Host para leer una memoria USB
Objectifs
Este tutorial le guía para configurar el puerto USB-A Host de alta velocidad de la placa Adafruit Metro ESP32-P4 Hydra. A diferencia de otras placas que requieren un hub externo, este puerto permite la conexión directa de periféricos USB estándar como unidades de almacenamiento. Aprenderá a gestionar el control lógico de la alimentación del puerto y a montar el sistema de archivos para leer datos.
Matériel nécessaire
- Placa Adafruit Metro ESP32-P4 Hydra
- Cable USB-C para conexión al PC (para depuración y alimentación principal)
- Memoria USB formateada en FAT32 (se recomienda máximo 32 GB para compatibilidad inicial)
- Ordenador con entorno de desarrollo ESP-IDF o Arduino (con bibliotecas USB Host)
- Fuente de alimentación externa (Jack 7-12 V) si conecta varios periféricos que consumen mucha energía, aunque la memoria USB sola suele funcionar vía USB-C.
Étapes
- Preparación del entorno: Asegúrese de que su entorno de desarrollo esté configurado para apuntar al chip ESP32-P4. La gestión del puerto USB Host requiere habilitar componentes específicos en el menú de configuración del proyecto (menuconfig). Active la opción
USB Host Mass Storage Classy asegúrese de que se seleccione el modo de alta velocidad.
- Gestión de la alimentación: El esquema de la placa indica que la alimentación del puerto USB-A está controlada lógicamente. Antes de conectar físicamente su memoria, debe inicializar el controlador USB Host. En su código, llame a la función de inicialización del controlador USB Host. Tenga en cuenta que la placa tiene un circuito de control de software para la alimentación del puerto USB-A; sin este paso de inicialización, el puerto permanece apagado para ahorrar energía.
- Conexión física: Inserte su memoria USB FAT32 en el puerto USB-A hembra situado en la placa. Asegúrese de que esté bien insertada. El conector USB-C permanece conectado a su ordenador para permitir que los mensajes de depuración se muestren en el monitor serie.
- Montaje del sistema de archivos: Una vez inicializado el controlador, el sistema detecta el dispositivo de almacenamiento masivo. Utilice una biblioteca de sistema de archivos (como LittleFS o FatFS integrada en ESP-IDF) para montar el sistema de archivos de la memoria. Deberá asignar un búfer de memoria suficiente, ya que los 16 MB de PSRAM están disponibles para almacenar datos temporales durante la lectura.
- Lectura de datos: Navegue por el directorio raíz de la memoria USB. Abra un archivo de texto simple presente en la memoria, lea su contenido en un búfer y muéstrelo en la consola serie a través de la interfaz USB-C. Recuerdes desmontar limpiamente el sistema de archivos antes de desconectar la memoria para evitar la corrupción de datos.
Otros tutoriales para esta placa
- Primer cableado y puesta en marcha de la Metro ESP32-P4 Hydra
- Controlar GPIOs y una pantalla simple en Metro ESP32-P4 Hydra
- Almacenar datos en la placa Adafruit Metro ESP32-P4 Hydra
- Primer inicio de la Metro ESP32-P4 Hydra
- Controlar un sensor I2C con ESP32-P4 Hydra
- Inicio avanzado: Alimentación, USB y Depuración en ESP32-P4 Hydra
Ejemplos de código para esta placa
esp32-p4-hydra-gpio-blink.inoC++ (Arduino)esp32-p4-hydra-mpu6050-i2c.inoC++ (Arduino)esp32-p4-hydra-wifi-http.inoC++ (Arduino)esp32-p4-hydra-sdcard-write.inoC++ (Arduino)esp32-p4-hydra-usb-host-mouse.inoC++ (Arduino)esp32-p4-hydra-gpio-led-blink.inoC++ (Arduino)