Bonjour, cela fait plus d'une semaine, j'ai un problème avec mon projet Arduino. J'ai brancher mon relais puis, tester la LED elle s'allume/ s'éteint 1secondes par secondes pour tester le relais ça fonctionne. Ma carte Arduino est bien alimenter. J'utilise le site web Sinric pro pour piloter mon relais. Maintenant je vois mon switch en ligne sur l'application mais il ne change pas d'état sur la carte Arduino. j'ai aussi vérifier plusieurs fois l'identifiant app key et secret pour Sinric pro ainsi que mon wifi. Auriez vous une solution pour m'aider s'ils vous plait merci.
Voici mon code :
#include <Arduino.h>
#if defined(ESP8266)
#include <ESP8266WiFi.h>
#elif defined(ESP32) || defined(ARDUINO_ARCH_RP2040)
#include <WiFi.h>
#endif
#include "SinricPro.h"
#include "SinricProSwitch.h"
#define WIFI_SSID "xxxx" // Change WIFI_SSID to your WiFi Name.
#define WIFI_PASS "xxx" // Change WIFI_PASS to your WiFi password.
#define APP_KEY "xxxx" // Paste App Key from above
#define APP_SECRET "xxxx" // Paste App Secret from above
#define SWITCH_ID_1 "xxxx" // Paste Device Id from above
#if defined(ESP8266)
#define RELAYPIN_1 3
#endif
#define BAUD_RATE 57600 // Change baudrate to your need
bool onPowerState1(const String &deviceId, bool &state) {
Serial.printf("Device 1 turned %s", state?"on":"off");
digitalWrite(RELAYPIN_1, state ? HIGH:LOW);
/* If your relay is activated with low signal, change the above to below code
digitalWrite(RELAYPIN_1, state ? LOW : HIGH); */
return true; // request handled properly
}
// setup function for WiFi connection
void setupWiFi() {
Serial.printf("\r\n[Wifi]: Connecting");
#if defined(ESP8266)
WiFi.setSleepMode(WIFI_NONE_SLEEP);
WiFi.setAutoReconnect(true);
#elif defined(ESP32)
WiFi.setSleep(false);
WiFi.setAutoReconnect(true);
#endif
WiFi.begin(WIFI_SSID, WIFI_PASS);
while (WiFi.status() != WL_CONNECTED) {
Serial.printf(".");
delay(250);
}
Serial.printf("connected!\r\n[WiFi]: IP-Address is %s\r\n", WiFi.localIP().toString().c_str());
}
// setup function for SinricPro
void setupSinricPro() {
// add devices and callbacks to SinricPro
pinMode(RELAYPIN_1, OUTPUT);
SinricProSwitch& mySwitch1 = SinricPro[SWITCH_ID_1];
mySwitch1.onPowerState(onPowerState1);
// setup SinricPro
SinricPro.onConnected([](){ Serial.printf("Connected to SinricPro\r\n"); });
SinricPro.onDisconnected([](){ Serial.printf("Disconnected from SinricPro\r\n"); });
SinricPro.begin(APP_KEY, APP_SECRET);
}
// main setup function
void setup() {
Serial.begin(BAUD_RATE); Serial.printf("\r\n\r\n");
setupWiFi();
setupSinricPro();
}
void loop() {
SinricPro.handle();
}