Connexion à sinric pro avec ESP8266 mini pro

Bonjour,

Je souhaite utiliser ma carte arduino 8266 pour piloter mon garage:

j'ai utilise le code ci-dessous.
j'envoie le code dans l'arduino connexion établie avec Sinric pro et mon wifi. Je peux la piloter sur mon appli sinric pro tout fonctionne parfaitement, je la ping même avec IP dans CMD de mon PC. Mais au bout de 2,3 heure elle se déconnecte et ne se reconnecte plus jamais. à sinric pro et je la ping plus.
j'ai regardé :

  1. elle est bien alimenté le relais est bien allumé.
  2. Mon wifi est mon répéteur wifi fonctionne et je lais ping.(car oui j'utilise un répéteur wifi pour l'arduino)

J'ai essayer plus rechercher sur internet mais impossible de trouver une solution.
J'utilise un relais en normalement ouvert.
Est ce que le problème vient de mon code pouvez vous m'aider s'il vous plaît. Merci cordialement,
Axel,

#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <SinricPro.h>
#include <SinricProSwitch.h>


// CONFIGURATION WIFI 
const char* WIFI_SSID = "XXXX";
const char* WIFI_PASS = "XXXXX";

// CONFIGURATION SINRIC PRO
#define APP_KEY "XXXXXXXXX"
#define APP_SECRET "XXXXXXX"
#define DEVICE_ID "XXXXXXX"


// PIN RELAIS 
#define RELAY_PIN D5           

// TEMPS IMPULSION 
#define PULSE_DURATION 1000   

// FONCTION POUR CONNEXION WIFI 
void connectToWiFi() {
  Serial.print("Connexion au WiFi...");
  WiFi.begin(WIFI_SSID, WIFI_PASS);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("Connecté au WiFi !");
  Serial.print("IP locale : ");
  Serial.println(WiFi.localIP());
}

// CALLBACK SINRIC PRO 
bool onPowerState(const String &deviceId, bool &state) {
  if (deviceId == DEVICE_ID && state == true) {
    Serial.println("Commande reçue depuis Sinric Pro : ACTIVATION relais");
    digitalWrite(RELAY_PIN, HIGH); // Active le relais (NO)
    delay(PULSE_DURATION);         // Impulsion
    digitalWrite(RELAY_PIN, LOW);  // Désactive le relais
  }
  return true;
}

// SETUP 
void setup() {
  Serial.begin(115200);

  pinMode(RELAY_PIN, OUTPUT);
  digitalWrite(RELAY_PIN, LOW);

  connectToWiFi();

  SinricProSwitch &mySwitch = SinricPro[DEVICE_ID];
  mySwitch.onPowerState(onPowerState);

  SinricPro.begin(APP_KEY, APP_SECRET);
  SinricPro.restoreDeviceStates(false);
}

// LOOP 
void loop() {
  if (WiFi.status() != WL_CONNECTED) {
    connectToWiFi(); 
  }

  SinricPro.handle();
}

Bonjour axel_prog13

Peut-être poser ta question à l'IA?
Il y a des pistes.
Un autre son de cloche.

Cordialement
jpbbricole

Tu veux dire qu'elle ne se reconnecte pas d'elle même ou qu'elle ne peut plus se reconnecter.

Si connectToWiFi() est bien appelée tu pourrais faire afficher la valeur retournée par WiFi.status()
Pour décoder le status, les valeurs possibles se trouvent dans un enum dans le fichier.arduino15/packages/esp8266/hardware/esp8266/3.1.2/cores/esp8266/wl_definitions.h

Enfaite si elle se reconnecte toutes seules mais au bout d' envrion 8h est defois mêmes ca mets 1 jours avant qu'elle se reconnecte.

donc, je regarde le statuts du wifi dans le fichiers que tu m'a indiquer et après je dois faire autre chose ?

Merci beaucoup en tout cas de prendre du temps pour m'aider.

j'ai déjà essayé au moins 7 ou 8 fois avec IA. Mais, malheureusement sans succès la carte se déconnecte sans raison et se reconnecte toutes seules. au bout d'une longue période.

j'ai essayer de faire un script python pour ping mon répéteurs wifi, ma box et ma carte.

quand la carte se déconnecté les 2 autres son bien opérationnel.

Bonjour,

auriez vous une solution pour moi. S'il vous plait je dois regarder quoi exactement ?
je ne trouve pas le fichier que vous m'aviez dis.

Merci par avance