start:arduino:esp32:now
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 | ||
start:arduino:esp32:now [2022/01/05 19:17] – gerardadmin | start:arduino:esp32:now [2023/01/27 16:08] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
======== ESP 32 NOW ======== | ======== ESP 32 NOW ======== | ||
- | ESP-NOW | ||
ESP-NOW est un protocole d' | ESP-NOW est un protocole d' | ||
Ligne 32: | Ligne 31: | ||
} | } | ||
+ | </ | ||
+ | Cette étape manuelle permettra d' | ||
- | </ | + | L' |
- | + | ||
- | Cette étape manuelle permettra d' | + | |
====Principe de communication==== | ====Principe de communication==== | ||
Ligne 57: | Ligne 56: | ||
À Chaque étape listée ci-dessus va correspondre une fonction spécifique à l' | À Chaque étape listée ci-dessus va correspondre une fonction spécifique à l' | ||
- | esp_now_init() Initialiser ESP-NOW. Il faut initialiser le wifi avant d' | + | ***esp_now_init()** Initialiser ESP-NOW. Il faut initialiser le wifi avant d' |
- | esp_now_add_peer() On appelle cette fonction pour appairer un ESP, on passe son adresse MAC en argument. | + | ***esp_now_add_peer()** On appelle cette fonction pour appairer un ESP, on passe son adresse MAC en argument. |
- | esp_now_send() Envoie des données avec ESP-NOW. | + | ***esp_now_send()** Envoie des données avec ESP-NOW. |
- | esp_now_register_send_cb() Enregistre une fonction de rappel qui sera déclenchée lorsque l'on envoie des données. | + | ***esp_now_register_send_cb()** Enregistre une fonction de rappel qui sera déclenchée lorsque l'on envoie des données. |
- | esp_now_register_rcv_cb() Enregistre une fonction de rappel qui sera déclenchée lorsque l'on reçoit des données. | + | ***esp_now_register_rcv_cb()** Enregistre une fonction de rappel qui sera déclenchée lorsque l'on reçoit des données. |
- | Code de l' | + | |
+ | ==Code de l' | ||
Ci-dessous, le code commenté: | Ci-dessous, le code commenté: | ||
+ | <code c > | ||
// Référence technique: https:// | // Référence technique: https:// | ||
- | <code c> | + | |
// Inclure les librairies | // Inclure les librairies | ||
#include < | #include < | ||
#include < | #include < | ||
- | </ | ||
// Stockage de l' | // Stockage de l' | ||
Ligne 78: | Ligne 78: | ||
// La variable qui sera envoyée au récepteur (nous générerons une valeur aléatoire pour l' | // La variable qui sera envoyée au récepteur (nous générerons une valeur aléatoire pour l' | ||
- | <code c> | + | |
float maValeurEnvoyee; | float maValeurEnvoyee; | ||
- | </ | + | |
// La fonction de rappel qui nous assurera de la bonne livraison du message | // La fonction de rappel qui nous assurera de la bonne livraison du message | ||
- | <code c> | ||
void quand_donnees_Envoyees(const uint8_t *mac_addr, esp_now_send_status_t status) { | void quand_donnees_Envoyees(const uint8_t *mac_addr, esp_now_send_status_t status) { | ||
Serial.print(" | Serial.print(" | ||
Serial.println(status == ESP_NOW_SEND_SUCCESS ? " | Serial.println(status == ESP_NOW_SEND_SUCCESS ? " | ||
} | } | ||
- | </ | + | |
// Une variable qui servira à stocker les réglages concernant le récepteur | // Une variable qui servira à stocker les réglages concernant le récepteur | ||
- | <code c> | ||
esp_now_peer_info_t infosRecepteur; | esp_now_peer_info_t infosRecepteur; | ||
- | </ | + | |
void setup() { | void setup() { | ||
Ligne 143: | Ligne 141: | ||
delay(1000); | delay(1000); | ||
} | } | ||
+ | </ | ||
- | Code du récepteur | + | ==Code du récepteur== |
Voici le code du récepteur, commenté en détail: | Voici le code du récepteur, commenté en détail: | ||
+ | |||
+ | <code c> | ||
// Inclure les librairies | // Inclure les librairies | ||
Ligne 187: | Ligne 188: | ||
} | } | ||
- | Tester et aller plus loin | + | </ |
+ | |||
+ | ==Tester et aller plus loin== | ||
Lorsque vous regarderez les console série des deux ESP, vous constaterez que les messages sont bien expédiés, bien reçus et leur contenu correctement interprété côté récepteur. Les différentes sources trouvées sur le net parlent d'une portée en extérieur supérieur à 200 mètres, avec les deux antennes pointant l'une vers l' | Lorsque vous regarderez les console série des deux ESP, vous constaterez que les messages sont bien expédiés, bien reçus et leur contenu correctement interprété côté récepteur. Les différentes sources trouvées sur le net parlent d'une portée en extérieur supérieur à 200 mètres, avec les deux antennes pointant l'une vers l' | ||
Nous vous renvoyons aux exemples disponibles dans la bibliothèque Arduino pour aller plus loin ! | Nous vous renvoyons aux exemples disponibles dans la bibliothèque Arduino pour aller plus loin ! | ||
+ | |||
+ | [[https:// | ||
/home/chanteri/www/fablab37110/data/attic/start/arduino/esp32/now.1641406679.txt.gz · Dernière modification : 2023/01/27 16:08 (modification externe)