2016-09-28 17 views
0

我想要獲取確切的特徵矢量以將每個指紋值保存到數據庫中。根據Adafruit庫,它只顯示指紋模板。但對於同一個手指,模板不同,我無法通過與客戶端軟件匹配來識別確切的手指。如何使用arduino從adafruit指紋傳感器獲取確切的特徵矢量

對此有何幫助?任何將此指紋模板轉換爲特徵矢量或彼此匹配的算法。

任何方法從指紋傳感器獲取字符文件(特徵向量)?

回答

0

用於匹配模板的算法是未知的;製造商沒有發佈它可能是因爲它是IP。您無法逐字節比較,因爲您發現生成的模板對於同一個手指並不總是相同的。如果您注意到,則存在置信度值以及不同的安全級別,這意味着根據系統參數的不同匹配打印標準。您可能最好的做法是將模板存儲在數據庫中,但將其用作第二個因素來驗證用戶身份。我的意思是,

  • 你可以有一個用戶在終端輸入一些獨特的ID,並把他們的手指爲好,
  • 你的Arduino與ID爲關鍵字查詢您的服務器,
  • 服務器用與該ID相關聯的指紋模板回覆
  • Arduino將該模板轉發給模塊,併發送命令以執行剛剛從數據庫獲取的模板和剛剛從用戶手指產生的模板之間的1:1匹配。
  • 如果它們匹配,那麼你知道你有合適的用戶。否則,他是騙子。

或者,您可以僅使用模塊上的本地存儲,並使用您的服務器僅用於在註冊期間分配ID。如果您仍想繼續從模塊獲取字符文件,您可以嘗試模塊數據表中的UpChar命令,並查看是否有任何運氣。

+0

嗨謝謝你的描述性答案。我認爲github中支持的庫沒有upchar方法聲明。因爲我似乎有兩個adafruit指紋傳感器庫。一個是ZFM-​​20和另一個R305我正在使用。正如你所說,最好有一臺服務器來檢測這些值。你有沒有創建本地存儲和使用它的例子。 – LahiruD

+0

在我的情況下,它是關於將指紋模板值獲取到軟件應用程序並保存在計算機內(我將ID分配爲1,分兩次並連續打印指紋模板並刪除ID 1指紋)。然後當掃描心情選擇時,我再次獲得指紋模板並保存在計算機中的數據庫中。所以我希望使用模式匹配算法來匹配它。即使我沒有找到它 – LahiruD

+0

最後我檢查了只有一個庫。這兩個模塊是可以互換的。 「本地存儲」是指默認存儲模板的模塊的內部閃存庫。您必須閱讀數據表並按照庫中其他方法的格式實施UpChar。但是,已經有一種將模板打印到串口的方法和示例。檢查Adafruit圖書館。 – TisteAndii