在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【EsDA應用】如何5分鐘快速實現指紋采集與檢測

AGk5_ZLG_zhiyua ? 來源:未知 ? 2023-05-11 20:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

如今,指紋信息的采集已成為產品安全系統中驗證身份的重要手段之一。本文主要介紹如何通過EsDA開發套件,快速實現指紋信息的采集與驗證。 d0aaf5c8-e672-11ed-ab56-dac502259ad0.jpg??簡介指紋是人體的一項具有唯一特征性的信息之一,是可以識別身份的可靠標識之一,因此指紋信息的采集和驗證成了很多嵌入式產品實現安防功能的基礎需求。在嵌入式開發中,我們時不時便要采集指紋信息進行記入、保存、以及驗證,從而為產品登入認證、安全檢測、身份驗證等功能,提供信息依據與支撐。本文主要講述如何在EsDA技術支持下,使用AWFlow Designer中的指紋節點(zn101)與按鍵節點(button)以及按鍵處理節點(button_expand),實現對指紋信息進行采集與檢測驗證。信號處理過程,如下:d0b0bb70-e672-11ed-ab56-dac502259ad0.jpg ?d0c4c5d4-e672-11ed-ab56-dac502259ad0.jpg??入門基礎本章內容,除了講解如何使用指紋節點以外,還需使用到基礎的button節點、button_expand節點、fscript節點、以及log節點。同時,還需具備一定基礎的AWFlow Designer開發經驗。若剛開始接觸,可閱讀以下文章,進行基礎知識的學習。
  • EsDAMPC-ZC1入門(一)——軟件安裝

  • EsDAMPC-ZC1入門(二)——LED控制

  • 基于EsDAMPC-ZC1快速實現——按鍵高級應用

d0c4c5d4-e672-11ed-ab56-dac502259ad0.jpg??硬件前提

1. MPC-ZC1開發套件(其中物聯網卡與4G天線,本章未使用)

d0cfa24c-e672-11ed-ab56-dac502259ad0.png2. 基礎按鍵模塊(使用普通按鍵模塊即可,未必要與本章相同)

d0e4e1fc-e672-11ed-ab56-dac502259ad0.png

3.zn101指紋模塊(FPM383C型號)

d0ed24a2-e672-11ed-ab56-dac502259ad0.png

4.USB轉TTL模塊(使用普通模塊即可,未必要與本章相同)d111889c-e672-11ed-ab56-dac502259ad0.png5.硬件連接如下圖所示

d1272c2e-e672-11ed-ab56-dac502259ad0.jpg

d0c4c5d4-e672-11ed-ab56-dac502259ad0.jpg??本章流圖解析

具體功能流圖如下:

d137f5ea-e672-11ed-ab56-dac502259ad0.png

本流圖分別由一個button節點、5個button_expand節點(顯示名稱分別為:單擊、雙擊、三擊、四擊、五擊)、6個fscript節點(顯示名稱分別為:錄入指紋、檢測指紋、刪除第一個指紋、清空指紋數據庫、獲取指紋模板、結果處理)、一個zn101節點、一個log節點組成。其中button_expand節點通過對button節點所產生的信號信息進行處理判斷,識別是單擊還是多擊操作,進而觸發對應fscript節點向zn101節點發送對應的命令。zn101節點根據對應指令,執行對應操作,并向log節點輸出指令操作結果。

d0c4c5d4-e672-11ed-ab56-dac502259ad0.jpg??節點解析

1. button節點

d146f0b8-e672-11ed-ab56-dac502259ad0.png

此處我們選用引腳P4.6,觸發方式為下降沿觸發。

2. button_expand節點

本章中,我們使用button_expand節點來處理從button節點中傳遞而出的信號,從而做到識別單擊、雙擊、三擊、四擊、五擊等操作。各button_expand節點配置如下。2.1 單擊

d15aca8e-e672-11ed-ab56-dac502259ad0.png

此處配置,我們統一使用continuous mode(trigger)操作模式與動作間隔為1000ms,改變按鍵次數配置分別為1,即相鄰兩次按下間隔在1000ms以內時,重新開始計數,超時則停止,當計數值達分別達到1時,觸發后續節點。

該節點的具體使用規則以及模式講解,請參考基于 EsDA MPC-ZC1 快速實現——按鍵高級應用2.2雙擊d171126c-e672-11ed-ab56-dac502259ad0.png此處配置,我們統一使用continuous mode(trigger)操作模式與動作間隔為1000ms,改變按鍵次數配置分別為2,即相鄰兩次按下間隔在1000ms以內時,重新開始計數,超時則停止,當計數值達分別達到2時,觸發后續節點。

該節點的具體使用規則以及模式講解,請參考基于EsDA MPC-ZC1 快速實現——按鍵高級應用

2.3三擊

d1842d84-e672-11ed-ab56-dac502259ad0.png

此處配置,我們統一使用continuous mode(trigger)操作模式與動作間隔為1000ms,改變按鍵次數配置分別為3,即相鄰兩次按下間隔在1000ms以內時,重新開始計數,超時則停止,當計數值達分別達到3時,觸發后續節點。

該節點的具體使用規則以及模式講解,請參考基于EsDA MPC-ZC1 快速實現——按鍵高級應用

2.4四擊

d1949fc0-e672-11ed-ab56-dac502259ad0.png

此處配置,我們統一使用continuous mode(trigger)操作模式與動作間隔為1000ms,改變按鍵次數配置分別為4,即相鄰兩次按下間隔在1000ms以內時,重新開始計數,超時則停止,當計數值達分別達到4時,觸發后續節點。

該節點的具體使用規則以及模式講解,請參考基于EsDA MPC-ZC1 快速實現——按鍵高級應用

2.5五擊

d1a5a680-e672-11ed-ab56-dac502259ad0.png

此處配置,我們統一使用continuous mode(trigger)操作模式與動作間隔為1000ms,改變按鍵次數配置分別為5,即相鄰兩次按下間隔在1000ms以內時,重新開始計數,超時則停止,當計數值達分別達到5時,觸發后續節點。

該節點的具體使用規則以及模式講解,請參考基于EsDA MPC-ZC1 快速實現——按鍵高級應用

3. zn101節點

該節點為指紋模塊節點,可根據上一個節點所發送的命令,進行相應的數據操作,并向下一個節點返回數據應答。其使用串口通信協議,實際數值用戶可根據實際修改,此處我們使用MPC-ZC1板上的串口二。其余波特率、字節數、奇偶檢驗位、停止位、流控位,均與硬件設備配置參數有關,此處設置為576000、8、N、1、N。Awaken_Gpio為gpio喚醒模式配置引腳,但此參數暫不生效。接收命令與反饋如下。

3.1 錄入指紋命令3.1.1 輸入d1babb06-e672-11ed-ab56-dac502259ad0.png3.1.2輸出d1d436f8-e672-11ed-ab56-dac502259ad0.png

cmd為命令參數,值為"add",如果添加成功,節點輸出result參數值為"ok",以及存儲位置參數stormb_id值為無符號16進制數值,否則輸出result參數值為"error"。如果存儲數量已達最大可存儲數,則輸出result參數值為"full"。若發送命令后,無手指按壓進行指紋采集,則節點不觸發輸出。

其中,output、msg等對象為的實際意義可參照fscript節點的幫助信息,如下:
  • msg. 訪問當前消息對象的屬性。
  • flow. 訪問其它節點的屬性。
  • output. 訪問輸出的對象的屬性。
  • global. 訪問全局對象的屬性。
  • app_conf. 訪問配置對象的屬性(可持久保存)。
  • 如果設置了output的屬性,則將output對象分發給后繼節點,否則將msg對象分發給后繼節點。

3.2 檢測指紋

3.2.1 輸入d1f02ca0-e672-11ed-ab56-dac502259ad0.png3.2.2 輸出d1f699f0-e672-11ed-ab56-dac502259ad0.png同理,命令參數值為"check",如果檢測通過,則輸出result參數值為"ok",以及模板頁面ID位置參數pageid和匹配分數參數score,兩參數數值均為無符號16進制數值,否則輸出result參數值為"error"。若發送命令后,無手指按壓進行指紋采集,則節點不觸發輸出。

3.3刪除對應位置與數量的指紋

3.3.1 輸入d20dadd4-e672-11ed-ab56-dac502259ad0.png3.3.2 輸出d224a732-e672-11ed-ab56-dac502259ad0.png

同理,命令參數為"delete",配置附加參數為頁面ID參數pageid與刪除數量num,兩參數數值均為無符號16進制數值,否則輸出result參數值為"error"。

3.4清空指紋數據庫

3.4.1 輸入d23bbba2-e672-11ed-ab56-dac502259ad0.png3.4.2 輸出d2450b76-e672-11ed-ab56-dac502259ad0.png同理,命令參數為"delete_all",若刪除成功,則輸出result參數值為"ok",否則輸出result參數值為"error"。

3.5獲取有效模板數

3.5.1 輸入d24eadac-e672-11ed-ab56-dac502259ad0.png3.5.2 輸出d26103e4-e672-11ed-ab56-dac502259ad0.png

同理,命令參數為"get_num",若獲取成功,則輸出result參數值為"ok",模板數量參數值num為無符號16進制數值,否則輸出result參數值為"error"。

4. fscript節點

該節點主要用于對zn101(指紋模塊)節點進行命令下發與結果處理。若對fscript腳本語法不了解,可參考FScript腳本引擎語法規則。下圖為向zn101節點發送錄入指紋命令的代碼段語句,以及所填配置,即顯示名稱為錄入指紋(1)的fscript節點的配置信息。

錄入指紋:

d276a4ba-e672-11ed-ab56-dac502259ad0.png

同理,亦可配置其余fscript節點,分別向zn101節點輸入不同的指令。具體命令代碼段匯總如下:
//顯示名稱為 錄入指紋(1) 的fscript節點代碼段
output.cmd = "add";


//顯示名稱為 檢測指紋(2) 的fscript節點代碼段
output.cmd = "check";


//顯示名稱為 刪除第一個指紋(3) 的fscript節點代碼段
output.cmd = "delete";
output.pageid = 0;
output.num = 1;


//顯示名稱為 清空指紋數據庫(4) 的fscript節點代碼段
output.cmd = "delete_all";


//顯示名稱為 獲取指紋模板數量(5) 的fscript節點代碼段
output.cmd = "get_num";
其中,output、msg等對象為的實際意義可參照fscript節點的幫助信息,如下:
  • msg. 訪問當前消息對象的屬性。
  • flow. 訪問其它節點的屬性。
  • output. 訪問輸出的對象的屬性。
  • global. 訪問全局對象的屬性。
  • app_conf. 訪問配置對象的屬性(可持久保存)。
  • 如果設置了output的屬性,則將output對象分發給后繼節點,否則將msg對象分發給后繼節點。

5. 結果處理(fscript節點)

該腳本文件主要實現,對zn101節點所輸出的結果數據進行處理,同時向log節點發送對應的打印變量,同時串口輸出對應于不同命令的參數值。具體實現如下。

if(msg.cmd == "add"){
    if(msg.result == "ok"){
        print(msg.stormb_id);
        output.payload = "get_ok";
    } else if(msg.result == "error"){
        output.payload = "get_error";
    } else if(msg.result == "full"){
        output.payload = "get_full";
    }
}else if(msg.cmd == "check"){
    if(msg.result == "ok"){
        print(msg.pageid);
        print(msg.score);
        output.payload = check_ok;
    }else if(msg.result == "error"){
        output.payload = "check_error";
    }
}else if(msg.cmd == "delete"){  
    if(msg.result == "ok"){
        output.payload = "clean_one_ok";
    }else if(msg.result == "error"){
        output.payload = "clean_one_error";
    }
}else if(msg.cmd == "delete_all"){   
    if(msg.result == "ok"){
        output.payload = "clean_all_ok";
    }else if(msg.result == "error"){
        output.payload = "clean_all_error";
    }
}else if(msg.cmd == "get_num"){
    if(msg.result == "ok"){
        print(msg.num);
        output.payload = "get_num_ok";
    }else if(msg.result == "error"){
        output.payload = "get_num_error";
    }
}
6. log節點d2827754-e672-11ed-ab56-dac502259ad0.png該節點主要用于將上一個節點所傳遞數據展示于調試窗口或打印于串口。

d0c4c5d4-e672-11ed-ab56-dac502259ad0.jpg??效果展示

注意:Debug串口窗口配置為波特率921600、數據為8、停止位1、無校驗與流控位。具體COM口根據實際情況而定,若用戶不知道串口是多少,可打開設備管理器,重新插拔電源,查看COM口新增情況來確定。

1. 按一下按鈕,并將手指按在指紋模塊上,錄取指紋成功,串口窗口顯示如下:

d29e495c-e672-11ed-ab56-dac502259ad0.png2. 連續按兩下按鈕,同一手指按在指紋模塊上,驗證通過,串口窗口顯示如下:

d2a8ce86-e672-11ed-ab56-dac502259ad0.png

3. 連續按三下按鈕,刪除第一個指紋成功,串口窗口顯示如下:

d2b81a94-e672-11ed-ab56-dac502259ad0.png

4. 再次重復操作二,此時驗證未通過,串口窗口顯示如下:d2c6a064-e672-11ed-ab56-dac502259ad0.png5. 連續多次重復操作一和操作二,錄入與驗證指紋均通過,串口窗口顯示同上。d2d57986-e672-11ed-ab56-dac502259ad0.png6. 連續按下五次按鈕,獲取指紋模板數成功,串口窗口顯示數據如下:

d2e362da-e672-11ed-ab56-dac502259ad0.png

7. 連續按四下按鈕,清空指紋空成功,串口窗口顯示如下:d2f79110-e672-11ed-ab56-dac502259ad0.png8. 再次重復操作二,此時驗證未通過,串口窗口顯示與操作二相同。d3068cc4-e672-11ed-ab56-dac502259ad0.png ?d0c4c5d4-e672-11ed-ab56-dac502259ad0.jpg技術交流長按識別如下二維碼可加入“EsDA嵌入式系統設計自動化交流群”,與志同道合的朋友交流,并有專業技術人員為您答疑解惑,如有問題可以咨詢小致微信zlgmcu-888。d316b57c-e672-11ed-ab56-dac502259ad0.png ?

【版權聲明】本文為ZLG開發者社區用戶原創內容,未經授權不得轉載。歡迎更多用戶到社區交流互動、創作博文,一經采用,可獲得百元京東E卡。

d31f7360-e672-11ed-ab56-dac502259ad0.png

d3288298-e672-11ed-ab56-dac502259ad0.jpg

d32fdcb4-e672-11ed-ab56-dac502259ad0.jpg


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 致遠電子
    +關注

    關注

    13

    文章

    411

    瀏覽量

    31906

原文標題:【EsDA應用】如何5分鐘快速實現指紋采集與檢測

文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    1 分鐘測防水,兒童手表氣密檢測黑科技大揭秘

    在兒童智能穿戴領域,手表的防水性能至關重要。而如今,一種能在1分鐘內精準測出防水等級的氣密檢測儀黑科技正悄然改變著行業格局。傳統防水檢測方法往往耗時冗長,操作復雜,難以滿足兒童手表快速
    的頭像 發表于 06-11 14:29 ?207次閱讀
    1 <b class='flag-5'>分鐘</b>測防水,兒童手表氣密<b class='flag-5'>檢測</b>黑科技大揭秘

    AD9826在暫停工作3分鐘以上時,再次開始工作第一幀采集數據會出現65535/FFFF現象,為什么?

    AD9826在暫停工作3分鐘以上時,再次開始工作第一幀采集數據會出現65535/FFFF現象,連續工作則沒有異常 ,這是由于什么原因呢,求助,感謝
    發表于 04-15 06:56

    10分鐘上手寫代碼,LuatOS協程輕松掌握!

    上手寫代碼~ ? 1、協程是什么?——小白秒懂版? ?? 場景?:小明一邊寫作業,一邊等外賣: ?普通做法?: 寫5分鐘作業→開門看外賣→再寫5分鐘→再去看外賣...(效率低) ?協程
    的頭像 發表于 04-10 15:18 ?253次閱讀
    10<b class='flag-5'>分鐘</b>上手寫代碼,LuatOS協程輕松掌握!

    給個思路也可以(不知道這個無線通信模塊怎么實現

    指紋圖像特征匹配; (2)射頻模塊:檢測和傳輸射頻卡信息,設計射頻卡號識別算法;(3)人臉識別模塊:可采集人臉圖像,提取特征信息,建立數據庫,打卡時與庫存數據進行比對實現人臉識別與存儲
    發表于 03-21 16:50

    如何用MES系統實現生產異常10分鐘快速響應

    在智能制造時代,生產異常響應速度直接影響交付周期與運營成本。研究表明,若能在異常發生后的10分鐘內介入處理,可避免80%以上的次生損失。珠海盈致通過MES系統構建的異常響應機制,正在重塑電子制造行業
    的頭像 發表于 03-18 16:37 ?401次閱讀

    用ADS1255做了個數據采集板,發現在采集信號時剛開始的2分鐘會有漂移,什么原因導致的?

    用ADS1255做了個數據采集板,發現在采集信號時剛開始的2分鐘會有漂移,經過逐步檢查有以下結論: 1. 如果把 ADS1255的差輸入端短接,輸出數據沒有漂移; 2. ADS12
    發表于 02-07 06:37

    1分鐘實現傳感器通過串口服務器接入ZWS云

    導讀本文介紹如何在1分鐘內,將傳感器通過串口服務器GCOM80接入ZWS云平臺,實現數據上云。本文以光照傳感器為例,介紹傳感器通過串口服務器GCOM80快速接入ZWS云的過程。硬件準備光照傳感器
    的頭像 發表于 01-10 11:37 ?612次閱讀
    1<b class='flag-5'>分鐘</b>,<b class='flag-5'>實現</b>傳感器通過串口服務器接入ZWS云

    利用ADS1291作為模數轉換器,模擬信號在轉換后,每隔5-6分鐘左右會出現一個很大的數據值,為什么?

    最近,在做心電采集的項目,利用ADS1291作為模數轉換器,最近在測試時發現轉換的數據有問題: 模擬信號在轉換后,每隔5-6分鐘左右會出現一個很大的數據值。 請問各位,在使用ADS1291時,有沒有遇到這種問題,給指點一下,謝
    發表于 01-09 07:45

    ST NPI 新上架產品【ESDA5WY】Datasheet

    ESDAxxWY系列:汽車應用中的ESD保護。在確保汽車應用安全性的同時縮減PCB尺寸對于需要穩健保護功能的系統,選擇ESDAxxWY可確保實現高可靠性和高質量。這類器件用于防止敏感電
    發表于 10-21 10:46 ?0次下載

    國產人工智能教學實驗箱操作案例分享:5-27 指紋識別實驗

    的設計實現:LCD顯示界面以及與用戶的交互; (3)編輯控制代碼; (4)編譯程序; (5)運行程序。 Qt程序 指紋識別的Qt程序主要包括GUI的設計實現
    發表于 10-15 16:43

    項目分享 | 小熊派DIY一款指紋門鎖

    就由整體到部分,讓我們來了解門鎖電路中的主要部件及其功能。 制作指紋門鎖所需的主要部件有: 小熊派IoT開發板 指紋門鎖中的主控模塊。主要功能有指紋識別后開鎖的控制、控制門鎖中指紋
    發表于 10-09 13:55

    EsDA,一站式嵌入式軟件

    EsDA是一套面向工業智能物聯領域的嵌入式系統設計自動化工具集,包含實時操作系統AWorksLP、低代碼開發平臺AWStudio、資源管理平臺AXPI、跨平臺GUI引擎AWTK和云服務平臺ZWS
    的頭像 發表于 09-15 08:10 ?767次閱讀
    <b class='flag-5'>EsDA</b>,一站式嵌入式軟件

    RK3588 技術分享 | 在Android系統中使用NPU實現Yolov5檢測-迅為電子

    RK3588 技術分享 | 在Android系統中使用NPU實現Yolov5檢測-迅為電子
    的頭像 發表于 08-23 14:58 ?1339次閱讀
    RK3588 技術分享 | 在Android系統中使用NPU<b class='flag-5'>實現</b>Yolov<b class='flag-5'>5</b><b class='flag-5'>分</b>類<b class='flag-5'>檢測</b>-迅為電子

    使用AD620和IOS124采集電流,工作約1分鐘后幅值開始下降,為什么?

    使用AD620和IOS124采集電流,輸入電流范圍+-50mA,采樣電阻100歐,增益為2倍,+-15V供電。 現象為:輸入50mA電流,AD620剛上電輸出正常9.95V,工作約1分鐘后幅值開始下降,穩定后為8.5V左右, 10mA,20mA現象類似,請教下什么原因?
    發表于 08-16 07:06

    OPA2171采集電壓偏差很大的原因?

    放在這種快速溫變狀態下表現正常嗎? 運放實際是起射極跟隨器作用,并沒有放大作用。 做完快速溫度變化后模塊高溫60度烘烤。冷卻半小時后檢測采集產品改運放支路
    發表于 08-13 06:40
    主站蜘蛛池模板: 性色网址 | 天堂中文在线免费观看 | 手机福利在线观看 | 午夜视频在线网站 | 激情综合网激情 | 欧美a在线播放 | 精品国产污污免费网站入口 | 国产精品国产午夜免费福利看 | 久久综合操 | 婷婷激情四月 | 97久久草草超级碰碰碰 | 手机看片自拍自拍自拍 | 午夜影院免费 | 免费的男女拍拍拍的视频 | 97一本大道波多野吉衣 | 手机在线一区二区三区 | 毛片一级黄色 | 日本黄大乳片免费观看 | 美女扒开尿口给男人桶动态图 | 欧美一级免费在线观看 | 天堂一区二区三区在线观看 | 中文成人在线 | 小草影院亚洲私人影院 | 在线免费国产视频 | 久久97精品久久久久久久看片 | 97天天干 | 国产精品久久久久久久牛牛 | 免费国产zzzwww色 | 亚洲爱爱视频 | 1024你懂的国产在线播放 | 日韩免费高清一级毛片 | 国产99在线播放免费 | 精品影视网站入口 | 伊人网大 | 久久国产乱子伦精品免费午夜 | 亚洲图片综合区另类图片 | ak福利午夜在线观看 | 特级中国aaa毛片 | 亚洲天堂网站 | 午夜韩国理论片在线播放 | 美女视频黄.免费网址 |