一、远程灯光

第1课 远程开关灯

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

一、任务目标

理解订阅 + 检查,能说出体验为什么没有 1号按键。

二、我们要学什么

  • 学习要点:先订阅再循环检查消息,灯才会跟远端变
  • 本课过关:能指出体验只收不发;本机按键发布是完整代码。
  • 示例对齐:体验题对应 「1-1-1 远程开关灯」;完整代码对应 「1-1-2 遥控开关灯」。

三、本节要点

Wi-Fi 为 fuhua3 / 12345678。连接无线网络 在回调外面。

1读场景明确真实任务
2对要点订阅开灯并 「检查消息」
3载入运行兴趣课程积木/代码

四、解题思路

  • 输入:云消息「开灯」;完整代码另用 1号按键/2号按键。
  • 输出:1 号灯。
  • 生活对照:手机开关灯,或本机当遥控器。
  • 验证现象:收到 1 灯亮,收到 0 灯灭。

本课主要用到:无线网络、物联网平台、板载灯;完整代码另用按键发布。

  1. 1定义回调:收到 1 开灯,收到 0 关灯。
  2. 2连接无线网络与物联网平台。
  3. 3订阅「开灯」主题。
  4. 4循环检查消息。

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

定义回调:1 开 0 关连接无线网络与物联网平台订阅「开灯」主题循环检查消息

五、图形块功能讲解

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

图形块分类作用本课用法
连接 Wi-Fi
网络加入指定无线网络。连接无线网络('fuhua3','12345678')。
连接 MixIO
MixIO登录物联网平台。init_MQTT_client。
订阅 MixIO
MixIO订阅主题以接收数据。订阅主题「开灯」。
重复执行
控制按条件反复执行内部积木;条件为「真」时相当于 「重复执行」 无限循环。载入后可在工具箱对照本课用法。
检查 MixIO
MixIO检查平台连接或消息。主循环 「检查消息」。
定义函数
函数封装一段可重复调用的积木。回调 method(client, topic, msg)。
如果…那么…
控制满足条件时执行对应分支,用于按键、传感阈值的判断。载入后可在工具箱对照本课用法。
比较
逻辑比较两个值(大于/等于/小于等),得到真或假。载入后可在工具箱对照本课用法。
取变量
变量读取变量当前值。载入后可在工具箱对照本课用法。
LED 亮灭
板载执行打开或关闭指定 LED。msg=='1'/'0' 开关 1 号灯。
按键刚被按下
板载传感边沿检测:这一瞬间是否刚按下(适合触发一次动作)。完整代码 1号按键 发 1、2号按键 发 0。
发布到 MixIO
MixIO向主题发布数据。完整代码 发布 开灯。

六、知识点讲解

订阅 + 检查。回调里改灯,主循环不 「检查消息」 就收不到。字符串:比较的是 '1' 和 '0'。位置:连接 Wi-Fi 必须在函数外面。遥控:完整代码本机按键去 发布。

对照与过关:能说出体验为什么没有 1号按键。先弄清本课输入与输出,再进编程练习对照现象。

七、编程练习

点「载入」打开 MixVM(board=mini_design)。默认图形化积木;起步程序与积木均来自 MixGo MINI 兴趣课程/学期6。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

兴趣课程:1-1-1 远程开关灯.mix。载入后运行。

八、课堂练习

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

  1. 判断:体验程序用 1号按键、2号按键 向「开灯」发布 1 和 0。

  2. 判断:主循环需要反复 「检查消息」 才会进入回调。

  3. 收到消息 '1' 会?

  4. 本课示例 Wi-Fi 名称是?

九、本节小结

本课主题是远程开关灯:先订阅再循环检查消息,灯才会跟远端变。体验程序只收不发;完整程序本机按键也能把开关消息发出去。