Bonjour,
Sur une Wemos D1 mini v2, et dans le cadre d'une domotisation, je simule l'appui sur le bouton de la télécommande de mes volets (il ne sont pas domotisables et fonctionnent par télécommande).
Le schéma se trouve ici : https://circuits.io/circuits/3831607-telecommande-volets-bubendorf

Par contre je ne comprends pas pourquoi mon programme s'exécute 10 fois de suite lorsque je le teste avec des leds. Si j'envoie "FERMER" par exemple, la led correspondante clignote 10 fois !

Voici le croquis en cause :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/*
  Date : 16/01/2016
  Description : Pilotage LED avec un browser WEB
  Source : Exemple IDE Arduino
*/
 
#include <ESP8266WiFi.h>
 
int tempo = 250;      // durée d'appui sur la touche télécommande
String s;
int val;
int up = 5;           // broche pour ouvrir --> sur Wemos à brancher sur D1
int down = 4;         // broche pour fermer --> sur Wemos à brancher sur D2
 
 
// Nom et mot de passe du réseau WIFI
const char* ssid = "Livebox-XXXX";
const char* password = "XXXXXXXXXXXXXXXXXXXXXXXXXX";
 
// Creation d un serveur qui ecoute sur le port 80
WiFiServer server(80);
 
// ----------------- SETUP ---------------------------------
 
void setup() {
  Serial.begin(115200);
  delay(10);
 
  // Declaration port "down" en sortie
  pinMode(down, OUTPUT);
  digitalWrite(down, 0);
 
  // Declaration port "up" en sortie
  pinMode(up, OUTPUT);
  digitalWrite(up, 0);
 
  // Connection au réseau WiFi
  Serial.print("Connection a ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(250);
    Serial.print(".");
    }
  Serial.println("");
  Serial.println("WiFi OK");
 
  // demarrage du serveur
  server.begin();
  Serial.println("Server OK");
 
  // Adresse IP locale attribuee
  Serial.println(WiFi.localIP());
 
}  // -------------------     fin du Setup                 
 
// ----------------- LOOP ----------------------------
 
void loop() {
  // Un client est-il connecte ?
  WiFiClient client = server.available();
  if (!client) {
  return;
  }
 
  // Attente donnees envoyees par un client
  Serial.println("Nouveau client");
  while (!client.available()) {
  delay(1);
  }
 
  // Lecture premiere ligne de la requete
  String req = client.readStringUntil('\r');
  client.flush();
 
  // Decodage de la requete recue
  int val;
  //------------------------------- FERMER -------------------------------------------------
  if (req.indexOf("/FERMER") != -1) {
    Serial.println("Demande fermeture volet");
 
    // Positionnement port "down"
    digitalWrite(down, 1);                   // Début appui pour fermeture volet
    delay(tempo);                            // durée d'appui sur télécommande
    digitalWrite(down, 0);                   // Fin appui pour fermeture volet
    client.flush();
  }
 
  //------------------------------- OUVRIR -------------------------------------------------
  else if (req.indexOf("/OUVRIR") != -1) {
    Serial.println("Demande ouverture volet");
 
    // Positionnement port "up"
    digitalWrite(up, 1);                    // Début appui pour ouverture volet
    delay(tempo);                           // durée d'appui sur télécommande
    digitalWrite(up, 0);                    // Fin appui pour ouverture volet
    client.flush();
  }
 
  //------------------------------- ERREUR -------------------------------------------------
 
  else {
    Serial.println("Requete invalide");
    client.stop();
    return;
  }
  //-----------------------------------------------------------------------------------------
 
/*Envoi de la reponse au client
   client.print(s);
    delay(1);
 Serial.println("Client deconnecte");
 */
 
}   // ---------------------   Fin du Loop
Merci de votre aide