![d0aaf5c8-e672-11ed-ab56-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNWAIMpCAAABH5UOQQI197.jpg)
![d0b0bb70-e672-11ed-ab56-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNWAPKS4AADAZUbd4BQ426.jpg)
![d0c4c5d4-e672-11ed-ab56-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNWAUfeKAAABH5UOQQI599.jpg)
-
EsDAMPC-ZC1入門(一)——軟件安裝
-
EsDAMPC-ZC1入門(二)——LED控制
-
基于EsDAMPC-ZC1快速實現——按鍵高級應用
![d0c4c5d4-e672-11ed-ab56-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNWAUfeKAAABH5UOQQI599.jpg)
1. MPC-ZC1開發套件(其中物聯網卡與4G天線,本章未使用)
![d0cfa24c-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNWAKz9wAAKPjI4bXOM413.png)
![d111889c-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNaAAS2mAAMCggMMOXk104.png)
![d0c4c5d4-e672-11ed-ab56-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNWAUfeKAAABH5UOQQI599.jpg)
具體功能流圖如下:
??節點解析
1. button節點
![d146f0b8-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNaAf_iOAAD9kmK6reg689.png)
此處我們選用引腳P4.6,觸發方式為下降沿觸發。
2. button_expand節點
本章中,我們使用button_expand節點來處理從button節點中傳遞而出的信號,從而做到識別單擊、雙擊、三擊、四擊、五擊等操作。各button_expand節點配置如下。2.1 單擊
此處配置,我們統一使用continuous mode(trigger)操作模式與動作間隔為1000ms,改變按鍵次數配置分別為1,即相鄰兩次按下間隔在1000ms以內時,重新開始計數,超時則停止,當計數值達分別達到1時,觸發后續節點。
該節點的具體使用規則以及模式講解,請參考基于 EsDA MPC-ZC1 快速實現——按鍵高級應用。2.2雙擊![d171126c-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNeAJ0eEAAFpBst8Gr4329.png)
該節點的具體使用規則以及模式講解,請參考基于EsDA MPC-ZC1 快速實現——按鍵高級應用。
2.3三擊
該節點的具體使用規則以及模式講解,請參考基于EsDA MPC-ZC1 快速實現——按鍵高級應用。
2.4四擊
該節點的具體使用規則以及模式講解,請參考基于EsDA MPC-ZC1 快速實現——按鍵高級應用。
2.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.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNeAUUopAAJAokFOsdQ330.png)
![d1d436f8-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNeALEU_AAIDK64A_t4682.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.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNiADRqPAAI_tPK2k7c892.png)
![d1f699f0-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNiADl6LAAIKyk0GXFE856.png)
3.3刪除對應位置與數量的指紋
3.3.1 輸入![d20dadd4-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNiACaHNAAJAfLbpqZM648.png)
![d224a732-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNiAQPVdAAIHbv2PuC0400.png)
同理,命令參數為"delete",配置附加參數為頁面ID參數pageid與刪除數量num,兩參數數值均為無符號16進制數值,否則輸出result參數值為"error"。
3.4清空指紋數據庫
3.4.1 輸入![d23bbba2-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNiACddXAAJBDW9s728533.png)
![d2450b76-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNiAIlyZAAHeaNEWg1I189.png)
3.5獲取有效模板數
3.5.1 輸入![d24eadac-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNiAL6EfAAJAGWa79NE583.png)
![d26103e4-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNmAbsd-AAHmH0JAZbc119.png)
同理,命令參數為"get_num",若獲取成功,則輸出result參數值為"ok",模板數量參數值num為無符號16進制數值,否則輸出result參數值為"error"。
4. fscript節點
該節點主要用于對zn101(指紋模塊)節點進行命令下發與結果處理。若對fscript腳本語法不了解,可參考FScript腳本引擎語法規則。下圖為向zn101節點發送錄入指紋命令的代碼段語句,以及所填配置,即顯示名稱為錄入指紋(1)的fscript節點的配置信息。
錄入指紋:
//顯示名稱為 錄入指紋(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對象分發給后繼節點。
該腳本文件主要實現,對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](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNmAORN0AAGlY55M0V0218.png)
??效果展示
注意:Debug串口窗口配置為波特率921600、數據為8、停止位1、無校驗與流控位。具體COM口根據實際情況而定,若用戶不知道串口是多少,可打開設備管理器,重新插拔電源,查看COM口新增情況來確定。
1. 按一下按鈕,并將手指按在指紋模塊上,錄取指紋成功,串口窗口顯示如下:
![d29e495c-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNmATrOQAACF-mzjucE516.png)
![d2c6a064-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNmAC159AACF0Mm0tgA527.png)
![d2d57986-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNmAWEJaAACNRk1vvFQ615.png)
![d2f79110-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNqAeopzAACGPJu-zQQ683.png)
![d3068cc4-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNqAZLvkAACIlxJW9iQ841.png)
![d0c4c5d4-e672-11ed-ab56-dac502259ad0.jpg](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNWAUfeKAAABH5UOQQI599.jpg)
![d316b57c-e672-11ed-ab56-dac502259ad0.png](https://file1.elecfans.com//web2/M00/9A/55/wKgZomTnnNqAewx1AADsKECXPss498.png)
【版權聲明】本文為ZLG開發者社區用戶原創內容,未經授權不得轉載。歡迎更多用戶到社區交流互動、創作博文,一經采用,可獲得百元京東E卡。
-
致遠電子
+關注
關注
13文章
408瀏覽量
31333
原文標題:【EsDA應用】如何5分鐘快速實現指紋采集與檢測
文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
ST NPI 新上架產品【ESDA5WY】Datasheet
國產人工智能教學實驗箱操作案例分享:5-27 指紋識別實驗
EsDA,一站式嵌入式軟件
![<b class='flag-5'>EsDA</b>,一站式嵌入式軟件](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
使用AD620和IOS124采集電流,工作約1分鐘后幅值開始下降,為什么?
國軒高科發布G刻電池,可實現充電9.8分鐘補能80%
嵐圖發布“琥珀電池”,續航達900km,10分鐘充電即可滿足450km續航?
谷歌為iOS用戶提供"快速刪除"功能,快速清理15分鐘瀏覽記錄
指紋掛鎖方案——采用ACH512或ACM32FP4指紋芯片和88*112傳感器,指紋識別速度快,BOM成本低
理想5C超充樁啟用,12分鐘可充電500公里
3分鐘快速實現串口PLC遠程下載程序操作說明
![3<b class='flag-5'>分鐘</b><b class='flag-5'>快速</b><b class='flag-5'>實現</b>串口PLC遠程下載程序操作說明](https://file1.elecfans.com/web2/M00/C1/07/wKgZomXcPLCAEo-pAASDGLfbaEg703.png)
如何利用AWFlow快速使用無線模組ZM602
![如何利用AWFlow<b class='flag-5'>快速</b>使用無線模組ZM602](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
如何基于EsDA開發套件快速使用射頻讀卡器模塊
![如何基于<b class='flag-5'>EsDA</b>開發套件<b class='flag-5'>快速</b>使用射頻讀卡器模塊](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
評論