forked from tanchou/Verilog
2.4 KiB
2.4 KiB
Protocole between FPGA and ESP32
Ce protocole permet la communication entre le FPGA et l'ESP32 via UART, principalement pour transférer des données ou des commandes de contrôle simples.
Structure générale des trames
Chaque trame est encadrée par des caractères spéciaux :
- STX (Start of Text) :
0x02
- ETX (End of Text) :
0x03
Format de trame :
Détail des commandes
OP_CODE | Nom | Description | Format |
---|---|---|---|
0x01 | Wi-Fi State | Indique l'état du Wi-Fi (0 = down, 1 = up) | 0x02 0x01 [0x00/0x01] 0x03 |
0x02 | Connection Update | Notification de connexion ou déconnexion d’un appareil | 0x02 0x02 [0x00/0x01] [MAC_ADDR (6 bytes)] 0x03 |
0x03 | Request Connected Devices | Demande la liste des appareils connectés | 0x02 0x03 0x03 |
0x04 | Send Message | Envoie un message à un appareil connecté via son MAC | 0x02 0x04 [MAC_ADDR (6 bytes)] [LEN (1 byte)] [MESSAGE] 0x03 |
Détails des champs
- MAC_ADDR : 6 octets représentant l’adresse MAC du destinataire.
- LEN : Longueur du message à envoyer (1 octet).
- MESSAGE : Suite d’octets de taille
LEN
représentant le message (binaire ou texte selon le contexte).
Exemples
Exemple 1 : Wi-Fi actif
0x02 0x01 0x01 0x03
→ Indique que le Wi-Fi est actif.
Exemple 2 : Connexion d'un appareil
0x02 0x02 0x01 0x12 0x34 0x56 0x78 0x9A 0xBC 0x03
→ Un appareil avec l’adresse MAC 12:34:56:78:9A:BC
vient de se connecter.
Exemple 3 : Envoi de message
0x02 0x04 0x12 0x34 0x56 0x78 0x9A 0xBC 0x05 0x48 0x65 0x6C 0x6C 0x6F 0x03
→ Envoi du message "Hello"
à l’appareil 12:34:56:78:9A:BC
.
Remarques
- Aucune vérification CRC/Checksum n’est ajoutée pour le moment (possible amélioration future).
- Le protocole est extensible : il suffit d’ajouter de nouveaux OP_CODEs au besoin.