#include <SPI.h>
#include <MFRC522.h>
#include <WiFi.h>
#include <HTTPClient.h>
#include <ArduinoJson.h>
#define SS_PIN 5 // Broche pour la sélection du lecteur RFID
#define RST_PIN 21 // Broche de réinitialisation du lecteur RFID
#define ledverte 4
MFRC522 rfid(SS_PIN, RST_PIN); // Initialisation du lecteur RFID
const char* ssid = "Donne ta vie à Jésus !";
const char* password = "Remercie le Seigneur.";
const char* serverAddress = "10.55.2.228";
const int serverPort = 80;
void setup() {
Serial.begin(115200);
SPI.begin();
rfid.PCD_Init();
pinMode(4, OUTPUT);
digitalWrite(4, LOW);
Serial.print("Tentative de connexion au WiFi...");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connexion au WiFi en cours...");
}
Serial.println("Connecté au WiFi !");
}
void loop() {
if (WiFi.status() == WL_CONNECTED) {
if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) {
String content = "";
for (byte i = 0; i < rfid.uid.size; i++) {
content.concat(String(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(rfid.uid.uidByte[i], HEX));
}
content.toUpperCase();
Serial.println("Badge détecté: " + content);
String responseBool = envoyerID(content);
Serial.println("Réponse du serveur: " + responseBool);
if(responseBool){
Serial.println("Badge dans la base de donnee " + content);
}
delay(1000);
}
} else {
Serial.println("Connexion WiFi perdue. Reconnexion en cours...");
WiFi.begin(ssid, password);
delay(5000);
}
}
String envoyerID(String id) {
HTTPClient http;
// Construction de l'URL avec l'ID
String url = "http://" + String(serverAddress) + "/script_2.php?id=" + id;
// Envoi de la requête HTTP GET
int httpResponseCode = http.begin(url);
if (httpResponseCode > 0) {
String response = http.getString();
http.end();
//return response;
return "hhhh";
} else {
Serial.print("Échec de la requête HTTP, code d'erreur : ");
Serial.println(httpResponseCode);
http.end();
return "";
}
}