单元五
第18课 发送按下门铃——发布

一、任务目标
向指定主题发出消息:按 B1 发门铃,定时把花盆读数发到网上。
二、我们要学什么
- 学习要点:发布|向指定主题发出消息
- 本课过关:能完成:说出发布就是向指定主题发出消息;载入体验程序,指出按 B1 向「Bell」发出「有人按门铃」,定时器向「设备状态」发出「在线」;再运行完整程序,指出约每 5 秒向「空气温度」「光照强度」「花盆角度」发出当前读数。
- 示例对齐:体验题对应 「教育部教学指南改进版/八年级/13-2-1 发送按下门铃」;完整代码对应 「教育部教学指南改进版/八年级/17-1 发送花瓶数据」。
三、本节要点
前课练订阅收消息,本课反过来练发布:设备主动向指定主题发出消息。重难点是分清两套程序——体验按 B1 向「Bell」发「有人按门铃」,定时器向「设备状态」发「在线」;完整约每 5 秒向「空气温度」「光照强度」「花盆角度」发出读数。要点对齐「发布|向指定主题发出消息」。
四、解题思路
任务:用两套程序认识发布——设备主动向主题发出消息。体验按 B1 向「Bell」发「有人按门铃」,定时器向「设备状态」发「在线」;完整约每 5 秒发出温度、光照和花盆角度。请先分清每套发出的主题和消息。
本课主要用到:体验程序用 MixIO、板载 B1 按键;完整程序用 MixIO、温湿度传感、光照传感、加速度传感。
- 1明确任务「发送按下门铃——发布」:向指定主题发出消息。
- 2连接 MixIO,准备发布。
- 3体验:主循环检测 B1,刚按下就向「Bell」发布「有人按门铃」;定时器到期向「设备状态」发布「在线」。
- 4完整:循环读取温度、光照、加速度,分别向「空气温度」「光照强度」「花盆角度」发布,延时约 5 秒。
- 5在 MixIO 仿真里对照对应主题是否出现消息。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 板载传感 | 读取板载加速度(X/Y/Z 或合加速度),可判断板子倾斜/震动。 | 本课完整代码用加速度近似「花盆角度」;载入后可在工具箱对照。 |
六、知识点讲解
先分清两套程序各向哪些主题发出什么消息,再进编程练习对照现象。
七、编程练习
点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木优先来自 MixGo Sant 官方示例「教育部教学指南改进版/八年级」。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
官方示例:13-2-1 发送按下门铃.mix。载入后运行。
正在载入编程环境
正在载入 MixGo SANT 仿真编程环境…
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:体验程序在按下 B1 键时,会向主题「Bell」发布消息「有人按门铃」。
判断:完整程序和体验程序一样,也是按下 B1 就向「Bell」发布「有人按门铃」。
本课说的「发布」指的是?
体验程序和完整程序的主要差别是?
运行体验程序后按下 B1 键,应观察到?
九、本节小结
前课订阅收消息,本课认识发布:向指定主题发出消息。体验程序按下 B1 向「Bell」发出「有人按门铃」,定时器向「设备状态」发出「在线」。完整程序约每 5 秒向「空气温度」「光照强度」「花盆角度」发出当前读数。在 MixIO 仿真里对照主题上的消息即可验证。
