#include <ESP8266WebServer.
h>
#include <ESP8266HTTPClient.h>
#include <SPI.h>
#include <MFRC522.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define buzzer D8
#define SS_PIN D4
#define RST_PIN D3
MFRC522 mfrc522(SS_PIN, RST_PIN);
#define ON_Board_LED 2
const char* ssid = "PLDTWIFI2.4g";
const char* password = "Pldtwifi_garciano13";
ESP8266WebServer server(80);
int readsuccess;
byte readcard[4];
char str[32] = "";
String StrUID;
void setup()
{
[Link](D2, D1); //(SDA, SCL)
[Link]();
[Link]();
[Link](115200);
[Link] //--> Init SPI bus
mfrc522.PCD_Init();
delay(500);
[Link](ssid, password);
[Link]("");
pinMode(buzzer, OUTPUT);
pinMode(ON_Board_LED, OUTPUT);
digitalWrite(ON_Board_LED, HIGH);
[Link]("Connecting");
while ([Link]() != WL_CONNECTED) {
[Link](".");
digitalWrite(ON_Board_LED, LOW);
delay(250);
digitalWrite(ON_Board_LED, HIGH);
delay(250);
}
digitalWrite(ON_Board_LED, HIGH);
[Link]("");
[Link]("Successfully connected to : ");
[Link](ssid);
[Link]("IP address: ");
[Link]([Link]());
[Link]("Please tag a card or keychain to see the UID !");
[Link]("");
}
void loop()
{
[Link](0,0);
[Link](" WELCOME "); // Welcome Note
[Link](0,1);
[Link]("PROCEED TO SCAN ");
readsuccess = getid();
[Link](0,0);
if (readsuccess) {
[Link](0,0);
[Link](" ATTENDANCE "); // Attendance Recorded
[Link](0,1);
[Link](" RECORDED ");
digitalWrite(buzzer, HIGH); //buzzer
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
digitalWrite(ON_Board_LED, LOW);
HTTPClient http;
String UIDresultSend, postData;
UIDresultSend = StrUID;
postData = "UIDresult=" + UIDresultSend;
[Link]("[Link]
[Link]("Content-Type", "application/x-www-form-urlencoded");
int httpCode = [Link](postData);
String payload = [Link]();
[Link](UIDresultSend);
[Link](httpCode);
[Link](payload);
[Link]();
delay(1000);
digitalWrite(ON_Board_LED, HIGH);
}
}
int getid()
{
if (!mfrc522.PICC_IsNewCardPresent()) {
return 0;
}
if (!mfrc522.PICC_ReadCardSerial()) {
return 0;
}
[Link]("THE UID OF THE SCANNED CARD IS : ");
for (int i = 0; i < 4; i++) {
readcard[i] = [Link][i]; //storing the UID of the tag in 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';
}