一、远程灯光
第2课 JSON远程控制双LED

一、任务目标
回调里 json.loads 报文,按 l1、l2 字段开关两盏灯(字符串 '1' 为开)。完整代码把字段当成亮度整数,用 set_brightness / setonoff。
二、我们要学什么
- 学习要点:一份 JSON 里带两路灯的字段
- 本课过关:能指出体验是亮灭;可调亮度是完整代码。
- 示例对齐:体验题对应 「1-2-1 JSON远程控制双LED」;完整代码对应 「1-2-2 JSON远程控制可调LED」。
三、本节要点
体验比较的是字符串 '1',不是数字 1。
1读场景明确真实任务
2对要点解析 JSON 再改灯
3载入运行本课积木/代码
四、解题思路
- 输入:主题开灯上的 JSON。
- 输出:体验两灯亮灭;完整代码两路亮度。
- 生活对照:一条指令写两盏灯的状态。
- 验证现象:改 l1/l2 后对应灯变化。
本课主要用到:Wi-Fi、MixIO、JSON、板载灯。
- 1loads(msg) 成字典。
- 2看 l1、l2。
- 3体验按 '1' 开关。
- 4完整代码 int 后 set_brightness / setonoff。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 变量 | 给变量写入新值。 | 载入后可在工具箱对照本课用法。 |
![]() | 字典 | 解析 JSON 为字典。 | 体验:json.loads(msg) 再读 l1、l2。 |
![]() | 字典 | 按键读取值。 | 取字段 l1、l2。 |
![]() | 板载执行 | 设置 LED 亮度等级。 | 完整代码 int 后 set_brightness / setonoff。 |
![]() | 变量 | 在原值基础上加或减。 | 载入后可在工具箱对照本课用法。 |
![]() | 数学 | 把数字字符串解析为数值。 | 完整代码把字段转成亮度整数。 |
六、知识点讲解
本课核心是JSON 字段。一包数据里同时有 l1 和 l2,不要拆成两次订阅。
体验
l1=='1' 则开,否则关。
完整代码
int(mydict['l1']) 当亮度。
键名
必须是 l1、l2。
- 过关:能说出体验为什么用字符串比较。
先弄清本课输入与输出,再进编程练习对照现象。
七、编程练习
点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
1-2-1 JSON远程控制双LED.mix。载入后运行。
正在载入编程环境
正在载入 MixGo ZERO 仿真编程环境…
八、课堂练习
先完成两道判断题,再完成选择题;全部选定后点「检查」。
判断:体验用 set_brightness / setonoff 写入 0~100 亮度。
判断:回调里先 json.loads(msg) 再读 l1、l2。
体验 l2 不是 '1' 时 2 号灯?
完整代码对字段做的是?
九、本节小结
记住:体验 JSON 开关两灯;亮度是完整代码。





