点击“蘑菇云创造”关注我们
【义务教育信息科技课程教学指南】八年级 物联网实践与探索模块 第30课中要求学生体验摄像头活体检测和密码解锁过程,了解身份验证技术,认识物联系统安全的重要性。描述原文如下图:
实验设计
结合指南课程中实践要求,行空板M10信息科技实验盒(后称“实验盒”)作为物联网设备的一种,我们利用其自带的摄像头、opencv关键点检测库以及内置的物联网服务程序,设计了两个实验,帮助学生通过观察,理解身份验证技术处理原理,思考物联网安全的重要性。
实验1(30-1):体验摄像头活体检测
实验2(30-2):体验密码验证检测
30-1 体验摄像头活体检测
学习目标
了解物联网中用户虚拟身份和设备虚拟身份。
实操目标
实验盒上摄像头识别到人眨眼和张嘴会记录,并在行空板屏幕上展示眨眼次数和张嘴次数,眨眼两次后张嘴则控制舵机模拟开门。
活动准备
硬件清单
软件使用
Mind+编程软件x1
下载地址:https://www.mindplus.cc
活动过程
本次活动重点关注通过摄像头实时检测人脸,结合眨眼和张嘴的活体检测技术,验证通过后控制舵机开锁,实现了一个基于活体检测的门禁系统。
1. 硬件连线
长按ON/OFF按钮启动实验盒,使用USB连接线将实验盒连接到计算机。
将舵机3P线接到P21引脚,舵机可按上舵机盘便于观察。
2. 准备软件
按照下图步骤,设置Mind+软件编程方式为Python代码编程,并完成行空板连接。
连接成功之后点击右上方的“库管理”按钮安装opencv需要的库。
选择“推荐库”,在“图像处理”一栏中找到“opencv-Python”库并点击“安装”。
注意:按照库时,实验盒需要连接网络。
3.编写程序
程序中要循环读取摄像头画面,对画面处理后进行人脸检测,检测画面中的人像眨眼和张嘴,活体验证通过后控制舵机开锁。
从文件夹中找到“30-1-体验摄像头活体检测.py”和关键点检测模型“lbfmodel.yaml”文件拖入“项目中的文件”并打开。
下面是核心程序解释:
(1)使用三个参数定义活体检测的状态,开始均为False,表示未开始检测。
(2)活体检测原理部分核心代码如下:
当眨眼次数大于1,mouth_opened变为True;张嘴次数大于1,blink_sequence_completed变为True;在上述两个条件均成立的前提下,liveness_detected变为True,舵机旋转。
4.运行程序
点击界面右上方的运行按钮,运行程序。
运行程序后等待屏幕显示摄像头画面,之后用脸对着摄像头查看实验盒的反应。
当眨眼和张嘴时都能在屏幕看到眨眼次数变化和张嘴次数变化。
5. 测试及活动记录
接下来,同学们可以根据实践操作表或修改程序,完成程序各功能测试。
[实践操作]填写实践记录表:
30-2 体验密码验证检测
学习目标
了解身份认证技术,认识物联系统安全的重要性。
实操目标
通过SIoT创建的主题给实验盒发送消息,实验盒验证消息是否正确,如果正确则控制舵机模拟开门,如果错误则在实验盒显示“用户名或密码错误”的提示。
活动准备
硬件清单
软件使用
Mind+编程软件x1
下载地址:https://www.mindplus.cc
活动过程
本次活动重点是通过SIoT发送消息到实验盒,实验盒验证消息正确或者错误,分别执行相应的操作。
1. 硬件连线
长按ON/OFF按钮启动实验盒,使用USB连接线将实验盒连接到计算机。
将舵机3P线接到P21引脚,舵机可按上舵机盘便于观察。
2. 准备软件
连接实验盒和Mind+,搭建SIoT服务器,创建主题为:siot/用户信息。
3.编写程序
该代码通过SIoT平台发送用户信息,实验盒验证用户名和密码是否正确,如果正确则控制舵机开锁,如果错误则在控制台和实验盒屏幕显示输出错误提醒。
从文件夹中找到“30-2-体验密码验证检测.py”文件拖入“项目中的文件”并打开。
核心程序分为3个部分,设置用户名和密码,解析信息和判断信息。
(1)设置用户名和密码,同学们可以修改自己的用户名和密码:
(1)解析信息,正确信息格式为“用户名,密码,命令”(符号为英文),需要用“,”将3个信息拆分出来,程序如下:
(2)判断消息是否正确,程序如下:
4.运行程序
点击界面右上方的运行按钮,运行程序。
运行程序后打开SIoT后台,点击创建主题的“查看详情”,进入后在上方消息发送区域进行消息的发送。
分别发送正确和错误消息,查看实验盒所显示的不同的内容,上面示例中的正确消息为:siot,dfrobot,open。
5. 测试及活动记录
接下来,同学们可以根据实践操作表或修改程序,完成程序各功能测试。
[实践操作]填写实践记录表:
添加小助手微信可获取相关资料:DFRobot2018
往期推荐

