// PYBStick ESP32 Test LED
int LED = 6;
void setup() {
  pinMode(LED,OUTPUT);
}
 
void loop() {
  digitalWrite(LED, HIGH);
  delay(1000);
  digitalWrite(LED, LOW);
  delay(1000);
}

 
neoPixel.setPixelColor(numéroDeLED,Rouge,Vert,Bleu);

neoPixel.setBrightness(25);

neoPixel.show();

 
delay(1000);

// PYBStick ESP32 Neopixel
 
// Appel de la bibliothèque NeoPixel
#include <Adafruit_NeoPixel.h>
// Constantes
const int LED_NEOPIXEL = 8;
const int NB_LED = 1;
// Création de l'objet "neoPixel"
Adafruit_NeoPixel neoPixel(NB_LED, LED_NEOPIXEL, NEO_GRB + NEO_KHZ800);
 
void setup() {
  // initialisation du module de LED
  neoPixel.begin();
  //Intensité lumineuse (de 0 à 100)
  neoPixel.setBrightness(25);
}
 
void loop() {
  // LED en bleu
  neoPixel.setPixelColor(0,0,0,255);
  neoPixel.show();
  delay(1000);
  // LED en blanc
  neoPixel.setPixelColor(0,255,255,255);
  neoPixel.show();
  delay(1000);  
  // LED en rouge
  neoPixel.setPixelColor(0,255,0,0);
  neoPixel.show();
  delay(1000);
  // Extinction de la LED
  neoPixel.clear();
  neoPixel.show();
  delay(1000);
}

 
// PYBStick ESP32 Temperature LED
// Appel des bibliothèques
#include <DHT.h>
#include <Adafruit_NeoPixel.h>
// Constances et variables
const int CAPTEUR_TEMP = 2;
const int LED_NEOPIXEL = 8;
const int NB_LED = 1;
float t, h;
// Sélectionnez votre capteur
//DHT dht(CAPTEUR_TEMP, DHT11);
DHT dht(CAPTEUR_TEMP, DHT22);
// Création de l'objet "neoPixel"
Adafruit_NeoPixel neoPixel(NB_LED, LED_NEOPIXEL, NEO_GRB + NEO_KHZ800);
 
void setup(){  
  Serial.begin(9600);
  dht.begin();
  delay(1000);
  // initialisation du module de LED
  neoPixel.begin();
  neoPixel.show();   
  //Intensité lumineuse (de 0 à 100)
  neoPixel.setBrightness(25);
}
void loop(){
  t = dht.readTemperature();
  h = dht.readHumidity();
  Serial.print("Temperature: ");
  Serial.print(t);
  Serial.print("ºC - ");
  Serial.print("Humidite: ");
  Serial.print(h);
  Serial.println(" %");
  if (t < 18){
    neoPixel.setPixelColor(0,0,0,255); // Bleu
  }
  else if (t < 25){
    neoPixel.setPixelColor(0,0,255,0); // Vert
  }
  else {
    neoPixel.setPixelColor(0,255,0,0); // Rouge
  }
  neoPixel.show();  
  delay(1000);
}

// PYBStick_ESP32_Temperature_WiFi
// Appel des bibliothèques
#include <WiFi.h>
#include <WebServer.h>
#include <DHT.h>
#include <Adafruit_NeoPixel.h>
// Constances et variables
const int CAPTEUR_TEMP = 2;
int t, h;
const int LED_NEOPIXEL = 8;
const int NB_LED = 1;
 
// Sélectionnez votre capteur
//DHT dht(CAPTEUR_TEMP, DHT11);
DHT dht(CAPTEUR_TEMP, DHT22);
 
// Paramètres du réseau Wifi
const char* NOM_DU_RESEAU = "ARDUIBLOG";
const char* MOT_DE_PASSE = "Azerty123";
 
// Création de l'objet serveur (port 80)
WebServer serveur(80);
 
// Création de l'objet "neoPixel"
Adafruit_NeoPixel neoPixel(NB_LED, LED_NEOPIXEL, NEO_GRB + NEO_KHZ800);
 
void setup() {
  Serial.begin(9600);
  delay(500);
  // Capteur température DHT
  dht.begin();
  // LED Neopixel (en rouge)
  neoPixel.begin();
  neoPixel.setBrightness(25);
  neoPixel.setPixelColor(0,255,0,0);
  neoPixel.show();
  // WiFi  
  WiFi.begin(NOM_DU_RESEAU, MOT_DE_PASSE);
  Serial.print("Connexion en cours");
  while (WiFi.status() != WL_CONNECTED){
    Serial.print(".");
    delay(250);
  }
  Serial.println("\n");
  // Connexion établie
  for (int i=0; i<= 3; i++){
    // Extinction de la LED
    neoPixel.clear();
    neoPixel.show();
    delay(1000);
    // LED en vert
    neoPixel.setPixelColor(0,0,255,0);
    neoPixel.show();
    delay(1000);
    Serial.print("Adresse IP : ");
    Serial.println(WiFi.localIP());    
  }
  serveur.on("/", pageAccueil);
  serveur.onNotFound(pageIntrouvable);
  serveur.begin();
}
 
void loop(){
  serveur.handleClient();
  if (WiFi.status() != WL_CONNECTED){
    // LED en rouge
    neoPixel.setPixelColor(0,255,0,0);
    neoPixel.show();
    // Redémarrage dans 30 secondes
    delay(30000);
    ESP.restart();
  }  
  delay(10);
}
 
void pageAccueil(){
  t = round(dht.readTemperature());
  h = round(dht.readHumidity());  
  String codeHTML = "<!DOCTYPE html>";
  codeHTML += "<head>";
  codeHTML += "<meta http-equiv='refresh' content='30'>";
  codeHTML += "<title>PYBStick ESP32</title>";
  codeHTML += "</head>";
  codeHTML += "<body style='background-color: rgb(255, 255, 204);'>";
  codeHTML += "<div style='text-align: center;'>";
  codeHTML += "<h1 style='font-style: italic; text-decoration: underline;'>";
  codeHTML += "Serveur PYBStick ESP32</h1><font size='+3'>";
  codeHTML += "Temp&eacute;rature : ";
  codeHTML += t;
  codeHTML += "&deg;<br>Humidit&eacute; : ";
  codeHTML += h;
  codeHTML += " %</span></font></div></body></html>";
  serveur.send(200, "text/html", codeHTML);
}
void pageIntrouvable(){
  serveur.send(404, "text/plain","404: Not found");
}