Bonjour à tous,
je vous partage mon petit programme.
Attention il n'est pas encore fonctionnelle car je n'arrive pas à connecter la carte en wifi ..
#include <WiFi.h>
#include <HTTPClient.h>
#include <TFT_eSPI.h>
#include <ArduinoJson.h>
TFT_eSPI tft = TFT_eSPI(); // Créez une instance de l'écran
// Remplacez par vos informations de connexion Wi-Fi
const char* ssid = "x";
const char* password = "x";
void setup() {
Serial.begin(115200);
tft.init();
tft.setRotation(3); // Ajustez si nécessaire
tft.fillScreen(TFT_BLACK); // Fond noir
// Connexion Wi-Fi
WiFi.begin(ssid, password);
Serial.println("Connexion au Wi-Fi...");
// Ajout d'une temporisation pour observer l'écran
delay(2000);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("\nConnecté au Wi-Fi");
// Afficher la couleur du jour
displayTempoColor();
}
void loop() {
// Ne rien faire dans la boucle principale
}
void displayTempoColor() {
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin("http://worldtimeapi.org/api/timezone/Europe/Paris"); // Remplacez par l'URL réelle
int httpCode = http.GET();
Serial.print("Code HTTP : ");
Serial.println(httpCode);
if (httpCode > 0) {
String payload = http.getString();
Serial.println("Réponse de l'API : ");
Serial.println(payload);
// Déclaration d'un objet JSON
DynamicJsonDocument doc(1024);
DeserializationError error = deserializeJson(doc, payload);
if (error) {
Serial.print(F("Erreur de désérialisation : "));
Serial.println(error.f_str());
return;
}
// Exemple d'accès à la couleur dans le JSON
const char* color = doc["color"]; // Remplacez "color" par la clé appropriée
// Vérification de la couleur
if (strcmp(color, "bleu") == 0) {
tft.fillScreen(TFT_BLUE); // Bleu
displayDayName("Lundi");
} else if (strcmp(color, "rouge") == 0) {
tft.fillScreen(TFT_RED); // Rouge
displayDayName("Mercredi");
} else if (strcmp(color, "blanc") == 0) {
tft.fillScreen(TFT_WHITE); // Blanc
displayDayName("Mardi");
} else {
tft.fillScreen(TFT_BLACK);
displayDayName("Couleur inconnue");
}
} else {
Serial.print("Erreur de requête : ");
Serial.println(http.errorToString(httpCode).c_str());
}
http.end();
} else {
Serial.println("Pas de connexion Wi-Fi");
}
}
void displayDayName(const char* day) {
tft.setTextColor(TFT_BLACK);
tft.setTextSize(3);
tft.setCursor(10, 10);
tft.println(day);
}
je reçois comme message d'erreur : a fatal error occurred failted to connect to esp32
avez vous une idée ?