Bonjour à tous
Mon projet avance mais aujourd'hui je souhaite rajouter la fonction wifi dessus car la connexion USB n'est pas accessible une fois en place
Apres recherche, j'ai avancé sur le sujet... mais je bute sur un problème qui est peut être simple.
Je cherche comment passer un argument dans une commande WIFI
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <Wire.h>
#include "simpleRTC.h"
int Heure_ON_T5_1 = 15
int Minute_ON_T5_1 = 0
int Heure_ON_T5_2 = 15
int Minute_ON_T5_2 = 30
int Heure_ON_T5_3 = 16
int Minute_ON_T5_3 = 0
int Heure_ON_T5_4 = 16
int Minute_ON_T5_4 = 30
int Heure_OFF_T5_1 = 23
int Minute_OFF_T5_1 = 30
int Heure_OFF_T5_2 = 23
int Minute_OFF_T5_2 = 0
int Heure_OFF_T5_3 = 22
int Minute_OFF_T5_3 = 30
int Heure_OFF_T5_4 = 22
int Minute_OFF_T5_4 = 0
const int pinPrise[4] = {4, 5, 6, 7}; // Définition des sorties utilisées
int debut_Eclairage [4]= { Heure_ON_T5_1 *60 + Minute_ON_T5_1 , Heure_ON_T5_2 *60 + Minute_ON_T5_2, Heure_ON_T5_3 *60 + Minute_ON_T5_3, Heure_ON_T5_4*60+Minute_ON_T5_4}; // Plage horaire de début d'allumage
int fin_Eclairage[4] = {Heure_ON_T5_1 *60 + Minute_ON_T5_1 , Heure_ON_T5_2 *60 + Minute_ON_T5_2, Heure_ON_T5_3 *60 + Minute_ON_T5_3, Heure_ON_T5_4*60+Minute_ON_T5_4}; // Plage horaire de début d'allumage
const char* ssid = "SFR-XXXX"; // remplacer par le SSID de votre WiFi
const char* password = "......"; // remplacer par le mot de passe de votre WiFi
ESP8266WebServer server(80); // on instancie un serveur ecoutant sur le port 80
void setup()
{
Serial.begin(115200);
// Serial.begin(57600);
Wire.begin(); //Démarrage de la librairie wire.h
for (int i=0; i<3; i++)
{
pinMode(pinPrise[i], OUTPUT);
digitalWrite(pinPrise[i], HIGH);
}
Serial.println("Programme Cmd Relais");
RTC.regler(16, 8, 24, 10, 30, 0); //initalisation du RTC et mise à l'heure
//RTC.regler(16, 8, 24, 10, 30, 0) = 16/08/24 10hh30mm00ss
// on demande la connexion au WiFi
WiFi.begin(ssid, password);
Serial.println("");
// on attend d'etre connecte au WiFi avant de continuer
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// on affiche l'adresse IP qui nous a ete attribuee
Serial.println("");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
// on definit ce qui doit etre fait en fonction des commandes définit
// Commande disponible /MAJRTC, /ONT5, /OFFT5,/MANU ON, /MANU OFF
// Mise à jour de l'heure du RTC
server.on("/MAJRTC", []() {
RTC.regler(??????); // ligne à modifier
server.send(200, "text/plain", "Mise à jour de l'heure OK");
});
// Mise à jour de l'heure d'allumage des Tubes T5
server.on("/ONT5", []() {
//Argument pour modifier les variables Heure_ONT5, Minute_ONT5, Seconde_ONT5
server.send(200, "text/plain", "Mise à jour de l'heure Allumage T5 OK");
});
// Mise à jour de l'heure d'extinction des Tubes T5
server.on("/OFFT5", []() {
//Argument pour modifier les variables Heure_OFFT5, Minute_OFFT5, Seconde_ONT5
server.send(200, "text/plain", "Mise à jour de l'heure Extinction T5 OK");
});
// Allumage manuel des Tubes T5
server.on("/MANU ON", []() {
CmdRelais( pinPrise[4],HIGH)
CmdRelais( pinPrise[5],HIGH)
CmdRelais( pinPrise[6],HIGH)
});
// Extinction manuelle des Tubes T5
server.on("/MANU OFF", []() {
CmdRelais( pinPrise[4],LOW)
CmdRelais( pinPrise[5],LOW)
CmdRelais( pinPrise[6],LOW)
});
// on commence a ecouter les requetes venant de l'exterieur
server.begin();
}
//
void loop()
{
server.handleClient(); // ESP8266
RTC.actualiser();//Actualisation du RTC
int maintenant = 60*RTC.heure() + RTC.minute(); // récupère l'heure actuel convertie en minute
for ( int i = 0 ; i < 3 ; i++)
{
if (debut_Eclairage[i] <= maintenant && maintenant < fin_Eclairage[i])
{ CmdRelais( pinPrise[i],LOW); } else { CmdRelais( pinPrise[i],HIGH);}
}
delay (1000)
}
void CmdRelais(int pin , bool etat)
{
bool lect_etat = digitalRead(pin);
Serial.println("Reglage OK");
Serial.println(lect_etat);
if ( lect_etat != etat )
{ digitalWrite(pin, etat);}
}
Par exemple sur la ligne pour régler le RTC
Pouvez vous m'aider svp