esp32
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| esp32 [2018/01/02 22:12] – [Installation de l'environnement de développement] 88.164.131.165 | esp32 [2025/09/13 23:28] (Version actuelle) – [Sketch transmission wifi] 81.164.14.252 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== ESP32 ARDUINO | + | ====== ESP32 ====== |
| - | L' | + | L' |
| Il présente plusieurs intérêts : | Il présente plusieurs intérêts : | ||
| - | * Prix faible ~5€ pour le module ~8€ pour une petite carte de developpement | + | * Prix faible ~5€ pour le module ~8€ pour une petite carte de développement |
| * Intègre du Wifi 802.11 b/ | * Intègre du Wifi 802.11 b/ | ||
| - | * Intègre Bluetooth **4.2** - BLE Bluetooth low Energy | + | * Intègre Bluetooth **5.0** - BLE Bluetooth low Energy |
| * Compatible avec l' | * Compatible avec l' | ||
| * Intègre un microcontrôleur 32 bits performants et de nombreux périphériques (ADC **12bit**, DAC, 3xUART, PWM, I2C, SPI, etc ...) | * Intègre un microcontrôleur 32 bits performants et de nombreux périphériques (ADC **12bit**, DAC, 3xUART, PWM, I2C, SPI, etc ...) | ||
| * S' | * S' | ||
| - | * etc ... | + | * etc. |
| {{:: | {{:: | ||
| - | ===== Caractéristiques ===== | + | ===== Quel micro ? ===== |
| + | |||
| + | Il existe un nombre important de références. Il peut être compliqué de définir ce qu'on doit utiliser en fonction de nos besoins. Donc pour résumer :\\ | ||
| + | * ESP32 : Première série maintenant remplacée mais toujours largement utilisée | ||
| + | * ESP32-Sx : Remplacement des ESP32 | ||
| + | * ESP32-Cx : Moins performants que les ESP32-Sx mais aussi moins cher. | ||
| + | * ESP32-Hx : Orienté basse consommation | ||
| + | |||
| + | ^ | ||
| + | | ESP32-C2 | ||
| + | | ESP32-C3 | ||
| + | | ESP32-C5 | ||
| + | | ESP32-C6 | ||
| + | | ESP32-C61 | ||
| + | | ESP32-H2 | ||
| + | | ESP32-S2 | ||
| + | | ESP32-S3 | ||
| + | | ESP32 | 2016 | 2 | 4 | 4.2 | Non |Non |Ancien| | ||
| + | |||
| + | Vous voulez un micro **performant** 2 coeurs pour du **Wifi+BLE** ? **ESP32-S3**\\ | ||
| + | Vous voulez du **Wifi 6** ? **ESP32-C6**\\ | ||
| + | Vous voulez du **Matter** ? **ESP32-H2**\\ | ||
| + | Vous voulez du **Zigbee** ? **ESP32-C6**\\ | ||
| + | |||
| + | Pourquoi choisir un ESP32-S3 vs un ancien ESP32 ?\\ | ||
| + | Le -S3 est plus performant pour une consommation 10 fois plus faible | ||
| + | |||
| + | Pourquoi choisir un ESP32-C6 vs un ancien ESP32 ?\\ | ||
| + | Le -C6 a plus de fonctionnalité (Wifi 6, BLE 5.3, Zigbee/ | ||
| + | |||
| + | Sources: | ||
| + | * https:// | ||
| + | * https:// | ||
| + | ===== Caractéristiques | ||
| ==== CPU ==== | ==== CPU ==== | ||
| Ligne 42: | Ligne 75: | ||
| ===== Brochage ===== | ===== Brochage ===== | ||
| + | |||
| + | ==== PINOUT ==== | ||
| + | |||
| + | {{:: | ||
| + | {{:: | ||
| ==== ESP-WROOM-32 ==== | ==== ESP-WROOM-32 ==== | ||
| Ligne 99: | Ligne 137: | ||
| </ | </ | ||
| + | ==== Sketch exemples ==== | ||
| + | |||
| + | < | ||
| + | |||
| + | ==== Sketch transmission wifi ==== | ||
| + | |||
| + | Le sketch ci dessous va transmettre une trame toutes les secondes vers un serveur UDP. | ||
| + | Remplacer par **your-ssid** par le nom de votre réseau WIFI, **your-password** par le mot de passe de votre réseau WIFI et 192.168.1.10 par l' | ||
| + | |||
| + | <code c> | ||
| + | /* | ||
| + | | ||
| + | * | ||
| + | */ | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | // WiFi network name and password: | ||
| + | const char * networkName = " | ||
| + | const char * networkPswd = " | ||
| + | |||
| + | //IP address to send UDP data to: | ||
| + | // either use the ip address of the server or | ||
| + | // a network broadcast address | ||
| + | const char * udpAddress = " | ||
| + | const int udpPort = 2205; | ||
| + | |||
| + | //Are we currently connected? | ||
| + | boolean connected = false; | ||
| + | |||
| + | //The udp library class | ||
| + | WiFiUDP udp; | ||
| + | |||
| + | void setup(){ | ||
| + | // Initilize hardware serial: | ||
| + | Serial.begin(115200); | ||
| + | | ||
| + | //Connect to the WiFi network | ||
| + | connectToWiFi(networkName, | ||
| + | } | ||
| + | |||
| + | void loop(){ | ||
| + | //only send data when connected | ||
| + | if(connected){ | ||
| + | //Send a packet | ||
| + | udp.beginPacket(udpAddress, | ||
| + | udp.printf(" | ||
| + | udp.endPacket(); | ||
| + | } | ||
| + | //Wait for 1 second | ||
| + | delay(1000); | ||
| + | } | ||
| + | |||
| + | void connectToWiFi(const char * ssid, const char * pwd){ | ||
| + | Serial.println(" | ||
| + | |||
| + | // delete old config | ||
| + | WiFi.disconnect(true); | ||
| + | //register event handler | ||
| + | WiFi.onEvent(WiFiEvent); | ||
| + | | ||
| + | //Initiate connection | ||
| + | WiFi.begin(ssid, | ||
| + | |||
| + | Serial.println(" | ||
| + | } | ||
| + | |||
| + | //wifi event handler | ||
| + | void WiFiEvent(WiFiEvent_t event){ | ||
| + | switch(event) { | ||
| + | case SYSTEM_EVENT_STA_GOT_IP: | ||
| + | //When connected set | ||
| + | Serial.print(" | ||
| + | Serial.println(WiFi.localIP()); | ||
| + | // | ||
| + | //This initializes the transfer buffer | ||
| + | udp.begin(WiFi.localIP(), | ||
| + | connected = true; | ||
| + | break; | ||
| + | case SYSTEM_EVENT_STA_DISCONNECTED: | ||
| + | Serial.println(" | ||
| + | connected = false; | ||
| + | break; | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | L' | ||
| + | Pour visualiser les trames envoyées, il suffit d' | ||
| + | |||
| + | Démarrer HERCULE et dans l' | ||
| + | |||
| + | {{:: | ||
| + | |||
| + | ==== Consommation ==== | ||
| + | |||
| + | {{:: | ||
| + | |||
| + | Source : [[https:// | ||
| ===== Liens utiles ===== | ===== Liens utiles ===== | ||
| Ligne 106: | Ligne 243: | ||
| * [[https:// | * [[https:// | ||
| + | |||
| + | Schema de la carte de developpement ESP32 DEVKIT V1 www.doit.am | ||
| + | {{:: | ||
esp32.1514927572.txt.gz · Dernière modification : 2018/01/02 22:12 de 88.164.131.165
