Structure et description du projet
ESP32-GATEWAY/
├── DOCS/
│ └── Documentation et guides du projet
├── HARDWARE/
│ └── Fichiers de conception matérielle (schémas et PCB)
├── SOFTWARE/
│ └── Code source et fichiers de configuration
├── LICENSE
│ └── Fichier de licence du projet
└── README.md
└── Présentation générale du projet
Description des répertoires
- DOCS : Documentation technique et manuels d'utilisation
- HARDWARE : Conception électronique incluant schémas et fichiers PCB
- SOFWTARE : Implémentation logicielle et paramètres de configuration
- LICENSE : Conditions d'utilisation et licence open source
- README.md : Introduction au projet et instructions de base
Fichier de démarrage principal
Le fichier principal situé dans le répertoire SOFTWARE initialise le système et lance les modules fonctionnels.
#include "esp_system.h"
#include "esp_log.h"
#include "nvs_flash.h"
void initialiser_nvs() {
esp_err_t resultat = nvs_flash_init();
if (resultat == ESP_ERR_NVS_NO_FREE_PAGES || resultat == ESP_ERR_NVS_NEW_VERSION_FOUND) {
nvs_flash_erase();
resultat = nvs_flash_init();
}
if (resultat != ESP_OK) {
ESP_LOGE("NVS", "Échec de l'initialisation");
}
}
void configurer_journal() {
esp_log_level_set("*", ESP_LOG_INFO);
}
void demarrer_modules() {
demarrer_wifi();
demarrer_ble();
demarrer_ethernet();
}
void app_main() {
initialiser_nvs();
configurer_journal();
demarrer_modules();
}
Fonctionnalités du démarrage
- Initialisation NVS : Configuration de la mémoire non volatile pour la persistance des données
- Configuration des logs : Définition des niveaux de journalisation système
- Lancement des modules : Activation des interfaces réseau sans fil et filaire
Configuration des paramètres système
Le fichier de configuration permet d'ajuster les paramètres réseau et d'identification.
#ifndef PARAMETRES_H
#define PARAMETRES_H
#define SSID_WIFI "nom_reseau"
#define MOT_DE_PASSE_WIFI "secret"
#define MODE_ETHERNET ETH_MODE_DHCP
#define NOM_PERIPHERIQUE_BLE "ESP32-GATEWAY"
#endif
Paramètres configurables
- SSID_WIFI et MOT_DE_PASSE_WIFI : Identifiants de connexion au réseau Wi-Fi
- MODE_ETHERNET : Mode de configuration IP (DHCP ou statique)
- NOM_PERIPHERIQUE_BLE : Nom d'identification Bluetooth Low Energy