[Programmation] Rfid et esp8266
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Rfid et esp8266



  1. #1
    invitec54b6ea5

    Rfid et esp8266


    ------

    Bonjour, mon objectif est d'avoir un code qui permet de récupérer l'UID d'un TAG passif RFID et le mettre sur une page web grâce à un ESP8266. J'ai déjà le code qui permet de récupérer l'UID et celui qui permet de créer un Access point. Cependant je n'arrive pas à faire un mixe des deux codes qui me permettrait d'atteindre mon objectif.

    -----

  2. #2
    micka_ch

    Re : Rfid et esp8266

    Bonjour,

    Le serveur web est sur l'arduino ? Serveur WEB

    Salutations

  3. #3
    invitec54b6ea5

    Re : Rfid et esp8266

    Oui c'est cela et il me faut que j'affiche sur une page HTML l'UID d'un Tag passif qui fonctionne avec un RC522

  4. #4
    micka_ch

    Re : Rfid et esp8266

    Je n'ai jamais cela avec Arduino mais je pense qu'un bon départ serait le code source.

  5. A voir en vidéo sur Futura
  6. #5
    invitec54b6ea5

    Re : Rfid et esp8266

    En faite ce n'est pas un web serveur que je faire dans le sens où je ne veux pas interagir avec mon ESP8266, je veux uniquement qu'il puisse me envoyer l'UID d'un TAG sur une page HTML

  7. #6
    invitec54b6ea5

    Re : Rfid et esp8266

    Voici mon code :

    Code:
    #include <ESP8266WiFi.h>
    #include <SPI.h>
    #include "MFRC522.h"
    
    /* wiring the MFRC522 to ESP8266 (ESP-12)
    RST     = GPIO0
    SDA(SS) = GPIO2 
    MOSI    = GPIO13
    MISO    = GPIO12
    SCK     = GPIO14
    GND     = GND
    3.3V    = 3.3V
    */
    
    #define RST_PIN  0  // RST-PIN für RC522 - RFID - SPI - Modul GPIO0 
    #define SS_PIN  2  // SDA-PIN für RC522 - RFID - SPI - Modul GPIO2
    
    const char *ssid =  "ESP8266";     // change according to your Network - cannot be longer than 32 characters!
    const char *pass =  ""; // change according to your Network
    
    MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
    
    void setup() {
      Serial.begin(115200);    // Initialize serial communications
      delay(250);
      Serial.println(F("Booting...."));
      
      SPI.begin();           // Init SPI bus
      mfrc522.PCD_Init();    // Init MFRC522
      
      WiFi.begin(ssid, pass);
      
      int retries = 0;
      while ((WiFi.status() != WL_CONNECTED) && (retries < 10)) {
        retries++;
        delay(500);
        Serial.print(".");
      }
      if (WiFi.status() == WL_CONNECTED) {
        Serial.println(F("WiFi connected"));
      }
      
      Serial.println(F("Ready!"));
      Serial.println(F("======================================================")); 
      Serial.println(F("Scan for Card and print UID:"));
    }
    
    void loop() { 
      // Look for new cards
      if ( ! mfrc522.PICC_IsNewCardPresent()) {
        delay(50);
        return;
      }
      // Select one of the cards
      if ( ! mfrc522.PICC_ReadCardSerial()) {
        delay(50);
        return;
      }
      // Show some details of the PICC (that is: the tag/card)
      Serial.print(F("Card UID:"));
      dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
      Serial.println();
    }
    
    // Helper routine to dump a byte array as hex values to Serial
    void dump_byte_array(byte *buffer, byte bufferSize) {
      for (byte i = 0; i < bufferSize; i++) {
        Serial.print(buffer[i] < 0x10 ? " 0" : " ");
        Serial.print(buffer[i], HEX);
      }
    }
    Dernière modification par Antoane ; 05/05/2018 à 14h59. Motif: Ajout des balises code

  8. #7
    invitec54b6ea5

    Re : Rfid et esp8266

    J'aimerais obtenir le résultat illustrer dans cette vidéo :

  9. #8
    micka_ch

    Re : Rfid et esp8266

    Bonjour,

    Essayez déjà de suivre un tuto, genre celui-ci : esp8266-web-server

    Si vous arrivé déjà a acceder a la page web c'est un bon début.

    Salutations

  10. #9
    invitec54b6ea5

    Re : Rfid et esp8266

    Merci j'ai déjà réussi à suivre ce tuto mais je cherche un moyen de mélanger ce tuto avec mon code affiché précédemment

  11. #10
    invitec54b6ea5

    Re : Rfid et esp8266

    J'ai modifié mon code tout semble fonctionner cependant je cherche à envoyer mon UID sur une page HTML, mais je suis bloqué avec la commande "server.send", dans mon cas elle ne peut envoyer que du texte.

    Code:
    #include <ESP8266WiFi.h>
    #include <WiFiClient.h>
    #include <ESP8266WebServer.h>
    
    #include <MFRC522.h>
    
    #define RST_PIN  0 // RST-PIN for RC522 - RFID - SPI - Modul GPIO5 
    #define SS_PIN  2 // SDA-PIN for RC522 - RFID - SPI - Modul GPIO4 
    
    MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
    
    //SSID and Password to your ESP Access Point
    const char* ssid = "MySSID_ESP8266";
    const char* password = "123456789";
    
    ESP8266WebServer server(80); //Server on port 80
    
    //==============================================================
    //     This rutine is exicuted when you open its IP in browser
    //==============================================================
    
    void handleRoot() 
    {
      server.send(200, "text/plain", "Hello World");
    }
    
    
    
    
    
    
    
    
                     //=============================================
    void setup(void) //                   SETUP 
                     //=============================================
    
    {
    
    //===============================================================
    //                   SETUP ACCES POINT
    //===============================================================
      Serial.begin(115200);    // Initialize serial communications (Serial.begin(9600));
      Serial.println("");
      WiFi.mode(WIFI_AP);           //Only Access point
      WiFi.softAP(ssid, password);  //Start HOTspot removing password will disable security
    
      IPAddress myIP = WiFi.softAPIP(); //Get IP address
      Serial.print("HotSpt IP:");
      Serial.println(myIP);
     
      server.on("/", handleRoot);      //Which routine to handle at root location
    
      server.begin();                  //Start server
      Serial.println("HTTP server started");
    
      
    //===============================================================
    //                   SETUP MFRC522
    //===============================================================
     //Serial.begin(115200);
      SPI.begin();             // Init SPI bus
      mfrc522.PCD_Init();      // Init MFRC522
     
    }
    
    
    
    
    
    
                    //===============================================
    void loop(void) //                      LOOP
                    //===============================================
    
                    
    { 
    
    //===============================================================
    //                     LOOP ACCES POINT 
    //===============================================================
    
       server.handleClient();//Handle client requests
    
    
    //==============================================================
    //                     LOOP MFRC522
    //==============================================================
    
    // Look for new cards
        if ( ! mfrc522.PICC_IsNewCardPresent()) 
            {
              delay(50);
              return;
            }
      // Select one of the cards
        if ( ! mfrc522.PICC_ReadCardSerial()) 
            {
              delay(50);
              return;
            }
      // Show some details of the PICC (that is: the tag/card)
      Serial.print(F("Card UID:"));
      dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size);
      Serial.println();
    }
    
    // Helper routine to dump a byte array as hex values to Serial
    void dump_byte_array(byte *buffer, byte bufferSize) 
      {
        for (byte i = 0; i < bufferSize; i++) 
            {
              Serial.print(buffer[i] < 0x10 ? " 0" : " ");
              Serial.print(buffer[i], HEX);
            }
       }

  12. #11
    micka_ch

    Re : Rfid et esp8266

    Bonjour,

    elle ne peut envoyer que du texte
    Et si tu convertissait ton UID en texte ? Avec un sprintf ou itoa, par contre je ne sais pas si ces fonctions sont implémenter dans arduino.

    Salutations

Discussions similaires

  1. [Programmation] arduino+ESP8266
    Par invite58f73815 dans le forum Électronique
    Réponses: 1
    Dernier message: 24/05/2017, 23h03
  2. [Programmation] Caractère étrange ESP8266 et Arduino Uno
    Par kilouxa dans le forum Électronique
    Réponses: 5
    Dernier message: 28/04/2016, 22h30
  3. [Programmation] Probème de communication ESP8266
    Par invite9c2a07ab dans le forum Électronique
    Réponses: 8
    Dernier message: 07/02/2016, 14h12
  4. Module wifi ESP8266 ne démarre plus
    Par boy30 dans le forum Électronique
    Réponses: 9
    Dernier message: 27/07/2015, 19h00
  5. [RFID] Cherche soft pour lecture carte RFID
    Par AG664 dans le forum Électronique
    Réponses: 4
    Dernier message: 07/05/2010, 18h26
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...