单元五

第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 与云端|按主题消息远程执行」。

1读场景明确真实任务
2对要点MQTT 与云端|按主题消息远程执行
3载入运行官方积木/代码

四、解题思路

任务:用两套程序认识 MQTT 与云端——用主题把远程指令送到设备。体验订阅「开灯」,消息 1/0 开关 LED;完整订阅「开门」,消息 1 完成开门操作、消息 0 关门。请先分清每套的主题和执行件。

本课主要用到:体验程序用 MixIO、点阵屏、LED;完整程序用 MixIO、点阵屏、彩屏 TFT。

  1. 1明确任务「远程开关灯」:用主题把远程指令送到设备。
  2. 2连接后点阵屏先显示 WO,登录 MixIO 后显示 MO。
  3. 3体验订阅「开灯」,完整订阅「开门」;主循环检查消息。
  4. 4体验:消息 1 点亮 LED,消息 0 熄灭 LED;完整:消息 1 显示开门,消息 0 显示关门。
  5. 5向对应主题发 1 或 0,对照 LED 灯或是否完成开门操作。

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

MQTT与云端:主题送到设备点阵屏先WO,登录后显示MO体验订「开灯」,完整订「开门」1/0:体验开关LED,完整开关门向主题发1或0,对照灯或门

五、图形块功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

六、知识点讲解

MQTT 与云端靠主题把远程指令送到设备。前三课拆开练欢迎、发布、订阅,本课用同一条订阅通路换主题和执行件。体验程序订阅「开灯」,消息 1 点亮 LED 灯、消息 0 熄灭 LED 灯。完整程序订阅「开门」,消息 1 完成开门操作、消息 0 关门。两套点阵屏都先显示 WO、登录后显示 MO。开关灯和开关门只是两条例子。

先分清两套程序各订哪个主题、1/0 对应什么输出,再进编程练习对照现象。

七、编程练习

点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木优先来自 MixGo Sant 官方示例「教育部教学指南改进版/八年级」。操作顺序:先运行本机订阅程序,再在内置 MixIO 仿真里向主题「开灯」发送 1(开)或 0(关),看 LED 是否跟随。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。

官方示例:5-2 远程开关灯.mix。载入运行后,用内置 MixIO 仿真向「开灯」发 1/0。

八、课堂练习

先完成两道正误判断,再做其余题目;选出后点「检查」。

  1. 判断:体验程序订阅主题「开灯」,收到消息 1 点亮 LED,收到消息 0 熄灭 LED。

  2. 判断:完整程序和体验程序一样,也是订阅「开灯」,按消息 1/0 点亮或熄灭 LED。

  3. 本课「MQTT 与云端」在程序里主要指?

  4. 体验程序和完整程序的主要差别是?

  5. 运行体验程序后,向「开灯」发出消息 1,应看到?

九、本节小结

前课按消息响应,本课认识MQTT 与云端:用主题把远程指令送到设备。体验程序订阅「开灯」,消息 1 点亮 LED 灯、消息 0 熄灭 LED 灯。完整程序订阅「开门」,消息 1 完成开门操作、消息 0 关门。两套点阵屏都先显示 WO、登录后显示 MO。