-
Notifications
You must be signed in to change notification settings - Fork 343
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Function to send templates from your controller to the sensor #36
Comments
This function worked for you? Did you find another solution? |
Yes, but I had to touch the fingerprint sensor packet size to adapt it to the datapackets I was sending |
@ricarduscat could you explain how to do that? |
@ricarduscat please explain the parameter you need to pass to this function. |
i am able to enroll ,search fingerprint but when i load show_fingperprint _template it is showing some "??" values in the serial monitor . even small help will be greatly appreciated . I am using this fingerprint with node_mcu esp 12e...i feel its something related to memory buffer !! |
what is "recvPacket"? the last packet, or what? |
Try using larger buffer for the software serial default is 64bytes |
@ricarduscat If possible can you please expand on this code ?(What are the parameters..etc). Is there any other way where I can load the templates from one sensor to other sensor. BTW I am using R307. |
i suggest you to read this post i have written on there, how to send template fingerprint to module fingerprint |
I want to download and store the template in my server datatabase, I am using NodeMCU and Php with mysql on server side. This function is not provided in the library. Can anybody please guide me on this? |
of course, i can help you. NodeMCU i think can use as Arduino, so it can be work with module fingerprint R307 or DY50 |
Can we connect through an email? I'll send in the required code for you to see. |
yes, you can see my profile to get my new phone number or email |
Sir, we have downloaded the fingerprint template data from the module r305
using the show_finger_template library. It gives us an array of size
512....we want to compare this stored array on server side. What exactly do
we need to do? We tried comparing the array byte by byte but it does not
give proper output. Can you guide us on how to match these templates sir.
Thank you.
…On Sat, 14 Mar 2020, 17:06 Hanif Izzudin Rahman, ***@***.***> wrote:
yes, you can see my profile to get my new phone number or email
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#36 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AOKPALFHY4UX5XM4EOMG553RHNT2FANCNFSM4EIRSJTA>
.
|
Hello adityadate1997, You need to store the template into your fingerprint sensor and compare it with the fingerprint that the sensor is receiving from the user. Probably, you will need to store templates from a database to the database of the sensor to check the fingerprint that your sensor has received and compare it with the fingerprints of the database. Good luck |
@rodrigotabsan Are you able to get the templates out from the sensor and store those templates into another sensor's flash memory? If so what sensor are you using ? |
@shreeramk1998 I didn't try that. I can't get the fingerprint template I have stored in an external database to match the one I put on the sensor. I'm not sure this can be done... I've been working on this for several months with no results. |
Hello
please guide me |
Do it with example code "Upload", so the template will move to another
module fingerprint
…On Fri, Apr 16, 2021 at 12:43 AM 6000850 ***@***.***> wrote:
Hello
This is the 3-finger pattern output stored in the module
I have saved these templates in the server database. Can I restore these
templates to another module (fingerprint) and be usable?
Attempting to load #1
Template 1 loaded
Attempting to get #1
Template 1 transferring:
534 bytes read.
Decoding packet...
FFFFFFFFFFFFFFFFFF09144BAE6B8A6845BEBE6E4D9D4272AA7B0C76BA77947A95EF9C7EB5E1A482ABC7D90DE993A30F54445703636883651396377E32A45E204D00EF0B091E0E7A7C98780A16A94E3047C3190CC0605F70DF82D390C61C921441F152FFBD1DDF57721022EA517970EE836D7086133DB05673935C1A141675D6504177F6000000003753EF01FFFFFFFF02008200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFD6EF01FFFFFFFF020082CB091455A6AB826425BE9E6E0D9D6272AA7B8C76BA77947A95EF9C7EB5E1A482ABC7590DEB973F378BC79A52D96E2F71B2907F7B42B8AD68EA6844BD85CE3C77C758AEEE5BA97F2ECAC12AD8CB7AFF74DDB03E1AA4F85C947949B472FE2C1F7F233F2D3C4A67EFCE93E63ECA302BB15A3516C04229C675D6C30F77F6000000004076EF01FFFFFFFF080082CB09144BAE6B8A6845BEBE6E4D9D4272AA7B0C76BA
done.
------------------------------------
Attempting to load #2
Template 2 loaded
Attempting to get #2
Template 2 transferring:
534 bytes read.
Decoding packet...
FFFFFFFFFFFFFFFFFF091852A1AA859405C6BE60CDAD0274AB5B0D74B937157556E72BC15598B7B4BA8439B2062970051716C200C3C9425E2D8D2AB7DFE33AD4A78F004DB69EA401FEF01FFFFFFFF020082DC95A39E80F4FAAE6BDCFEEE00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFAFEF01FFFFFFFF020082CB091B4FA26B826805B69E6E0D9D4272AA7B8C76BA77147A97EF1C7EB5E1A482ABC75909E9937B209045F75FF86F876003928D7C02A0445BA770BD45489EA73A5ED96F82C1797F80F8C38EEC44626FBC898E54BA20E0B59AAEC0722667BFB1E1B7DB3CC7D3EEFD5433683A26C94A6FCE05DA69D654287A3A06596BC785FCCBB74230EF01FFFFFFFF080082CB091852A1AA859405C6BE60CDAD0274AB5B0D74B9371578936F1D78B3E22584A7C95A11E7AB773FF847AE2C086D5A651390556E72BC1550EA68C44049DE07C1DB399AA64378E9D8CBC1DEC24E666D98B7B4BA8439FCF8
done.
Attempting to load #3
Template 3 loaded
Attempting to get #3
Template 3 transferring:
534 bytes read.
Decoding packet...
FFFFFFFFFFFFFFFFFF091A59BE4BFA6CC5A6FE6CCC8D8272A97B0D76B977157A93E5989C1802BC050F275855AF56A8FCBA692308EAB8C748CA430B384B17E3C87CF78BD7383E8629F68C2AE972222B5F230B8D5D634CCEFAEC69ADE5ABE1FFCFA41F0EF01FFFFFFFF0200825FFDFADD8565A01605E9A93E7318022FCED30C6F0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFF8EEF01FFFFFFFF020082CB09175EAE2BBA6C45B6FE6CCD9D0272A97B0D76B977157A93EF1D7EB3E12582AFC55801EF9B3303F344E23D536F7E10239C541372B0B7746940F56E68EE7D3586992A6E9B2AA9504344DF464A68B8E2DF8E118CAA9432BECC28F79A804E3D83C738B80B3AE8FC1790407E70BB216FC28A564332FB3945BA191BDA4B669A54DE3D14EF01FFFFFFFF080082CB091A59BE4BFA6CC5A6FE6CCC8D8272A97B0D76B977157A93EF1D7CB3E02580A7C15A01E78B0F1F79C48608736FF63B95989C1802BC050F275854038
done.
please guide me
Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#36 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALMXTE4WJMMNPT4HTXP26MDTI4QT5ANCNFSM4EIRSJTA>
.
|
I'd be really interested to find out how you did that. Could you please reach out to me or make what you learned public by any means? |
After reading all the datasheets I have found. Does someone knows if the template/signature of the fingerprint format follows some kind of standard such as ISO, ANSI,...? |
So, I read the datasheet, looks like this uses the DownImage function documented here on page 19. You can also upload an image to the sensor with UpImage (found on page 18.) The images themselves and the formatting used are documented on page 8 (under the title 4.1.1 Image Buffer) says that the captured images are 256x288 pixels in size.
What I think is needed is for the image to tz function Img2Tz page 19 again, after capturing / sending two images with that function it stores the first image in On page 21 it looks like you can straight up take the template model (they are now calling it characteristics) and "upload" that to the host computer. On page 21 again it has the DownChar function that allows you to download into the characestirics buffers and then you can save them into the flash memory with the store function call. I think the only functions you really need are the UpChar, DownChar and Store functions in order to sync a database across multiple devices and have it return the same position ID. If they became out of sync you can always delete the database and copy one fingerprint reader to another using the Empty function (documented on page 24). Edit: I call all of these functions, but really they are called "Instructions" in the document parlance. |
I was also in need of such functionalities (to read, save and write back template data to similar sensor models) and thus came up with an update to the existing library. @Dygear what you said is correct. I have a pull request pending about this. Please checkout my repository about this update. Also checkout the changes I've made. However, keep in mind that writing template data from one model to another won't serve the purpose as different sensor models might use different template matching algorithms. Hope I was able to help! |
Hi, I'm having trouble pasting the template. get.template gives me this 57,1,7E,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,F,0,2,0,83,0,0,30,C,F3,33,F3,CF,FF,FE,EF,FF,FB,FB,EE,EF,EA,AA,AA,A9,95,66,59,55,55,65,55,55,51,54,40,44,4,40,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,. and I paste it in write_to_sensor like this uint8_t fingerTemplate[512] = {3, 3, 58, 25, 14, 1, 57, 1, 7E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, F, 0, 2, 0, 83, 0, 0, 30, C, F3, 33, F3, CF, FF, FE, EF, FF, FB, FB, EE, EF, EA, AA, AA, A9, 95, 66, 59, 55, 55, 65, 55, 55, 51, 54, 40, 44, 4, 40, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3E, 8A, EC, DE, 4E, 8B, 57, 1E, 33, 9D, 52, BE, 58, 21, 3, 7E, 46, A3, 42, 9E, 24, A7, 50, 1E, 5B, AA, 46, 1E, 2E, 2C, 4F, 9E, 33, B9, 27, 3E, 33, C2, E, 7E, 3E, 8F, 0, FF, 6B, 14, 19, 5F, 51, 14, D7, 9F, 4D, A5, 17, FF, 21, B6, E5, 3F, 48, 37, 95, 1F, 67, BB, DD, BF, 25, 41, CE, 7F, 57, C2, C7, 9F, 40, C3, 9, BF, 4D, 43, 88, DF, 3B, 2B, 52, FA, 36, 2C, 69, 78, 26, C6, 4F, 1E, 38, 50, 4D, 3C, 3E, C6, D, DA, 2A, 50, A4, 18, 4A, D1, 7, 78, 3D, C9, 4D, 99, 42, C9, C9, B9, 5A, 4B, 8, B9, 42, CE, C, 39, .46, 51, 9, 99, 59, CD, 9F, F5, 59, CE, 8, 55, 2E, 50, 65, 95, 2E, D0, 8E, D5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 56, 17, 0, 1, 20, 1, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, F, 0, 2, 0, 77, 0, 0, 30, C, F3, 33, F3, CF, FF, FE, EF, FF, EF, BB, BA, AA, AA, AA, AA, 65, 55, 55, 95, 55, 55, 45, 51, 10, 44, 4, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; and it throws me the error exponent has no digits What can be? Thanks in advance :) |
These are actually hex values. You need to put '0x' before the hex values. Like this: 0xFE @Gitare420 check this repo again after 4hrs (busy with other stuffs) , I will update the get template example to show hex values with '0x'. |
Thanks for answering, it was easy to put the 0x using the replace tool of the notepad, I stay like this uint8_t fingerTemplate[512] = {0x3, 0x3, 0x59, 0x16, 0x0, 0x1, 0x20, 0x1, 0x7D, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x11, 0x0, 0x3, 0x0, 0x6D, 0x0, 0xC, 0x33, 0xCC, 0xFC, 0xCF, 0xFF, 0xFF, 0xFF, 0xBB, 0xEE, 0xFE, 0xEA, 0xEA, 0xAA, 0xA9, 0xA5, 0x56, 0x56, 0x55, 0x55, 0x45, 0x54, 0x45, 0x44, 0x44, 0x40, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x49, 0xA, 0xD8, 0x7E, 0x28, 0x13, 0x93, 0x5E, 0x52, 0x20, 0xC7, 0x1E, 0x22, 0xA1, 0x90, 0x3E, 0x25, 0x2E, 0x28, 0x1E, 0x25, 0x37, 0x4E, 0xBE, 0x48, 0x39, 0x47, 0xBE, 0x4D, 0x17, 0xC4, 0x7F, 0x5A, 0x32, 0xDE, 0xFF, 0x33, 0x43, 0x48, 0x1F, 0x3E, 0xC3, 0x48, 0xDF, 0x37, 0xB4, 0x9, 0xFC, 0x3C, 0x2C, 0xD6, 0x7D, 0x3E, 0x18, 0xC2, 0xDA, 0x30, 0x20, 0x12, 0xFA, 0x37, 0xAF, 0x8F, 0xDA, 0x34, 0xB8, 0x9, 0x1A, 0x2E, 0xBA, 0x4C, 0xBA, 0x2A, 0xBE, 0xE, 0x3A, 0x30, 0xBF, 0x9, 0x9A, 0x43, 0x19, 0xD9, 0x58, 0x2B, 0xA1, 0x69, 0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x3, 0x55, 0x14, 0x0, 0x1, 0x20, 0x1, 0x7F, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xF, 0x0, 0x1, 0x0, 0x6D, 0x0, 0xC, 0xC, 0x33, 0xCF, 0xCC, 0xFF, 0x3F, 0xEE, 0xFF, 0xEF, 0xEE, 0xEB, 0xAE, 0xBB, 0xA6, 0x99, 0x99, 0x95, 0x95, 0x56, 0x51, 0x55, 0x15, 0x11, 0x54, 0x41, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}; Then I used the write function and it uploaded without problems, but when using the fingerprint scheme to read it tells me "Image taken Did I do something wrong? |
@Gitare420 Did you use the same sensor for reading the template from and writing to back it? What is the model pf the sensor? Also what id you enrolled against? |
use the same model 071405 finger to read and write, with the id 1 |
@AsifKhan991 now I will try your example write_to_sensor and I will change the buffer size or all 512 to 768, you really saved my day .. you are really helpful genius guy thanks again and again. i was trying with the code for long time ago , eventually I start reading the datasheet, and I found that most of the capacitive fingerprint template size 768. |
@AsifKhan991 returns Storing error. I changed all 512 to 768. _void write_template_data_to_sensor() {int template_buf_size=768; //usually hobby grade sensors have 512 byte template data, watch datasheet to know the info uint8_t fingerTemplate[512]={0x03,0x0E,....your template data.....}; */ Serial.println("Ready to write template to sensor..."); if (finger.write_template_to_sensor(template_buf_size,fingerTemplate)) { //telling the sensor to download the template data to it's char buffer from upper computer (this microcontroller's "fingerTemplate" buffer) Serial.print("ID "); Serial.println(id); |
You are supposed to comment the line |
@AsifKhan991 Output: |
@dody3030 I left the store fucntion as it is in the original library. Seems more likely a sensor issue. Will check anyways and get back if any solution is found. |
@AsifKhan991 Writing to the sensor work... I just added a delay for 10 seconds after writing the template and before storing to the sensor. everything is working fine now. your library is fine don't waste your time to check it. my sensor is R503 capacitive fingerprint and I think there is slowness while writing to the sensor. thanks for your code. |
@AsifKhan991 . I changed the text file content to store the template id and '%' as separator between the template id and template data I collect from fingerprint Sensor (1). The following is an example of the text file content stored in SD.
As you can see the file contain three different IDs and percentage sign as separator in addition to the template data. the problem is that am able to collect the data successfully but not able to send it to the write_template_data_to_sensor function, that accept two parameters one is int and the other is uint8_t. Thanks in advance.
|
Not a good idea to use seperator. What if the template contains a hex value that refers to the seperator in char? |
but the template stored in non-hex , and the data passed to buf array is filtered by readBytesUntil from the position after the '%' sign till '#' sign, so it will be the same data that is collected from the sensor before. and I didn't change it to hex, because what I understand from your example the same data can be passed to uint8_t without changing to hex to be written back to different sensor of the same type. |
I see that your template data contains only decimal numbers. If you stored in decimal format and read directly as hex using |
before that line there are two lines to get the template id
the first line put the next reading after the % sign
|
Please read my most recent comment. Anyways there's an easy solution, just create seperate files for seperate templates and name the file with id number. Then just read the directory and save by the name. |
@AsifKhan991 I changed the function to load the template from the file that contain only hex stored from the sensor for only one template.
Output from file after loading to uint8_t: Not showing the same decimal from the original while reading the template from the sensor which is Output from sensor while reading the same template. |
Hello, were you able to solve your problem? i'm stuck on the same |
me too, waiting Asifkhan to reply, beside I have encountered one more issue, I have to add the first ID "Admin" or ID 1 using Adafruit example, I can not upload the first template to the sensor directly using Asifkhan code, beside at least one finger of five templates is not recognized by the sensor. I don't know why, I checked the template length, the library, but still stuck. |
From what it looks like you are facing data type or file format issue. Please share the code you used to write to the file. Also, how about using ".txt" as the file format? |
Hi, has anyone found a solution? The truth is I don't have much to contribute, I've tried everything and I can't load the fingerprints from the txt file to the fingerprint reader, what most complicates me is adding the 0x to the templates, I don't understand very well what they do or how to put it before prefix in the uint8_t. Thank you very much in advance. @dody3030 @AsifKhan991 |
Good evening everyone, did anyone manage to solve the problem? |
Are u getting error msg in serial console? If yes share the error msg please. |
Hi, thanks for your answer, I explain: when I try to send a template using your library I get error storing, doing debug I managed to see that the FP sends a code 18H that corresponds to error to save in flash. Looking at the datasheet of the R502-F I noticed that the template must have 1536 bytes of data, so I modified the buffer and still with your library gives me error. With the help of Grow support people I did a test directly using a serial debug software, I finally got the sensor to save the template. Here is the file they sent me and it helped me. 使用串口助手实现,发送格式必为16进制 HEX格式 上传模板所需发送的指令The instruction that needs to be sent to upload the template 下载指纹模板Download fingerprint Template R建议将503上传的模板文件不做拆包合并处理,直接进行存储,发送的时候直接按循序发送即可,大部分人是在这一步出错. 示例指纹模板数据,可以直接下载至指纹模块Example code of fingerprint template data, it can be downloaded to the fingerprint module directly |
@AsifKhan991 I still can't send template using your library, I think it has to do with the buffer size, it seems that being so big it generates some kind of error and the data is not sent complete. |
Could be. Or may be the Hex commands are different for your module. Cross check your sensor's datasheet with standard adafruit one. |
@AsifKhan991 uses exactly the same commands, the error occurred because for some reason this module does not accept a template with all the values in FF. in conclusion to use your library with the R502-F you just have to change the buffer and send real templates, not use the memcpy. Thanks for your help |
@AsifKhan991 , I am using R503 capacitive fingerprint sensor and wanted to store fingerprint data from cloud to new sensor. Your update woks fine with minor modification. Thank you very much for that. I tried to merge your get fingerprint and store fingerprint examples in one. I failed initially and got error in write_template_to_sensor() function, later I added Serial2.read() as long as Serial2.available() remains true(Serial2 is a port I am using for my sensor). After this it works fine. What I don't understand is it gave me 447 bytes extra. What are those ?? Do you have any Idea about this ?? |
OK so I was using 768 size but it turns out that template size is 1536 for R503 as well. I have changed the template size and it is working fine. Datasheet I was following was old so I have asked GROW directly they provided updated manual that I have attached below. R503 fingerprint module user manual-V1.2.2.pdf Thank you. |
@DharmikEC Hey! That's awesome thanks for attaching the sheet as well! |
please can someone help me here nothing is printing in my serial monitor |
Hi, i am trying to use the "get_direct_template" and the "show_saved_templates" but i have a problem with "get_template_buffer" function " if (finger.get_template_buffer(512, f_buf) == FINGERPRINT_OK) { //read the template data from sensor and save it to buffer f_buf". Can someone help me? Im using DY50 sensor with 256 packet len. and the template size is 512 |
@AsifKhan991 @cheotrix @WalsonJerry |
I made this with the latest version of the code. I need to put templates back to the sensor when I free the memory. The documention of the sensor says it's allowed, but not implemented in the library. This does not work, it will be fine to improve the library.
The text was updated successfully, but these errors were encountered: