diff --git a/Semaine_2/Projet_esp32/Projet_esp32.txt b/Semaine_2/Projet_esp32/Projet_esp32.txt index 12be21e..021cfbc 100644 --- a/Semaine_2/Projet_esp32/Projet_esp32.txt +++ b/Semaine_2/Projet_esp32/Projet_esp32.txt @@ -19,3 +19,60 @@ ESP32 : PC (ou autre appareil USB) : - Peut recevoir/envoyer des données (par exemple, un terminal série ou un logiciel personnalisé) +Architecture + + [ PC via USB ] + │ + ┌───────▼────────┐ + │ uart_usb │ <— UART avec le PC + └──────┬─────────┘ + │ + ▼ + ┌──────────────┐ + │ uart_core │ <— Routeur/contrôleur central + └────┬────┬────┘ + │ │ + ┌─────────────┘ └────────────┐ + ▼ ▼ + [uart_wifi] [user_logic] (capteur, LEDs, etc.) + <— UART avec ESP32 (comporte les modules fonctionnels) + +uart_usb + Interface UART vers le PC (via USB-UART) + + Peut utiliser un convertisseur USB-UART sur uart_rx_pc / uart_tx_pc + + Fournit : + + rx_data, rx_valid, rx_ready + + tx_data, tx_valid, tx_ready + +uart_wifi + UART avec l'ESP32 + + Même interface que uart_usb, mais sur uart_rx_esp / uart_tx_esp + + Sert à communiquer avec le monde Wi-Fi + +uart_core + Module central de routage UART + C’est lui qui gère la logique : + + Tu peux le coder comme un FSM maître ou un router + + Il fait par exemple : + + Lecture des commandes depuis le PC → envoie à ESP32 + + Réception d’une réponse de l’ESP32 → envoie au PC + + +uart_rx_pc UART RX depuis le PC +uart_tx_pc UART TX vers le PC +uart_rx_esp UART RX depuis ESP32 +uart_tx_esp UART TX vers ESP32 +fifo_rx_pc_to_esp Données du PC à transférer à l’ESP +fifo_rx_esp_to_pc Données de l’ESP à transférer au PC +link_manager Logique de contrôle des transferts entre buffers et UART +status_led Gère les LEDs de statut \ No newline at end of file