WAVESHARE 標誌

UART指紋傳感器(C)
使用者手冊

超過VIEW

這是一個高度集成的圓形一體式電容指紋傳感器模塊,幾乎和指甲板一樣小。 該模塊通過UART指令控制,使用方便。 它的優點tag具有360°全方位驗證、快速驗證、高穩定性、低功耗等特點。
UART指紋傳感器(C)基於高性能Cortex處理器,結合高安全性商用指紋算法,具有指紋登記、圖像採集、特徵查找、模板生成和存儲、指紋比對等功能。 您無需了解複雜的指紋識別算法,只需發送一些UART命令,即可快速集成到需要小尺寸和高精度的指紋驗證應用中。

特徵
  • 通過一些簡單的命令即可輕鬆使用,您無需了解任何指紋技術或模塊內部結構
  • 商用指紋算法,性能穩定,驗證速度快,支持指紋登記、指紋比對、採集指紋圖像、上傳指紋特徵等。
  • 電容靈敏檢測,只需輕觸採集窗口即可快速驗證
  • 硬件高度集成,處理器和傳感器集成在一個小芯片中,適合小尺寸應用
  • 不銹鋼窄邊,觸摸面積大,支持360°全方位驗證
  • 內嵌人體傳感器,處理器自動進入休眠,觸摸時喚醒,功耗更低
  • 板載UART接口,方便與STM32、Raspberry Pi等硬件平台連接
規格
  • 傳感器類型:電容式觸摸
  • 解析度:508DPI
  • 圖像像素:192×192
  • 圖像灰度:8
  • 傳感器尺寸:R15.5mm
  • 指紋容量:500
  • 匹配時間:<500ms(1:N,且N<100)
  • 誤認率:<0.001%
  • 誤剔率:<0.1%
  • 操作量tag電子:2.73V
  • 工作電流:<50mA
  • 睡眠電流:<16uA
  • 防靜電:接觸放電8KV/空氣放電15KV
  • 接口:UART
  • 波特率:19200 bps
  • 運行環境:
    • 溫度:-20℃~70℃
    • 濕度:40%RH~85%RH(無凝露)
  • 儲存環境:
    • 溫度:-40℃~85℃
    • 濕度:<85%RH(無凝露)
  • 壽命:1萬次

硬體

方面

WAVESHARE STM32F205 UART 指紋傳感器 - 尺寸

介面

筆記: 實際電線的顏色可能與圖像不同。 連接時根據 PIN 而不是顏色。

WAVESHARE STM32F205 UART 指紋傳感器 - 接口

  • 車輛識別號:3.3V
  • GND:接地
  • RX:串行數據輸入(TTL)
  • TX:串行數據輸出(TTL)
  • RST:電源啟用/禁用引腳
    • 高:電源使能
    • 低:電源禁用(睡眠模式)
  • WAKE:喚醒引腳。 當模塊處於睡眠模式時,用手指觸摸傳感器時,WKAE 引腳為高電平。

命令

命令格式

該模塊作為從設備,需要控制主設備發送命令來控制它。 通訊接口為UART:19200 8N1。
命令和響應的格式應為:
1) =8字節

位元組 1 2 3 4 5 6 7 8
指令管理系統 0xF5 指令管理系統 P1 P2 P3 0 CHK 0xF5
確認 0xF5 指令管理系統 Q1 Q2 Q3 0 CHK 0xF5

筆記:
CMD:命令/響應類型
P1、P2、P3:命令參數
Q1、Q2、Q3:響應參數
Q3:一般情況下,Q3是該操作的有效/無效信息,應該是:

#define 確認成功
#定義ACK_FAIL
#定義ACK_FULL
#定義ACK_NOUSER
#定義ACK_USER_OCCUPIED
#定義ACK_FINGER_OCCUPIED
#define 確認超時
0x00
0x01
0x04
0x05
0x06
0x07
0x08
//成功
//失敗的
//數據庫已滿
//用戶不存在
//用戶已存在
//指紋已存在
//暫停

CHK:校驗和,是Byte 2到Byte 6字節的異或結果

2) >8 字節。 該數據包含兩部分:數據頭和數據包數據頭:

位元組 1 2 3 4 5 6 7 8
指令管理系統 0xF5 指令管理系統 你好(倫) 低(長) 0 0 CHK 0xF5
確認 0xF5 指令管理系統 你好(倫) 低(長) Q3 0 CHK 0xF5

筆記:
CMD、Q3:與 1 相同)
Len:數據包中有效數據的長度,16bits(兩個字節)
Hi(Len):Len的高8位
Low(Len):Len的低8位
CHK:校驗和,是數據包Byte 1到Byte 6字節的異或結果:

位元組 1 2…Len+1 長度+2 長度+3
指令管理系統 0xF5 數據 CHK 0xF5
確認 0xF5 數據 CHK 0xF5

筆記:
Len:數據字節數
CHK:校驗和,是Byte 2到Byte Len+1字節的異或結果
數據包跟隨數據頭。

命令類型:
  1. 修改模塊SN號(CMD/ACK均為8 Byte)
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x08 新 SN(位 23-16) 新 SN(位 15-8) 新SN(位7-0) 0 CHK 0xF5
    確認 0xF5 0x08 舊 S(位 23-16) 舊 SN(位 15-8) 舊 SN(位 7-0) 0 CHK 0xF5
  2. 查詢型號SN(CMD/ACK均為8字節)
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x2A 0 0 0 0 CHK 0xF5
    確認 0xF5 0x2A SN(位 23-16) SN(位 15-8) SN(位 7-0) 0 CHK 0xF5
  3. 睡眠模式(CMD/ACK 均為 8 字節)
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x2C 0 0 0 0 CHK 0xF5
    確認 0xF5 0x2C 0 0 0 0 CHK 0xF5
  4. 設置/讀取指紋添加模式(CMD/ACK均為8字節)
    有兩種模式:啟用複制模式和禁用複制模式。 當模塊處於禁用複制模式時:相同的指紋只能作為一個ID添加。 如果想添加另一個具有相同指紋的ID,DSP響應失敗信息。 模塊上電後處於禁用模式。
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x2D 0 字節5=0:
    0:啟用
    1:禁用
    字節5=1:0
    0:新模式
    1:讀取當前模式
    0 CHK 0xF5
    確認 0xF5 0x2D 0 當前模式 ACK_成功
    確認失敗
    0 CHK 0xF5
  5. 添加指紋(CMD/ACK均為8字節)
    主設備向模塊發送三次命令,並添加三次指紋,確保添加的指紋有效。
    a) 首先
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF
    5
    0x0
    1
    用戶ID(高8位) 用戶ID(低8位) 許可(1/2/3) 0 CHK 0xF5
    確認 0xF
    5
    0x0
    1
    0 0 確認成功
    確認失敗
    0 CHK 0xF5
    ACK_FULL
    ACK_USER_OCCUPIED ACK_FINGER_OCCUPIED
    確認超時

    筆記:
    用戶ID:1~0xFFF;
    用戶權限:1,2,3,(可自行定義權限)
    b) 第二

    位元組 1 2 3 4 5 6 7 8
     

    指令管理系統

     

    0xF5

     

    0x02

    使用者身分

    (高8位)

    使用者身分

    (低8位)

    允許

    (1/2/3)

     

    0

     

    CHK

     

    0xF5

     

    確認

     

    0xF5

     

    0x02

     

    0

     

    0

    確認成功

    ACK_FAIL ACK_TIMEOUT

     

    0

     

    CHK

     

    0xF5

    c) 第三

    位元組 1 2 3 4 5 6 7 8
     

    指令管理系統

     

    0xF5

     

    0x03

    使用者身分

    (高8位)

    使用者身分

    (低8位)

    允許

    (1/2/3)

     

    0

     

    CHK

     

    0xF5

     

    確認

     

    0xF5

     

    0x03

     

    0

     

    0

    確認成功

    ACK_FAIL ACK_TIMEOUT

     

    0

     

    CHK

     

    0xF5

    注意: 三個命令中的用戶ID和權限。

  6. 添加用戶並上傳特徵值(CMD =8Byte/ACK > 8 Byte)
    這些命令類似於“5. 添加指紋”,您也應該添加三次。
    a) 首先
    與“第一個”相同5.添加指紋”
    b) 第二
    與“第二個”相同5.添加指紋
    c) 第三
    命令格式:
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x06 0 0 0 0 CHK 0xF5

    確認格式:
    1)數據頭:

    位元組 1 2 3 4 5 6 7 8
    確認 0xF5 0x06 你好(倫) 低(長) 確認成功
    確認失敗
    確認超時
    0 CHK 0xF5

    2)數據包:

    位元組 1 2 3 4 5—Len+1 長度+2 長度+3
    確認 0xF5 0 0 0 特徵值 CHK 0xF5

    筆記:
    特徵值長度(Len-)為193Byte
    當ACK數據的第五個字節為ACK_SUCCESS時發送數據包

  7. 刪除用戶(CMD/ACK均為8字節)
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x04 用戶ID(高8位)  用戶ID(低8位) 0  0 CHK 0xF5
    確認 0xF5 0x04 0 0 確認成功
    確認失敗
    0 CHK 0xF5
  8. 刪除所有用戶(CMD/ACK均為8 Byte)
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x05 0 0 0:刪除所有用戶 1/2/3:刪除權限為1/2/3的用戶 0 CHK 0xF5
    確認 0xF5 0x05 0 0 確認成功
    確認失敗
    0 CHK 0xF5
  9. 用戶查詢數(CMD/ACK均為8 Byte)
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x09 0 0 0:查詢計數
    0xFF:查詢金額
    0 CHK 0xF5
    確認 0xF5 0x09 計數/金額(高8位) 計數/金額(低8位) 確認成功
    確認失敗
    0xFF(指令=0xFF)
    0 CHK 0xF5
  10. 1:1(CMD/ACK均為8Byte)
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x0B 用戶ID(高8位) 用戶ID(低8位) 0 0 CHK 0xF5
    確認 0xF5 0x0B 0 0 確認成功
    確認失敗
    確認超時
    0 CHK 0xF5
  11. 比較1:N(CMD/ACK均為8字節)
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x0C 0 0 0 0 CHK 0xF5
    確認 0xF5 0x0C 用戶ID(高8位) 用戶ID(低8位) 允許
    (1/2/3)
    ACK_NOUSER
    確認超時
    0 CHK 0xF5
  12. 查詢權限(CMD/ACK均為8字節)
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x0A 用戶ID(高8位) 用戶ID(低8位) 0 0 CHK 0xF5
    確認 0xF5 0x0A 0 0 允許
    (1/2/3)
    ACK_NOUSER
    0 CHK 0xF5
  13. 設置/查詢比較級別(CMD/ACK均為8 Byte)
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x28 0 Byte5=0:新級別
    字節5=1:0
    0:設定電平
    1:查詢級別
    0 CHK 0xF5
    確認 0xF5 0x28 0 目前等級 ACK_成功
    確認失敗
    0 CHK 0xF5

    備註: 比較 level可以是0~9,值越大,比較越嚴格。 默認5

  14. 獲取圖像並上傳(CMD=8 Byte/ACK >8 Byte)
    命令格式:
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x24 0 0 0 0 CHK 0xF5

    ACK格式:
    1)數據頭:

    位元組 1 2 3 4 5 6 7 8
    確認 0xF5 0x24 你好(倫) 低(長) ACK_成功
    確認失敗
    確認超時
    0 CHK 0xF5

    2)數據包

    位元組 1 2—Len+1 長度+2 長度+3
    確認 0xF5 影像資料 CHK 0xF5

    筆記:
    在DSP模塊中,指紋圖像的像素為280*280,每個像素由8位表示。 上傳時,DSP跳過了像素amp水平/垂直方向移動以減少數據大小,使圖像變成140*140,只取像素的高4位。 每兩個像素合成一個字節進行傳輸(前一個像素高4位,最後一個像素低4位)。
    從第一行開始逐行傳輸,每行從第一個像素開始,總共傳輸 140*140/ 2 字節的數據。
    圖像的數據長度固定為9800字節。

  15. 獲取圖像並上傳特徵值(CMD=8 Byte/ACK > 8Byte)
    命令格式:
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x23 0 0 0 0 CHK 0xF5

    ACK格式:
    1)數據頭:

    位元組 1 2 3 4 5 6 7 8
    確認 0xF5 0x23 你好(倫) 低(長) ACK_成功
    確認失敗
    確認超時
    0 CHK 0xF5

    2)數據包

    位元組 1 2 3 4 5—Len+1 長度+2 長度+3
    確認 0xF5 0 0 0 特徵值 CHK 0xF5

    筆記: 特徵值的長度(Len -3)是193字節。

  16. 下載特徵值並與獲取的指紋進行比較(CMD >8 Byte/ACK=8 Byte)
    命令格式:
    1)數據頭:
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x44 你好(倫) 低(長) 0 0 CHK 0xF5

    2)數據包

    位元組 1 2 3 4 5—Len+1 長度+2 長度+3
    確認 0xF5 0 0 0 特徵值 CHK 0xF5

    注: 特徵值長度(Len -3)為193字節。
    ACK格式:

    位元組 1 2 3 4 5 6 7 8
    確認 0xF5 0x44 0 0 ACK_成功
    確認失敗
    確認超時
    0 CHK 0xF5
  17. 下載特徵值並比較1:1(CMD >8 Byte/ACK=8 Byte)
    命令格式:
    1)數據頭:
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x42 你好(倫) 低(長) 0 0 CHK 0xF5

    2)數據包

    位元組 1 2 3 4 5—Len+1 長度+2 長度+2
    確認 0xF5 用戶ID(高8位) 用戶ID(低8位) 0 特徵值 CHK 0xF5

    筆記: 特徵值的長度(Len -3)是193字節。
    ACK格式:

    位元組 1 2 3 4 5 6 7 8
    確認 0xF5 0x43 0 0 ACK_成功
    確認失敗
    0 CHK 0xF5
  18. 下載特徵值並比較1:N(CMD >8 Byte/ACK=8 Byte)
    命令格式:
    1)數據頭:
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x43 你好(倫) 低(長) 0 0 CHK 0xF5

    2)數據包

    位元組 1 2 3 4 5—Len+1 長度+2 長度+2
    確認 0xF5 0 0 0 特徵值 CHK 0xF5

    筆記: 特徵值的長度(Len -3)是193字節。
    ACK格式:

    位元組 1 2 3 4 5 6 7 8
    確認 0xF5 0x43 用戶ID(高8位) 用戶ID(低8位) 允許
    (1/2/3)
    ACK_NOUSER
    0 CHK 0xF5
  19. 從DSP模型上傳特徵值CMD=8 Byte/ACK >8 Byte)
    命令格式:
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x31 用戶ID(高8位) 用戶ID(低8位) 0 0 CHK 0xF5

    ACK格式:
    1)數據頭:

    位元組 1 2 3 4 5 6 7 8
    確認 0xF5 0x31 你好(倫) 低(長) ACK_成功
    確認失敗
    ACK_NOUSER
    0 CHK 0xF5

    2)數據包

    位元組 1 2 3 4 5—Len+1 長度+2 長度+3
    確認 0xF5 用戶ID(高8位) 用戶ID(低8位) 許可(1/2/3) 特徵值 CHK 0xF5

    筆記: 特徵值的長度(Len -3)是193字節。

  20. 下載特徵值並作為用戶ID保存到DSP(CMD>8 Byte/ACK =8 Byte)
    命令格式:
    1)數據頭:
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x41 你好(倫) 低(長) 0 0 CHK 0xF5

    2)數據包

    位元組 1 2 3 4 5—Len+1 長度+2 長度+3
    確認 0xF5 用戶ID(高8位) 用戶ID(低8位) 許可(1/2/3) 特徵值 CHK 0xF5

    筆記: 特徵值的長度(Len -3)是193字節。
    ACK格式:

    位元組 1 2 3 4 5 6 7 8
    確認 0xF5 0x41 用戶ID(高8位) 用戶ID(低8位) 確認成功
    確認失敗
    0 CHK 0xF5
  21. 查詢所有添加的用戶信息(ID和權限)(CMD=8 Byte/ACK >8Byte)
    命令格式:
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x2B 0 0 0 0 CHK 0xF5

    ACK格式:
    1)數據頭:

    位元組 1 2 3 4 5 6 7 8
    確認 0xF5 0x2B 你好(倫) 低(長) ACK_成功
    確認失敗
    0 CHK 0xF5

    2)數據包

    位元組 1 2 3 4—Len+1 長度+2 長度+3
    確認 0xF5 用戶ID(高8位) 用戶ID(低8位) 用戶信息(用戶ID和權限) CHK 0xF5

    筆記:
    數據包的數據長度(Len)為“3*用戶ID+2”
    用戶信息格式:

    位元組 4 5 6 7 8 9
    數據 用戶ID1(高8位) 用戶ID1(低8位) 用戶 1 權限 (1/2/3) 用戶ID2(高8位) 用戶ID2(低8位) 用戶 2 權限 (1/2/3)  

  22. 設置/查詢指紋採集超時時間(CMD/ACK均為8 Byte)
    位元組 1 2 3 4 5 6 7 8
    指令管理系統 0xF5 0x2E 0 Byte5=0:超時
    字節5=1:0
    0:設置超時時間
    1:查詢超時
    0 CHK 0xF5
    確認 0xF5 0x2E 0 暫停 ACK_成功
    確認失敗
    0 CHK 0xF5

    筆記:
    指紋等待超時(tout)值的範圍是0-255。 如果該值為0,則在沒有指紋按下的情況下,指紋採集過程將繼續進行; 如果該值不為0,則在tout*T0時間內沒有指紋按下,系統會因超時而存在。
    筆記: T0是採集/處理圖像所需的時間,通常為0.2-0.3秒。

溝通過程

添加指紋

WAVESHARE STM32F205 UART 指紋傳感器 - 添加指紋

刪除用戶

WAVESHARE STM32F205 UART 指紋傳感器 - 刪除用戶

刪除所有用戶

WAVESHARE STM32F205 UART 指紋傳感器 - 刪除所有用戶

獲取圖像並上傳特徵值

WAVESHARE STM32F205 UART 指紋傳感器 - 獲取圖像並上傳特徵值

用戶指南

如果要將指紋模塊連接到PC,則需要購買一個UART轉USB模塊。 我們推薦您使用Waveshare FT232 USB UART 板(微型) 模組。
如果要將指紋模塊連接到樹莓派等開發板,如果工作正常
您的板子的電平為3.3V,您可以直接將其連接到板子的UART和GPIO引腳。 如果是5V,請加電平轉換模塊/電路。

連接到電腦

硬件連接

您需要:

  • UART指紋傳感器(C)*1
  • FT232 USB 串口板 *1
  • 微型 USB 線 *1

將指紋模塊和FT232 USB UART Board連接到PC

UART指紋傳感器(C) FT232 USB 串口板
VCC VCC
接地 接地
RX TX
TX RX
快速恢復時間 NC
喚醒 NC

測試

  • 從 wiki 下載 UART 指紋傳感器測試軟件
  • 打開軟件,選擇正確的COM口。(本軟件僅支持COM1~COM8,如果您電腦的COM口超出此範圍,請修改)
  • 測試

WAVESHARE STM32F205 UART 指紋傳感器 - 測試

測試界面提供了幾個功能

  1. 查詢計數
    選擇 數數, 然後單擊 發送。 返回用戶數並顯示在信息中 回覆 介面
  2. 新增用戶
    選擇 添加用戶, 檢查 獲得兩次自動識別+1, 輸入 ID(P1P2)和許可(P3),然後點擊 發送。 最後,觸摸傳感器獲取指紋。
  3. 刪除用戶
    選擇 刪除用戶, 輸入 ID(P1P2)和許可(P3),然後單擊“發送”。
  4. 刪除所有用戶
    選擇 刪除所有用戶,然後單擊發送
  5. 比較1:1
    選擇 1:1 比較,輸入 ID(P1P2)和許可(P3),然後點擊 發送。
  6. 比較 1:N
    選擇 1:N比較,然後按一下 發送。


更多功能請測試。 (該模塊部分功能不可用)

連接到 XNUCLEO-F103RB

我們提供了 XNCULEO-F103RB 的演示代碼,您可以從 wiki 下載

UART指紋傳感器(C) NUCLEO-F103RB
VCC 3.3V
接地 接地
RX PA9
TX PA10
快速恢復時間 PB5
喚醒 PB3

筆記: 關於管腳請參考 介面 多於

  1. 將UART指紋傳感器(C)連接到XNUCLEO_F103RB,並連接編程器
  2. 通過keil5軟件打開工程(演示代碼)
  3. 檢查編程器和設備是否正常識別
  4. 編譯下載
  5. 通過USB線將XNUCELO-F103RB連接到PC,打開串口輔助軟件,設置COM端口:115200、8N1

根據返回的信息輸入命令測試模塊。

連接到樹莓派

我們提供了一個 python exampRaspberry Pi 的文件,您可以從 wiki 下載它
在使用 ex 之前amp文件中,首先要啟用樹莓派的串口:
在終端上輸入命令: sudo raspi-config
選擇:接口選項 -> 串行 -> 否 -> 是
然後重啟。

UART指紋傳感器(C) 樹莓派
VCC 3.3V
接地 接地
RX 14 (BCM) – PIN 8(板)
TX 15 (BCM) – PIN 10(板)
快速恢復時間 24 (BCM) – PIN 18(板)
喚醒 23 (BCM) – PIN 16(板)
  1. 將指紋模塊連接到樹莓派
  2. 將演示代碼下載到 Raspberry Pi:wget https://www.waveshare.com/w/upload/9/9d/UART-Fignerprint-RaspberryPi.tar.gz
  3. 解壓縮
    tar zxvf UART-Fingerprint-RaspberryPi.tar.gz
  4. 運行前ample
    cd UART-Fingerprint-RaspberryPi/sudo python main.py
  5. 按照指南測試

www.waveshare.com

文件/資源

WAVESHARE STM32F205 UART 指紋傳感器 [pdf] 使用者手冊
STM32F205,UART指紋傳感器,STM32F205 UART指紋傳感器,指紋傳感器

參考

發表評論

您的電子郵件地址不會被公開。 必填欄位已標記 *