Bonjour tous le monde, j'ai écris le programme qui affiche l'ID du tag sur le moniteur série du mon IDE arduino, d'autre côté je veux connecter l'arduino à mon base de données Mysql (phpMyadmin) de tel sorte que l'ID du tag affiché sur le moniteur série sera automatiquement inséré dans mon tableau de ma base de donées.
il y a des trucs qui existent (je n'ai jamais essayé) - par exemple
sinon souvent on passe par HTTP et un service intermédiaire sur le serveur qui effectuera les requêtes en local (écrit en PHP ou Python ou autre)
peux-tu me donner le code arduino?
Il y a des exemples dans la bibliothèque
Je veux écrire le sketch qui lit l'ID du tag et l'envoi directement à la base de données. j'ai essayé plusieurs fois. pouvez-vous m'envoyer le code complet?
Non
Ce forum n'est pas un endroit où l'on vient demander aux autres de pondre du code pour eux. C'est un endroit où l'on se fait aider... Mais le code c'est à vous de l'écrire et de soumettre des questions précises si vous vous heurtez à un souci.
Je te dis que je fais plusieurs essais et je besoin d’un code prêt. Voici le code que j’écris
#include <WiFi.h>
#include <SPI.h>
#include <MFRC522.h>
#include <HTTPClient.h> // Inclure la bibliothèque pour envoyer des requêtes HTTP
// Remplacez par vos informations Wi-Fi
const char* ssid = "topnet"; // Le nom de votre réseau Wi-Fi
const char* password = ""; // Le mot de passe de votre réseau Wi-Fi
// URL du script PHP sur votre serveur pour insérer dans MySQL
const char* serverUrl = "http://192.168.1.**/rfid_insert.php"; // Remplacez avec l'URL de votre script PHP
// Pins de connexion pour le RC522
#define SS_PIN 5 // Pin de sélection du slave (chip select)
#define RST_PIN 0 // Pin de réinitialisation (reset)
// Objet ESP32_MFRC522 pour communiquer avec le capteur RC522
MFRC522 mfrc522(SS_PIN, RST_PIN);
MFRC522::MIFARE_Key key;
int readsuccess;
String c="";
byte readcard[4];
char str[32] = "";
String StrUID;
void setup() {
// Initialisation de la communication série
Serial.begin(115200);
// Connexion au Wi-Fi
WiFi.begin(ssid, password);
// Attente de la connexion
Serial.print("Connexion au réseau Wi-Fi");
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
// Afficher l'adresse IP obtenue
Serial.println();
Serial.println("Connecté au réseau Wi-Fi !");
Serial.print("Adresse IP : ");
Serial.println(WiFi.localIP());
// Initialisation du module RC522
SPI.begin(); // Démarrer la communication SPI
mfrc522.PCD_Init(); // Initialiser le capteur RC522
for (byte i = 0; i < 6; i++) {
key.keyByte[i] = 0xFF;
}
Serial.println(F("Ce code scanne les NUID MIFARE classiques."));
Serial.print(F("Utilisation de la clé suivante :"));
Serial.println("Prêt à lire les cartes RFID");
}
void loop() {
readsuccess = getid();
// Vérifiez si une nouvelle carte RFID a été lue
if(readsuccess != 0){
Serial.println(readsuccess);
for (int i = 0; i < 4; i++) {
c += String(readcard[i], HEX);
}
Serial.println(c);
// Envoi des données à l'API via HTTP
sendDataToServer(c);
}
c = "";
}
int getid() {
if(!mfrc522.PICC_IsNewCardPresent()) {
return 0;
}
if(!mfrc522.PICC_ReadCardSerial()) {
return 0;
}
Serial.print("L'UID DE LA CARTE SCANNÉE EST : ");
for(int i = 0; i < 4; i++) {
readcard[i] = mfrc522.uid.uidByte[i]; // Stocke l'UID de la carte dans readcard
array_to_string(readcard, 4, str);
StrUID = str;
}
mfrc522.PICC_HaltA();
return 1;
}
void array_to_string(byte array[], unsigned int len, char buffer[]) {
for (unsigned int i = 0; i < len; i++) {
byte nib1 = (array[i] >> 4) & 0x0F;
byte nib2 = (array[i] >> 0) & 0x0F;
buffer[i*2+0] = nib1 < 0xA ? '0' + nib1 : 'A' + nib1 - 0xA;
buffer[i*2+1] = nib2 < 0xA ? '0' + nib2 : 'A' + nib2 - 0xA;
}
buffer[len*2] = '\0';
}
// Fonction pour envoyer les données à l'API
void sendDataToServer(String uid) {
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
// Construire l'URL complète pour la requête POST
String postData = "uid=" + uid; // Paramètre pour l'UID
// Démarrer la requête HTTP
http.begin(serverUrl);
http.addHeader("Content-Type", "application/x-www-form-urlencoded"); // En-tête pour indiquer les données en POST
// Envoyer la requête POST avec l'UID
int httpResponseCode = http.POST(postData);
// Vérifier la réponse du serveur
if (httpResponseCode > 0) {
Serial.println("Données envoyées avec succès !");
Serial.println("Code de réponse HTTP : " + String(httpResponseCode));
} else {
Serial.println("Erreur lors de l'envoi des données");
Serial.println("Code de réponse HTTP : " + String(httpResponseCode));
}
// Terminer la requête HTTP
http.end();
} else {
Serial.println("Erreur de connexion Wi-Fi");
}
}`Texte préformaté`
Merci d'éditer votre post en utilisant le
dans la barre d'outil juste sous votre post et rajoutez les balises de de code (c'est difficilement lisible tel quel) :
- sélectionner la partie du texte qui correspond au code
- appuyez sur l'icône
<code/>dans la barre d'outils pour indiquer que c'est du code
(Assurez vous aussi d'indenter le code correctement dans l'IDE avant de le copier pour le coller ici. Cela se fait en pressant ctrlT sur PC ou cmdT sur un Mac)
il serait bon de (re)lire les recommandations listées dans "Les bonnes pratiques du Forum Francophone”
C’est bon
Merci
C’est un code que vous avez trouvé sur internet je suppose
Vous comprenez ce que ça fait ?
Et vous avez quoi comme code PHP
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.