二、智慧校园

第7课 远程开关灯

任务场景:远程开关灯
任务场景:远程开关灯

一、任务目标

订阅主题「开灯」:收到 '1' 两盏灯都开,收到 '0' 都关。完整代码改成「开灯1」「开灯2」两路分别控制。

二、我们要学什么

  • 学习要点:远程开关灯靠订阅回调,主循环要 check_msg
  • 本课过关:能指出体验一个主题管两灯;完整代码两个主题分灯。
  • 示例对齐:体验题对应 「2-3-1 远程开关灯」;完整代码对应 「2-3-2 单独控制远程开关灯」。

三、本节要点

体验 2-3-1 没有分灯。开灯1/开灯2 是 2-3-2。

1读场景明确真实任务
2对要点先总开关,再分灯
3载入运行本课积木/代码

四、解题思路

  • 输入:MQTT 消息 '1' / '0'。
  • 输出:板载 LED 亮灭。
  • 生活对照:总闸 vs 每个房间的灯。
  • 验证现象:主循环必须 check_msg,否则回调不会跑。

本课主要用到:Wi-Fi、MixIO、板载 LED。

  1. 1set_callback + subscribe。
  2. 2体验主题开灯,1 开两灯、0 关两灯。
  3. 3while True: check_msg()。
  4. 4完整代码两套回调。

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

任务:远程开关灯判断传感或变量是否达到阈值…把计算结果映射到可观察输出…搭出主循环,让程序一直运行…载入官方示例后先点运行,对…

五、图形块功能讲解

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

图形块分类作用本课用法
订阅 MixIO
MixIO订阅主题以接收数据。体验:订阅开灯。
检查 MixIO
MixIO检查平台连接或消息。主循环 check_msg。
LED 亮灭
板载执行打开或关闭指定 LED。消息 1/0 开关灯。

六、知识点讲解

本课核心是订阅才能被遥控。不 check_msg,灯不会动。

同一主题

体验 '1' 开 1 和 2 号灯。

分主题

完整代码 开灯1 / 开灯2。

字符串

比较的是 '1' 和 '0',不是数字 1。

  • 过关:能说出体验不分灯。

先对总开关,再看完整代码的两个订阅。

七、编程练习

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

2-3-1 远程开关灯.mix。载入后运行。

八、课堂练习

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

  1. 判断:体验题用两个主题分别开关两盏灯。

  2. 判断:主循环需要反复 check_msg 才会进回调。

  3. 体验收到 '1' 会?

  4. 完整代码第二盏灯订阅的主题是?

九、本节小结

记住:体验一个主题管两灯;分灯是 2-3-2。