单元五
第20课 远程开关灯

一、任务目标
按主题消息远程执行:发 1 点亮 LED 灯或完成开门操作,发 0 则关掉。
二、我们要学什么
- 学习要点:MQTT 与云端|按主题消息远程执行
- 本课过关:能完成:说出 MQTT 与云端靠主题把指令送到设备;载入体验程序,指出订阅「开灯」、消息 1 点亮 LED、消息 0 熄灭 LED,点阵屏先显示 WO 再显示 MO;再运行完整程序,指出订阅「开门」、消息 1 完成开门操作、消息 0 关门,点阵屏同样先 WO 后 MO。
- 示例对齐:体验题对应
教育部教学指南改进版/八年级/5-2 远程开关灯.mix;完整代码对应教育部教学指南改进版/八年级/4-2 远程开关门.mix。
三、本节要点
前课订阅门铃或开门消息,本课把订阅做成远程执行:用主题把远程指令送到设备。重难点是分清两套程序——体验订阅「开灯」,消息 1/0 开关 LED 灯;完整订阅「开门」,消息 1/0 完成开门或关门。两套点阵屏都先显示 WO、登录后显示 MO。要点对齐「MQTT 与云端|按主题消息远程执行」。
四、解题思路
任务:用两套程序认识 MQTT 与云端——用主题把远程指令送到设备。体验订阅「开灯」,消息 1/0 开关 LED;完整订阅「开门」,消息 1 完成开门操作、消息 0 关门。请先分清每套的主题和执行件。
本课主要用到:体验程序用 MixIO、点阵屏、LED;完整程序用 MixIO、点阵屏、彩屏 TFT。
- 1明确任务「远程开关灯」:用主题把远程指令送到设备。
- 2连接后点阵屏先显示 WO,登录 MixIO 后显示 MO。
- 3体验订阅「开灯」,完整订阅「开门」;主循环检查消息。
- 4体验:消息 1 点亮 LED,消息 0 熄灭 LED;完整:消息 1 显示开门,消息 0 显示关门。
- 5向对应主题发 1 或 0,对照 LED 灯或是否完成开门操作。
流程示意(可对照左侧文字)
五、图形块功能讲解
本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。
六、知识点讲解
先分清两套程序各订哪个主题、1/0 对应什么输出,再进编程练习对照现象。
七、编程练习
点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木优先来自 MixGo Sant 官方示例「教育部教学指南改进版/八年级」。操作顺序:先运行本机订阅程序,再在内置 MixIO 仿真里向主题「开灯」发送 1(开)或 0(关),看 LED 是否跟随。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。
官方示例:5-2 远程开关灯.mix。载入运行后,用内置 MixIO 仿真向「开灯」发 1/0。
正在载入编程环境
正在载入 MixGo SANT 仿真编程环境…
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:体验程序订阅主题「开灯」,收到消息 1 点亮 LED,收到消息 0 熄灭 LED。
判断:完整程序和体验程序一样,也是订阅「开灯」,按消息 1/0 点亮或熄灭 LED。
本课「MQTT 与云端」在程序里主要指?
体验程序和完整程序的主要差别是?
运行体验程序后,向「开灯」发出消息 1,应看到?
九、本节小结
前课按消息响应,本课认识MQTT 与云端:用主题把远程指令送到设备。体验程序订阅「开灯」,消息 1 点亮 LED 灯、消息 0 熄灭 LED 灯。完整程序订阅「开门」,消息 1 完成开门操作、消息 0 关门。两套点阵屏都先显示 WO、登录后显示 MO。