Table des matières

ESP 32 bouton

Note d'intention

Un systeme de telecommande en OSC depuis un ESP 32.

L'esp crée un reseau wifi “PERFORMANCE” sur lequel il faut se connecter (en se mettant en reseau “privé” et en evitant les eventuels parefeu)

Il diffuse sur toutes les adresse IP (mode broadcast : 192, 168, 4, 255 )

#include <WiFi.h>
#include <WiFiUdp.h>
#include <OSCMessage.h>
 
// --- Configuration du WiFi Access Point ---
const char* ssid = "PERFORMANCE";
const char* password = "PERFORMANCE";
 
// --- Configuration OSC ---
const IPAddress broadcastIP(192, 168, 4, 255);  // Adresse broadcast du réseau softAP
const int remotePort = 8080;
 
WiFiUDP Udp;
 
// --- Broche du bouton ---
const int buttonPin = 2;
bool lastButtonState = HIGH;
 
void setup() {
  Serial.begin(115200);
 
  // Démarre le point d'accès WiFi
  Serial.println("Démarrage du point d'accès...");
  WiFi.softAP(ssid, password);
 
  IPAddress IP = WiFi.softAPIP();
  Serial.print("Adresse IP du point d'accès : ");
  Serial.println(IP);
 
  // Démarre UDP
  Udp.begin(remotePort);
  Serial.print("UDP démarré sur le port ");
  Serial.println(remotePort);
 
  pinMode(buttonPin, INPUT_PULLUP);
}
 
void loop() {
  bool buttonState = digitalRead(buttonPin);
 
  // Détection de front descendant (appui)
  if (lastButtonState == HIGH && buttonState == LOW) {
    Serial.println("Bouton appuyé → envoi OSC (broadcast)");
 
    // Crée un message OSC
    OSCMessage msg("/performance/button");
    msg.add(1);
 
    // Envoi en broadcast
    Udp.beginPacket(broadcastIP, remotePort);
    msg.send(Udp);
    Udp.endPacket();
    msg.empty();
  }
 
  lastButtonState = buttonState;
  delay(20);  // anti-rebond
}

Références et liens

Notes techniques et matériaux

Liste de matériel et composants nécessaires (documents avec photo si possible…)

Photos et médias

Code pour afficher les images du projet :