二、智慧校园

第5课 刷卡签到

任务场景:刷卡签到
任务场景:刷卡签到

一、任务目标

刷到 RFID 卡号后蜂鸣,并把 id 发布到「学生ID」。完整代码用 oldid 避免同一张卡连续重复上报。

二、我们要学什么

  • 学习要点:签到上报的是卡号,先防空读,再防重复
  • 本课过关:能指出体验有卡就发;完整代码还要求 id != oldid。
  • 示例对齐:体验题对应 「2-1-1 刷卡签到」;完整代码对应 「2-1-2 防重复刷卡签到」。

三、本节要点

定时器 ping 失败会播 BA_DING,那是保活提示,不是签到成功音。签到音是 pitch 659。

1读场景明确真实任务
2对要点刷卡发布学生ID
3载入运行本课积木/代码

四、解题思路

  • 输入:RFID id。
  • 输出:蜂鸣 + MQTT 学生ID。
  • 生活对照:门禁机嘀一声上传学号,同一张卡别连刷刷爆。
  • 验证现象:有卡应发布;完整代码连刷同一张不应反复发。

本课主要用到:Wi-Fi、MixIO、RFID、蜂鸣器。

  1. 1有卡则 pitch 再 publish 学生ID。
  2. 2sleep 2 防连刷(体验)。
  3. 3完整代码改用 oldid 记录上次。

流程示意(可对照左侧文字)

任务:刷卡签到判断传感或变量是否达到阈值…用系统时间或定时器记录时刻…搭出主循环,让程序一直运行…加入延时(约2秒/单位),…

五、图形块功能讲解

下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
赋值
变量给变量写入新值。载入后可在工具箱对照本课用法。
读 RFID 卡号
板载传感读取射频卡唯一编号。刷到 id 后 publish 学生ID。
蜂鸣器发声
板载执行按音调与时长播放一声。载入后可在工具箱对照本课用法。
取反
逻辑把真变假、假变真。载入后可在工具箱对照本课用法。
EMQX 心跳
MixIO保持 MQTT 连接活跃。定时 ping,失败则 BA_DING。
播放旋律
板载执行按音符列表连续播放。载入后可在工具箱对照本课用法。
并且/或者
逻辑组合多个条件。载入后可在工具箱对照本课用法。

六、知识点讲解

本课核心是刷卡上报学号。还没有姓名字典。

学生ID

载荷就是卡号。

oldid

完整代码记住上一张,相同则忽略。

心跳音

BA_DING 表示 MQTT 心跳失败,不要当成签到成功。

  • 过关:能说出体验用延时、完整代码用 oldid。

先看学生ID 主题,再对照防重复。

七、编程练习

点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

2-1-1 刷卡签到.mix。载入后运行。

八、课堂练习

先完成两道判断题,再完成选择题;全部选定后点「检查」。

  1. 判断:体验题用字典把卡号译成姓名再上报。

  2. 判断:完整代码用 oldid 过滤同一张卡的连续重复。

  3. 签到成功时蜂鸣用的是?

  4. 体验发布的主题是?

九、本节小结

记住:本课上报卡号;防重复是 2-1-2。