Can i collect data from ESSL F-12 reader to esp8266

I want to use ESSL F_12 to collect rfid data and fingerprint .It is one the readers i found in my office it showed communication using RS484 protocol .Is there any way to retrieve the data from it . I tried to collect data using weigand which has same wire as this .But i couldn't fetch any data . Tried to fetch data using software serial didnt get any result either .Asked chat gpt it given me code with commands .Its kind of confusing for do i need any external device to convert the data .Or can i do it with nodemcu the voltage getting from the reader is about 1.5v to 2.5v (485 communication Voltage ) .The device operates at 12v .So any one have any idea how to collect data from the essl F-12 reader

If You post a link to the datasheet of the device the odds for help would be better.

I ll given the link of the device i have .Unfortunately i couldn't find any datasheet of it.I have the device with me

Then wait and hope for somebody that has worked with that device.

This was on the website:
If you don't know or understand how this product is used and to get Great Discounts on the products on Amazon from Navkar Systems Please contact 9996635607, 9416135607

Have you contacted them?

This device commonly used for essl attendence devices .I earlier used essl weigand rfid reader which uses same wiring as this .But you can get the rfid data from it .I want to collect rfid and fingerprint data using this reader .Do you know how to collect the data from the device

No.

Okay

I ll try it with using and RS485 transceiver Module and provide the results

Ok i bought the MAX485 but i dont know how to use .I searched through web but didn't get any result by connecting the device as they instructed .I am not even getting any output from the module . I am using esp8266 to get data from ESSL F12 reader and modbus485 to convert RS485 data from the reader but iam not getting any results i share my connection details

#include <Arduino.h>

#define DE_RE_PIN D0 // Control pin for DE and RE
#define RX_PIN D2    // RX pin (RO from MAX485)
#define TX_PIN D1    // TX pin (DI from MAX485)

void setup() {
  Serial.begin(9600);  // Initialize Serial Monitor
  Serial1.begin(9600); // Initialize Serial1 for MAX485 (default baud rate, change if needed)
  
  pinMode(DE_RE_PIN, OUTPUT);
  digitalWrite(DE_RE_PIN, LOW); // Set to receive mode initially
}

void loop() {
  // Switch to transmit mode
  digitalWrite(DE_RE_PIN, HIGH);
  // You can send a command if needed; for now, we'll just switch back to receive
  delay(10);
  digitalWrite(DE_RE_PIN, LOW); // Set to receive mode

  // Check for available data
  if (Serial1.available()) {
    String receivedData = "";
    while (Serial1.available()) {
      char c = Serial1.read();
      receivedData += c;
    }
    Serial.println("Received Data: " + receivedData); // Print received data
  }

  delay(1000); // Adjust the delay as needed
}

For pins

NodeMCU            MAX485
-----------------------------
D1  (DI)  ------> DI
D2  (RO)  ------> RO
D0  (DE/RE) ---> DE/RE
3.3V  ---------> VCC
GND   ----------> GND
A     ----------> A (from ESSLF12)
B     ----------> B (from ESSLF12)

Is this fingerprint connected to a working environment? Try sniffing the traffic and understanding how it works ( not easy ).
It is not connected to a working environment? You can try a modbus scanner to see what registers are present and no more, you won't be able to use it.
You need to ask the manufacturer the 'programming manual'.

Was now i have the whole module

I'll see what can i do

I tried with this code and the i am receving some output but is not in readable format

#define MAX485_DE_RE D3 // Control pin for MAX485

// Half-second wait for a reply
const uint32_t TIMEOUT = 1000; // Increased timeout for response

// Canned message to your RS485 device
uint8_t msg[] = {0x01, 0x03, 0x00, 0x00, 0x00, 0x03, 0x05, 0xCB};

void setup() {
  Serial.begin(57600);       // Initialize Serial for RS485 communication
  pinMode(MAX485_DE_RE, OUTPUT);
  digitalWrite(MAX485_DE_RE, LOW); // Set to receive mode
  delay(1000);
}

void loop() {
  Serial.print("TX: ");
  printHexMessage(msg, sizeof(msg));

  // Send the command
  digitalWrite(MAX485_DE_RE, HIGH); // Set to transmit mode
  delay(10);
  Serial.write(msg, sizeof(msg)); // Use Serial for sending
  Serial.flush();
  digitalWrite(MAX485_DE_RE, LOW); // Set to receive mode
  
  // Added delay to ensure the device has time to respond
  delay(200); 

  Serial.print("RX: ");

  // Read any data received and print it out
  uint32_t startTime = millis();
  while (millis() - startTime <= TIMEOUT) {
    if (Serial.available()) {
      byte b = Serial.read();
      Serial.print("Byte: ");
      Serial.print(b, DEC);  // Print in decimal
      Serial.print(" Hex: ");
      Serial.print(b, HEX);   // Print in hex
      Serial.print(" Char: ");
      if (b >= 32 && b <= 126) {
        Serial.print((char)b); // Print the character if printable
      } else {
        Serial.print("."); // Indicate non-printable characters
      }
      Serial.println();
    }
  }
  Serial.println();
  delay(2000); // Delay before sending the next command
}

void printHexMessage(uint8_t values[], uint8_t sz) {
  for (uint8_t i = 0; i < sz; i++) {
    printHexByte(values[i]);
  }
  Serial.println();
}

void printHexByte(byte b) {
  Serial.print((b >> 4) & 0x0F, HEX); // Print high nibble
  Serial.print(b & 0x0F, HEX); // Print low nibble
  Serial.print(' ');
}

Output

˅���������������	 
�ޥ��������������	 
������������������	 
������������������	 
������������������	 
˥��������������	 
�

There is reset button in the f12 reader when i press it .It shows the output like this


NAND Secondary Program Loader

REG_EMC_DMCR = :819A090E


Load UCOS image from NAND into RAM

����������������	 
��Starting UCOS 800A0000
 ...

EXTAL_CLK = 12M 

PLL = 324000000 iclk = 324��TX: 01 03 00 00 00 03 05 CB 
�TX: 01 03 00 00 00 03 05 CB

Does this help .I dont have any device to connect the device to pc to use modbus scanner i dont know i can use max485 for that. I havent communicated with manufactures yet .I dont know they are willing to share the details .