一、远程灯光

第2课 JSON远程控制双LED

任务场景:JSON远程控制双LED
任务场景:JSON远程控制双LED

一、任务目标

理解 JSON 字段,能说出体验为什么用字符串比较。

二、我们要学什么

  • 学习要点:一份 JSON 里带两路灯的字段
  • 本课过关:能指出体验是亮灭;可调亮度是完整代码。
  • 示例对齐:体验题对应 「1-2-1 JSON远程控制双LED」;完整代码对应 「1-2-2 JSON远程控制可调LED」。

三、本节要点

体验比较的是字符串 '1',不是数字 1。

1读场景明确真实任务
2对要点解析 JSON 再改灯
3载入运行兴趣课程积木/代码

四、解题思路

  • 输入:「开灯」主题上的数据包。
  • 输出:体验两灯亮灭;完整代码两路亮度。
  • 生活对照:一条指令写两盏灯的状态。
  • 验证现象:改两路灯字段后对应灯变化。

本课主要用到:无线网络、物联网平台、数据包、板载灯。

  1. 1解析报文成字典。
  2. 2读取两路灯字段。
  3. 3体验按「1」开关。
  4. 4完整代码转成整数后再调亮度。

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

解析报文成字典读取两路灯字段体验按「1」开关完整代码转整数后调亮度

五、图形块功能讲解

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

图形块分类作用本课用法
赋值
变量给变量写入新值。载入后可在工具箱对照本课用法。
JSON 转字典
字典解析 JSON 为字典。体验:json.loads(msg) 再读 l1、l2。
取字典值
字典按键读取值。取字段 l1、l2。
LED 亮度
板载执行设置 LED 亮度等级。完整代码 int 后 setbrightness。
变量增减
变量在原值基础上加或减。载入后可在工具箱对照本课用法。
文字转数字
数学把数字字符串解析为数值。完整代码把字段转成亮度整数。

六、知识点讲解

JSON 字段。一包数据里同时有 l1 和 l2,不要拆成两次订阅。体验:l1=='1' 则开,否则关。完整代码:int(mydict['l1']) 当亮度。键名:必须是 l1、l2。

对照与过关:能说出体验为什么用字符串比较。先弄清本课输入与输出,再进编程练习对照现象。

七、编程练习

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

兴趣课程:1-2-1 JSON远程控制双LED.mix。载入后运行。

八、课堂练习

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

  1. 判断:体验用 setbrightness 写入 0~100 亮度。

  2. 判断:回调里先 json.loads(msg) 再读 l1、l2。

  3. 体验 l2 不是 '1' 时 2 号灯?

  4. 完整代码对字段做的是?

九、本节小结

本课主题是一份报文控两灯:一份远程报文里带两路灯的字段。体验程序按字段开关两盏灯;完整程序按字段调节亮度。