Code to connect RFID device to the NodeMCU

 #include <SPI.h>

#include <MFRC522.h>

#include <ESP8266WiFi.h>

#include <WiFiClient.h> 

#include <ESP8266WebServer.h>

#include <ESP8266HTTPClient.h>

constexpr uint8_t RST_PIN = D3;     // Configurable, see typical pin layout above

constexpr uint8_t SS_PIN = D4;     // Configurable, see typical pin layout above


MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class

MFRC522::MIFARE_Key key;


String tag;

void setup() {

 

  Serial.begin(115200);     //Serial connection


  pinMode(D8, OUTPUT);//buzzer pin d8 set

  SPI.begin(); // Init SPI bus

  rfid.PCD_Init(); // Init MFRC522

  WiFi.begin("iot", "12345678");   //WiFi connection

 

  while (WiFi.status() != WL_CONNECTED) {  //Wait for the WiFI connection completion

 

    delay(500);

    Serial.println("Waiting for connection");

 

  }

 

}

 

void loop() {

  


  if ( ! rfid.PICC_IsNewCardPresent())

    return;

  if (rfid.PICC_ReadCardSerial()) {


    for (byte i = 0; i < 4; i++) {

      tag += rfid.uid.uidByte[i];

    }

    Serial.println(tag);


    String mainlink = "http://192.168.43.151:8080/com.schoolsecurity/Student/Test.jsp?name=";

    String link = mainlink + tag;

   if (WiFi.status() == WL_CONNECTED) { //Check WiFi connection status

    

    HTTPClient http;    //Declare object of class HTTPClient

    

    http.begin(link);    //Specify request destination

    http.addHeader("Content-Type", "text/plain");  //Specify content-type header

    http.setTimeout(20000);

    int httpCode = http.POST("Message");   //Send the request

    String payload = http.getString();                  //Get the response payload

    payload.trim();

    if(httpCode > 0)

    {

         if(payload.equals("done"))

         {

          Serial.println("Access Granted!");

            digitalWrite(D8, HIGH);

            delay(100);

            digitalWrite(D8, LOW);

            delay(100);

            digitalWrite(D8, HIGH);

            delay(100);

            digitalWrite(D8, LOW);

            delay(100);

            digitalWrite(D8, HIGH);

            delay(100);

            digitalWrite(D8, LOW); 

          }

          else

          {

            Serial.println("Access Denied!");

            digitalWrite(D8, HIGH);

            delay(2000);

            digitalWrite(D8, LOW);

           }

            

    }

    else

    {

            Serial.print("Error code: ");

          Serial.println(httpCode);

    }

 

    http.end();  //Close connection

 

  } else {

 

    Serial.println("Error in WiFi connection");

 

  }

   mainlink = "";

  tag = "";

  link = "";

    rfid.PICC_HaltA();

    rfid.PCD_StopCrypto1();

    delay(1000);

  }

}

Post a Comment

Previous Post Next Post

Recent Posts