Bonjour à tous,
C'est mon premier message ici. Plus électronicien que codeur à la base, je bidouille actuellement sur un ESP8266.
Dans le cadre d'un petit projet, j'envoie entre autre l'état d'un BP physique en wifi d'un ESP à un autre, pas de souci jusque la ça fonctionne, 0 à l'appui et 1 lorsque relâché, comme attendu
Maintenant je souhaite en parallèle simuler l'appui de ce même bouton en passant par"app inventor" en wifi (avec au final la possibilité d'utiliser les 2 boutons pour réaliser la même chose), de façon simple j'arrive déjà à envoyer l'état du bouton et récupérer la commande.
Mon souci est que je n'arrive pas à gérer la simulation, quand j'appui sur le bouton sur mon interface avec le code actuel, il ne simule en rien l'appui bouton comme je le souhaiterais. Le BP physique fonctionne toujours.
J'ai bien essayer un certain nombre de choses avec les compétences qui sont les miennes mais sans succès, il y a quelque chose qui m'échappe
Merci pour vos conseils, voici mon code de base, il semble avec cette syntaxe que ma commande n'est pas prise en compte :
/* Serveur avec gestion bouton */
#include <ESP8266WiFi.h>
#include <Bounce2.h>
const char* ssid = "******";
const char* password = "******";
WiFiServer server(80);
IPAddress ip(192, 168, 1, 5);
IPAddress gateway(192, 168, 1, 254);
IPAddress subnet(255, 255, 255, 0);
const int buttonPin = D3;
//Bounce debouncer = Bounce(); // Anti-rebond
void setup() {
Serial.begin(115200);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.config(ip, gateway, subnet);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("WiFi connected");
// démarrage sur serveur
server.begin();
Serial.println("Connected to wifi");
Serial.print("Status: "); Serial.println(WiFi.status()); // some parameters from the network
Serial.print("IP: "); Serial.println(WiFi.localIP());
//Serial.print("Subnet: "); Serial.println(WiFi.subnetMask());
//Serial.print("Gateway: "); Serial.println(WiFi.gatewayIP());
Serial.print("SSID: "); Serial.println(WiFi.SSID());
Serial.print("Signal: "); Serial.println(WiFi.RSSI());
//Serial.print("Networks: "); Serial.println(WiFi.scanNetworks());
/*WiFi.mode(WIFI_AP);
WiFi.softAP("Wemos_AP", "Wemos_comm");
WiFi.softAPConfig(ip, ip, mask);
server.begin();
Serial.println("Server started.");
Serial.print("IP: "); Serial.println(ip);
Serial.println("Server started.");
Serial.print("IP: "); Serial.println(WiFi.softAPIP());
//Serial.print("MAC:"); Serial.println(WiFi.softAPmacAddress());
//Serial.print("Signal: "); Serial.println(WiFi.RSSI());*/
pinMode(buttonPin, INPUT_PULLUP);
digitalWrite(buttonPin, 1);
//debouncer.attach(buttonPin);
//debouncer.interval(10); // interval in ms
}
void loop() {
WiFiClient client = server.available();
if (!client) {
return;
}
//client.println('\r');
//debouncer.update();
//int value = debouncer.read();
String request = client.readStringUntil('\r');
if (request.indexOf("/gpio/0") != -1) {
digitalWrite(buttonPin, LOW);
client.println(analogRead(A0));
client.println(digitalRead(buttonPin));
}
digitalWrite(buttonPin, HIGH);
client.println(analogRead(A0));
client.println(digitalRead(buttonPin));
Serial.println(digitalRead(buttonPin));
}