![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文章
409浏览量
31472
原文标题:【EsDA应用】如何5分钟快速实现指纹采集与检测
文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
用ADS1255做了个数据采集板,发现在采集信号时刚开始的2分钟会有漂移,什么原因导致的?
1分钟,实现传感器通过串口服务器接入ZWS云
![1<b class='flag-5'>分钟</b>,<b class='flag-5'>实现</b>传感器通过串口服务器接入ZWS云](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
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)
评论