Boss lady
Boss lady
DIIDevHeads IoT Integration Server
Created by Boss lady on 10/3/2024 in #iot-cloud
How Do I Fix Imaging and Packet Errors When Enrolling Fingerprints on Sensor?
Based on my previous question, How do I enroll fingerprints into the sensor and store them for future comparison? cause am getting an imaging error and error receiving packets when running my code
uint8_t enrollFingerprint(uint8_t id) {
int p = -1;
Serial.print("Waiting for finger to enroll...");
while (p != FINGERPRINT_OK) {
p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
Serial.print(".");
break;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Error receiving packet");
break;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
return p;
default:
Serial.println("Unknown error");
return p;
}
}

// Convert and store the image template
p = finger.image2Tz(1);
if (p != FINGERPRINT_OK) return p;

p = finger.storeModel(id);
if (p == FINGERPRINT_OK)
Serial.println("Fingerprint enrolled!");
else
Serial.println("Failed to store fingerprint.");

return p;
}

void setup() {
Serial.begin(115200);
mySerial.begin(57600, SERIAL_8N1, 16, 17);
finger.begin(57600);

if (finger.verifyPassword()) {
Serial.println("Sensor initialized.");
enrollFingerprint(1); // Enroll the first fingerprint
}
}
uint8_t enrollFingerprint(uint8_t id) {
int p = -1;
Serial.print("Waiting for finger to enroll...");
while (p != FINGERPRINT_OK) {
p = finger.getImage();
switch (p) {
case FINGERPRINT_OK:
Serial.println("Image taken");
break;
case FINGERPRINT_NOFINGER:
Serial.print(".");
break;
case FINGERPRINT_PACKETRECIEVEERR:
Serial.println("Error receiving packet");
break;
case FINGERPRINT_IMAGEFAIL:
Serial.println("Imaging error");
return p;
default:
Serial.println("Unknown error");
return p;
}
}

// Convert and store the image template
p = finger.image2Tz(1);
if (p != FINGERPRINT_OK) return p;

p = finger.storeModel(id);
if (p == FINGERPRINT_OK)
Serial.println("Fingerprint enrolled!");
else
Serial.println("Failed to store fingerprint.");

return p;
}

void setup() {
Serial.begin(115200);
mySerial.begin(57600, SERIAL_8N1, 16, 17);
finger.begin(57600);

if (finger.verifyPassword()) {
Serial.println("Sensor initialized.");
enrollFingerprint(1); // Enroll the first fingerprint
}
}
4 replies