单元五

第18课 发送按下门铃——发布

任务场景:发送按下门铃——发布
任务场景:发送按下门铃——发布

一、任务目标

向指定主题发出消息:按 B1 发门铃,定时把花盆读数发到网上。

二、我们要学什么

  • 学习要点:发布|向指定主题发出消息
  • 本课过关:能完成:说出发布就是向指定主题发出消息;载入体验程序,指出按 B1 向「Bell」发出「有人按门铃」,定时器向「设备状态」发出「在线」;再运行完整程序,指出约每 5 秒向「空气温度」「光照强度」「花盆角度」发出当前读数。
  • 示例对齐:体验题对应 「教育部教学指南改进版/八年级/13-2-1 发送按下门铃」;完整代码对应 「教育部教学指南改进版/八年级/17-1 发送花瓶数据」。

三、本节要点

前课练订阅收消息,本课反过来练发布:设备主动向指定主题发出消息。重难点是分清两套程序——体验按 B1 向「Bell」发「有人按门铃」,定时器向「设备状态」发「在线」;完整约每 5 秒向「空气温度」「光照强度」「花盆角度」发出读数。要点对齐「发布|向指定主题发出消息」。

1读场景明确真实任务
2对要点发布|向指定主题发出消息
3载入运行官方积木/代码

四、解题思路

任务:用两套程序认识发布——设备主动向主题发出消息。体验按 B1 向「Bell」发「有人按门铃」,定时器向「设备状态」发「在线」;完整约每 5 秒发出温度、光照和花盆角度。请先分清每套发出的主题和消息。

本课主要用到:体验程序用 MixIO、板载 B1 按键;完整程序用 MixIO、温湿度传感、光照传感、加速度传感。

  1. 1明确任务「发送按下门铃——发布」:向指定主题发出消息。
  2. 2连接 MixIO,准备发布。
  3. 3体验:主循环检测 B1,刚按下就向「Bell」发布「有人按门铃」;定时器到期向「设备状态」发布「在线」。
  4. 4完整:循环读取温度、光照、加速度,分别向「空气温度」「光照强度」「花盆角度」发布,延时约 5 秒。
  5. 5在 MixIO 仿真里对照对应主题是否出现消息。

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

发布:向指定主题发出消息连接 MixIO,准备发布体验:按B1向Bell发门铃消息完整:约5秒发温度光照角度对照MixIO主题上的消息

五、图形块功能讲解

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

图形块分类作用本课用法
获取加速度
板载传感读取板载加速度(X/Y/Z 或合加速度),可判断板子倾斜/震动。本课完整代码用加速度近似「花盆角度」;载入后可在工具箱对照。

六、知识点讲解

发布是设备主动向指定主题发出消息。前课等消息到来,本课自己发出去。体验程序按 B1 向「Bell」发出「有人按门铃」,定时器向「设备状态」发出「在线」。完整程序约每 5 秒向「空气温度」「光照强度」「花盆角度」发出当前读数。门铃按键和花盆读数只是两条例子。

先分清两套程序各向哪些主题发出什么消息,再进编程练习对照现象。

七、编程练习

点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木优先来自 MixGo Sant 官方示例「教育部教学指南改进版/八年级」。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

官方示例:13-2-1 发送按下门铃.mix。载入后运行。

八、课堂练习

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

  1. 判断:体验程序在按下 B1 键时,会向主题「Bell」发布消息「有人按门铃」。

  2. 判断:完整程序和体验程序一样,也是按下 B1 就向「Bell」发布「有人按门铃」。

  3. 本课说的「发布」指的是?

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

  5. 运行体验程序后按下 B1 键,应观察到?

九、本节小结

前课订阅收消息,本课认识发布:向指定主题发出消息。体验程序按下 B1 向「Bell」发出「有人按门铃」,定时器向「设备状态」发出「在线」。完整程序约每 5 秒向「空气温度」「光照强度」「花盆角度」发出当前读数。在 MixIO 仿真里对照主题上的消息即可验证。