单元八
第30课 刷脸开锁——身份与权限

一、任务目标
做成能分清身份与权限的门锁:先认出是谁,权限够了才完成开门操作。
二、我们要学什么
- 学习要点:身份与权限|先认出是谁,权限够了才开锁
- 本课过关:能完成:说出身份是消息里的 id(是谁),权限是概率够不够才开门;载入体验程序,指出输入是「face」主题的 JSON,输出是串口打印 id 和 faceProbability,概率大于0.8时完成开门操作;再运行完整程序,指出它多打印 name,不再根据概率开门。
- 示例对齐:体验题对应
教育部教学指南改进版/八年级/15-3 刷脸开锁.mix;完整代码对应教育部教学指南改进版/八年级/15-2 利用摄像头实现人脸识别.mix。
三、本节要点
前课先把人脸消息里的字段打印出来核对。本课做成门锁:身份回答「是谁」,权限回答「能不能开」。体验程序认出 id 后,权限够了才完成开门操作;完整程序把 id、name 和可信度都打印出来,方便核对身份。人脸消息只是例子;0.8 只是体验里权限够不够的门槛。要点对齐「身份与权限|先认出是谁,权限够了才开锁」。
四、解题思路
任务:用两套程序认识身份与权限——都订阅「face」并解析 JSON;体验程序在人脸概率大于0.8时彩屏开门再关门,完整程序多打印 name。请先分清每套的输入和输出,对照打印与是否开门。
本课主要用到:两套都用 MQTT 订阅「face」并在串口打印字段;体验程序在可信度够了时完成开门操作。
- 1明确任务「刷脸开锁——身份与权限」:人脸消息只是例子,要观察的是身份字段和开锁条件。
- 2连网并订阅「face」,循环检查消息。
- 3把消息解析成字典,打印 id 和 faceProbability。
- 4体验程序:概率大于 0.8 时完成开门操作,延时约 2 秒再关门。
- 5完整程序:打印 id、name、faceProbability,对照字段是否齐全。
流程示意(可对照左侧文字)
五、图形块功能讲解
本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。
六、知识点讲解
先弄清:人脸消息是例子,要认识的是身份与权限;再进编程练习对照现象。
七、编程练习
点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木优先来自 MixGo Sant 官方示例「教育部教学指南改进版/八年级」。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
官方示例:15-3 刷脸开锁.mix。载入后运行。
正在载入编程环境
正在载入 MixGo SANT 仿真编程环境…
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:体验程序在 faceProbability 大于0.8时,会在彩屏显示开门图,约2秒后再显示关门图。
判断:完整程序也会根据 faceProbability 大于0.8在彩屏显示开门图。
本课说的「身份与权限」分别对应?
体验程序和完整程序的主要差别是?
运行体验程序并收到 faceProbability 为0.9的消息,应看到?
九、本节小结
前课核对人脸字段,本课做成能分清身份与权限的门锁:先认出是谁,权限够了才开锁。体验程序订阅「face」,打印 id 和可信度,权限够了才完成开门操作,约 2 秒后再关门。完整程序同样订阅「face」,打印 id、name、faceProbability,用来核对身份。