Merhabalar esp8266 ile kart okuyucu projem var ama text dosyasına kartın ID lerini düzgün bir şekilde yazmama rağmen kod reject yiyip serial monitörde "NOT AUTHORIZED " yazıyor. Kartların Idsi hiçbir şekilde okunmuyor. Dosyayı esp'ye upload ettim, xampp ile test.txt dosyasına local serverdan ulaşmaya çalıştım ama nafile. Reject olayını nasıl çözebilirim ?


#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <MFRC522.h>
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>

#define RST_PIN 20 // RST-PIN for RC522 - RFID - SPI - Module GPIO15
#define SS_PIN 2 // SDA-PIN for RC522 - RFID - SPI - Module GPIO2
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance

#define Relay 10
#define BlueLed 15
#define GreenLed 0
#define RedLed 3

//SSD1306 display(0x3c, 4, 5);

#define OLED_RESET D5
/* Object named display, of the class Adafruit_SSD1306 */
Adafruit_SSD1306 display(OLED_RESET);

#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif


//Wireless name and password
const char* ssid = "******"; // replace with you wireless network name
const char* password = "****"; //replace with you wireless network password

// Remote site information
String host = "****"; // IP address of your local server
String url = "/test.txt"; // folder location of the txt file with the RFID cards identificatio, p.e. "/test.txt" if on the root of the server

int time_buffer = 5000; // amount of time in miliseconds that the relay will remain open

void setup() {
pinMode(Relay, OUTPUT);
digitalWrite(Relay, 0);

//display.init();
//display.flipScreenVertically();
//display.setContrast(255);

display.begin(SSD1306_SWITCHCAPVCC, 0x3C); /* Initialize display with address 0x3C */

Serial.begin(115200); // Initialize serial communications
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522

// We start by connecting to a WiFi network

Serial.println("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
wifi_connected();
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
leds_off();
delay(3000);
}

void leds_off() {
analogWrite(BlueLed, 0); // turn the LED off
analogWrite(GreenLed, 0); // turn the LED off
analogWrite(RedLed, 0); // turn the LED off

//display.clear();
//display.display();

display.clearDisplay(); /* Clear display */
display.display();
}

void reject() {
// Align text vertical/horizontal center

//display.clear();
// display.setTextAlignment(TEXT_ALIGN_CENTER_BOTH);
// display.setFont(ArialMT_Plain_16);
// display.drawString(DISPLAY_WIDTH / 2, 10 + (DISPLAY_HEIGHT / 4), "NOT");
// display.drawString(DISPLAY_WIDTH / 2, 30 + (DISPLAY_HEIGHT / 4), "AUTHORIZED");
// display.display();


display.clearDisplay(); /* Clear display */
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.println("TEXT GOES HERE");
display.setCursor(0, 30);
display.println("TEXT GOES HERE");
display.setCursor(0, 30);
display.println("TEXT GOES HERE");
display.setCursor(0, 40);
display.println("TEXT GOES HERE");
display.display();

analogWrite(RedLed, 767); // turn the Red LED on
delay(2000);
leds_off();
}
void authorize() {
// Align text vertical/horizontal center
// display.clear();
// display.setTextAlignment(TEXT_ALIGN_CENTER_BOTH);
// display.setFont(ArialMT_Plain_16);
// display.drawString(DISPLAY_WIDTH / 2, DISPLAY_HEIGHT / 2, "AUTHORIZED");
// display.display();

display.clearDisplay(); /* Clear display */
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.println("AUTHORIZED");
display.setCursor(0, 30);
display.println("AUTHORIZED");
display.setCursor(0, 30);
display.println("AUTHORIZED");
display.setCursor(0, 40);
display.println("AUTHORIZED");
display.display();

analogWrite(GreenLed, 767); // turn the Green LED on
digitalWrite(Relay, 1);
delay(time_buffer); // wait for a second
digitalWrite(Relay, 0);
leds_off();
}

void wifi_connected () {
// Align text vertical/horizontal center
//display.clear();
// display.setTextAlignment(TEXT_ALIGN_CENTER_BOTH);
// display.setFont(ArialMT_Plain_16);
// display.drawString(DISPLAY_WIDTH / 2, 10 + (DISPLAY_HEIGHT / 4), "WI-FI");
// display.drawString(DISPLAY_WIDTH / 2, 20 + (DISPLAY_HEIGHT / 2), "CONNECTED");
// display.display();

display.clearDisplay(); /* Clear display */
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.println("WIFI CONNECTED");
display.setCursor(0, 30);
display.println("HOST: "+host);
display.setCursor(0, 30);
display.println("DOSYA: ");
display.setCursor(0, 40);
display.println(url);
display.display();
delay(3000);
}

void connection_failed() {
// Align text vertical/horizontal center
// display.clear();
// display.setTextAlignment(TEXT_ALIGN_CENTER_BOTH);
// display.setFont(ArialMT_Plain_16);
// display.drawString(DISPLAY_WIDTH / 2, 10 + (DISPLAY_HEIGHT / 4), "CONNECTION");
// display.drawString(DISPLAY_WIDTH / 2, 20 + (DISPLAY_HEIGHT / 2), "FAILED");
// display.display();

display.clearDisplay(); /* Clear display */
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0, 0);
display.println("FAILED");
display.setCursor(0, 30);
display.println("FAILED");
display.setCursor(0, 30);
display.println("FAILED");
display.setCursor(0, 40);
display.println("FAILED");
display.display();

delay(3000);
leds_off();
}

// 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);
}
}

void loop() {
int authorized_flag = 0;
// Look for new cards
if ( ! mfrc522.PICC_IsNewCardPresent()) {
delay(50);
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()) {
delay(50);
return;
}

////-------------------------------------------------RFID----------------------------------------------

// Shows the card ID on the serial console
String content = "";
for (byte i = 0; i < mfrc522.uid.size; i++)
{
content.concat(String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " "));
content.concat(String(mfrc522.uid.uidByte[i], HEX));
}
Serial.println();
content.toUpperCase();
Serial.println("Cart read:" + content);

////-------------------------------------------------SERVER----------------------------------------------

// Use WiFiClient class to create TCP connections
WiFiClient client;
const int httpPort = 80;
if (!client.connect(host, httpPort)) {
Serial.println("connection failed");
connection_failed();
return;
}

// This will send the request to the server
client.print(String("GET ") + url + " HTTP/1.1rn" + "Host: " + host + "rn" + "Connection: closernrn");

delay(10);

// Read all the lines of the reply from server and print them to Serial
String line;
while (client.available()) {
line = client.readStringUntil('n');

if (line == content) {
authorized_flag = 1;
}
}

if (authorized_flag == 1) {
Serial.println("AUTHORIZED");
authorize();
}
else {
Serial.println("NOT AUTHORIZED");
reject();
}
}