单元二

第6课 物联网进阶-下发复杂数据远程开关灯

任务场景:物联网进阶-下发复杂数据远程开关灯
任务场景:物联网进阶-下发复杂数据远程开关灯

一、任务目标

把下发数据拆开,两盏 LED 灯按字段各自亮灭。

二、我们要学什么

  • 学习要点:JSON 下发|一条消息里带多路灯和文字
  • 本课过关:能完成:说出 JSON 下发就是把一条消息转成字典,再按键取值控制;载入编程体验,指出解析后用 l1、l2 分别控制两颗 LED 灯;再运行完整程序,指出同样控灯,并把 txt 字段显示到彩屏 TFT。
  • 示例对齐:编程体验对应 「2-2-1 物联网进阶-下发复杂数据远程开关灯」;完整程序对应 「2-2-2 物联网进阶-多类型复杂数据下发」。

三、本节要点

本课要利用物联网认识 JSON 下发:一条消息里带多个字段。重难点是分清两套——体验只按 l1、l2 控灯;完整再把 txt 写到彩屏。要点对齐「JSON 下发|一条消息里带多路灯和文字」。

1读场景一条消息里拆出两路,两盏灯各自亮灭
2对要点JSON 下发|一条消息里带多路灯和文字
3载入运行十学期兴趣课程积木/代码

四、解题思路

任务:利用物联网,用两套程序认识 JSON 下发。订阅「开灯」后把消息转成字典;编程体验用 l1、l2 控制两颗 LED 灯;完整程序再把 txt 显示到彩屏。请对照灯和屏。

本课主要用到:Wi-Fi;MixIO;LED 灯 1、LED 灯 2;完整再用彩屏 TFT。

  1. 1利用物联网,一条 JSON 消息里的字段,能不能分别落到灯和屏上。
  2. 2订阅「开灯」,循环里检查消息。
  3. 3把收到的消息转成字典。
  4. 4l1、l2 为 1 则点亮对应 LED 灯,否则熄灭。完整再取出 txt,居中显示到彩屏。
  5. 5完成补全与从头编写,并对照现象。

流程示意

订阅开灯主题JSON转成字典l1l2分别控灯完整再显示txt完成补全与从头编写并对照现象

五、图形块功能讲解

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

图形块分类作用本课用法
赋值
变量给变量写入新值。回调里把 json.loads 的结果赋给字典变量,后面用键取值。
JSON 转字典
字典解析 JSON 为字典。两套都把「开灯」主题收到的消息转成字典。
取字典值(默认)
字典键不存在时返回默认值,缺 l1/l2 也不会报错。体验取 l1、l2,缺省当 0,用来开关两颗 LED 灯;完整再取 txt,缺省为空字,写到彩屏。

六、知识点讲解

JSON 下发把一条消息转成字典,用键取值。同一条里可以同时带两路灯和一段文字。

先弄清:先转字典再取值;再进编程练习对照 l1、l2 和 txt。

七、编程练习

点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木均来自 MixGo SANT 十学期兴趣课程/学期4。若题目带外设 design,载入时会自动导入接线。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

十学期兴趣课程:2-2-1 物联网进阶-下发复杂数据远程开关灯.mix。载入后运行。

八、课堂练习

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

  1. 判断:编程体验把收到的消息当普通文字直接显示到彩屏。

  2. 判断:完整程序解析 JSON 后除了控制两颗 LED 灯,还把 txt 字段显示到彩屏。

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

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

  5. 给完整程序下发 l1=1、l2=0、txt=你好,应看到?

九、本节小结

本课认识JSON 下发:一条消息里带多路字段。编程体验用 l1、l2 控制两颗 LED 灯;完整程序再把 txt 显示到彩屏。