Fingerprint question

For other supported Arduino products from Adafruit: Shields, accessories, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
giusti
 
Posts: 8
Joined: Sun Sep 16, 2012 10:33 am

Fingerprint question

Post by giusti »

Hi,
I know that the fingerprint sensor store the fingerprint id in its own database ( enroll sketch ), I was wondering if it's possible for the fingerprint sensor to generate an unique ID without enrolling them.
Pls I need ur help asap
Thanks all

User avatar
adafruit_support_bill
 
Posts: 88037
Joined: Sat Feb 07, 2009 10:11 am

Re: Fingerprint question

Post by adafruit_support_bill »

No. The only ID is the one you assign it when you enroll the print.

giusti
 
Posts: 8
Joined: Sun Sep 16, 2012 10:33 am

Re: Fingerprint question

Post by giusti »

how can I catch the fingerprints' image?
(as it happens in windows' demo app)

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: Fingerprint question

Post by adafruit_support_rick »

The adafruit library does not support retrieving the image. Offhand, I'm not sure what the image size is, but it is sure to be much too large to fit into the 2K of RAM on a Uno. If you want to figure out how to try and pass the image through to some other device, all I can offer you is the datasheet (in Chinese).

ianna
 
Posts: 4
Joined: Fri Sep 28, 2012 10:45 am

Re: Fingerprint question

Post by ianna »

Hi, I apologize for my bad English.
I have a question on the device fingerprints:
I want to completely erase the data stored within the fingerprints through Arduino, how do I?
thank you very much

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: Fingerprint question

Post by adafruit_support_rick »

The adafruit library does not support clearing the fingerprint data. You would have to refer to the Chinese-language datasheet for information on how to command the unit to do this.

ianna
 
Posts: 4
Joined: Fri Sep 28, 2012 10:45 am

Re: Fingerprint question

Post by ianna »

I found the string to send to the device to erase the footprints dl device, now I understand how to send the data from arduino to the fingerprint, can you help me?
I have identified the data packet to be sent as they convert it into useful language for Arduino?
(2 bytes) (4 bytes) (1 bytes) (2 bytes) (1 bytes) (2 bytes) (2 bytes) (2 bytes)
0xef01 XXXX 0x0007 0x01 0x0c pageid N Sum

shows all on page 23 of the datasheet

User avatar
adafruit_support_bill
 
Posts: 88037
Joined: Sat Feb 07, 2009 10:11 am

Re: Fingerprint question

Post by adafruit_support_bill »

You can send bytes using Serial.write(). For example:

Code: Select all

// Write the first two bytes:
Serial.write(0xef);
Serial.write(0x01);
You need to find out what actual numeric values to send for the next 4 bytes "XXXX" as well as "PageID" and "N".

giusti
 
Posts: 8
Joined: Sun Sep 16, 2012 10:33 am

Re: Fingerprint question

Post by giusti »

we need this datasheet in English... :?

ianna
 
Posts: 4
Joined: Fri Sep 28, 2012 10:45 am

Re: Fingerprint question

Post by ianna »

thanks for the help but it does not work, as you would do to delete all fingerprints stored in the fingerprints? basically reset the device memory. :?

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: Fingerprint question

Post by adafruit_support_rick »

I'm sorry, I don't read Chinese. But I'm going to guess that the command you want is "Empty" on page 18. Again, I'm just guessing, but it looks like there are two versions of the command - one to delete a single print and one to delete all of them.

ianna
 
Posts: 4
Joined: Fri Sep 28, 2012 10:45 am

Re: Fingerprint question

Post by ianna »

here is the solution if it can help someone:

Code: Select all

#include <SoftwareSerial.h>                            //Include the NewSoftSerial library to send serial commands to the cellular module.
#include <string.h>  
SoftwareSerial  FPM10A(2,3);                           //Create a 'fake' serial port. Pin 2 is the Rx verde  pin, pin 3 is the Tx bianco pin.
/*----------external commands----------*/
char receive_command[20]={};
char VfyPwd[10]="VfyPwd ";                             //Verify password
char GenImg[10]="GenImg ";                             //Record fingerprint image
char UpImg[10]="UpImg ";                               //Upload image
char DownImg[10]="DownImg ";                           //Download image
char Img1Tz[10]="Img1Tz ";                             //Geneated features saved to CharBuffer1
char Img2Tz[10]="Img2Tz ";                             //Generated features saved to CharBuffer2
char RegMode1[10]="RegMode1 ";                         //Template of geature combiation
char UpChar[10]="UpChar ";                             //Upload featues or template
char DownChar[10]="DownChar ";                         //Download features or template
char Store[10]="Store ";                               //store template 
char LoadChar[10]="LoadChar ";                         //Read template
char DeletChar[11]="DeletChar ";                       //delete template
char Empty[10]="Empty ";                               //clean out fingerprint library 


char cnt;
unsigned int Templete_Num;
unsigned int ACK_Sum;

volatile unsigned char UART1_FINGERPRINT_RECEVICE_BUFFER[24];
unsigned char receive_ACK[24];

/*----------FINGERPRINT protocol definition -----------*/

                                                    
unsigned char FP_Delet_All_Model[6]={0x01,0x0,0x03,0x0d,0x00,0x11};                                                 
                          //delete specified template 

/*----------inilization-----------*/
void setup()
{
 
  Serial.begin(9600); // open serial port, and set the baud rate to 9600 bps
  FPM10A.begin(57600);
}
/*----------main loop-----------*/
void loop()
{

 Empty_Finger();
}



void FINGERPRINT_Cmd_Delete_All_Model(void)
{
     
     unsigned char b;    

    for(b=0;b<6;b++) 
      FPM10A.write(FP_Pack_Head[b]);   

    for(b=0;b<6;b++) 
      FPM10A.write(FP_Delet_All_Model[b]);   
}

void Empty_Finger(void)
{

        
        FINGERPRINT_Cmd_Delete_All_Model();                                         
        
        
        
        for(unsigned char b=0;b<12;b++)                                           
                                        {
                                           receive_ACK[b]= FPM10A.read();
                                        }
        if(receive_ACK[9]==0x00)
        {
           Serial.println("Empty_OK");
        }
        else
        {
           Serial.println("Empty_ERROReee");
           Serial.println(receive_ACK[9]);
        }
        delay(1000);
}
Last edited by adafruit_support_rick on Wed Oct 24, 2012 10:43 am, edited 1 time in total.
Reason: please use Code tags when posting code

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: Fingerprint question

Post by adafruit_support_rick »

@ianna -
You got it working! Congratulations! :D

User avatar
adafruit_support_rick
 
Posts: 35092
Joined: Tue Mar 15, 2011 11:42 am

Re: Fingerprint question

Post by adafruit_support_rick »

Update:

I took the liberty of saving an automatic Google translation of the chinese datasheet to a pdf. It's available on github in the documentation folder of the Adafruit Fingerprint Sensor Library.

Rickers
 
Posts: 2
Joined: Mon Apr 08, 2013 7:54 pm

Re: Fingerprint question

Post by Rickers »

Hi, im trying delete all IDs recorded in my FingerPrint, i use the code written by Ianna but when i compile the code it is indicates an error:

enroll.pde: In function 'void FINGERPRINT_Cmd_Delete_All_Model()':
enroll:56: error: 'FP_Pack_Head' was not declared in this scope

someone can help solve this problem ???

Thanks

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Arduino products from Adafruit”