////////////////////////////// Import des librairies \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
#include <ESP8266WiFi.h>
#include <EasyButton.h>
////////////////////////////// Config du reseau \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
WiFiClient client; // Association du mode client
IPAddress local_IP(192, 168, 0, 1); // IP fixe
IPAddress gateway(192, 168, 0, 254); // Passerelle
IPAddress subnet(255, 255, 255, 0); // Masque
const char* ssid = "RubanLedWIFI"; // SSID
const char* password = "123456789"; // Mdp SSID
IPAddress ruban1(192,168,0,11); // l'adresse ip du ruban1
//IPAddress ruban2(192,168,0,22); // l'adresse ip du ruban2
const uint16_t port = 80; // port de communication
////////////////////////////// Config du bouton et variable \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
int commande = 0; // Variable pour stocker la commande à envoyer
const int BUTTON_PIN = 0; // Bouton sur gpio0 pin D3
String nom = ""; // Variable pour stocker le nom du client
EasyButton button(BUTTON_PIN); // On construit le bouton
////////////////////////////// La fonction onPressed \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
void onPressed() {
commande++; // On incrémante commande a chaque appuye sur le bouton
if (commande > 11) commande = 1; // Si commande depasse 11, commande vaut 1
Serial.print("commande = "); // On affiche la commande
Serial.println(commande);
rubans(1); // On lance la commande au ruban1
//rubans(2); // On lance la commande au ruban2
}
////////////////////////////// La fonction buttonLongPress \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
void buttonLongPress() {
commande = 0; // La commande vaut 100
Serial.print("commande = "); // On affiche la commande
Serial.println(commande);
rubans(1); // On lance la commande au ruban1
//rubans(2); // On lance la commande au ruban2
}
////////////////////////////// La fonction rubans \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
void rubans(int id){
if (id == 1) client.connect(ruban1, port); // Si l'argument vaut 1 on se connect au ruban1
//if (id == 2) client.connect(ruban2, port); // Si l'argument vaut 2 on se connect au ruban2
if (client.connected()) { // Si on est connecté
client.println(commande); // On envoie la commande
client.flush(); // On vide le buffer
}
}
////////////////////////////// Le setup \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
void setup() {
delay(3000); // Delay pour démarage
Serial.begin(115200);
Serial.println();
Serial.print("Configuration du réseau ");
Serial.println(WiFi.softAPConfig(local_IP, gateway, subnet) ? "OK" : "KO!"); // On contruit l'ip fixe
Serial.print("Configuration du ssid et mdp ... ");
Serial.println(WiFi.softAP(ssid, password) ? "OK" : "KO!"); // On contruit le reseau
Serial.print("Addresse IP du softAP : ");
Serial.println(WiFi.softAPIP());
Serial.println();
button.begin(); // On initialise le bouton
button.onPressed(onPressed); // On associe la fonction onPressed au bouton
button.onPressedFor(2000, buttonLongPress); // On associe la fonction buttonLongPress au bouton
Serial.println("setup(): OK"); // Fin du setup
}
////////////////////////////// Le loop \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
void loop () {
button.read(); // On écoute le bouton en boucle
}