三、广播遥控

第11课 带序号消息

任务场景:带序号消息
任务场景:带序号消息

一、任务目标

按 T2 把字典里的序号加一,再把整段 JSON 广播出去;收到后打印序号。完整代码若对方不是回复,就加「回复=True」再发回去。

二、我们要学什么

  • 学习要点:带序号的消息用 JSON 字典,不要只发一个整数
  • 本课过关:能指出体验只打印序号;完整代码会回带 回复 标记的同一条。
  • 示例对齐:体验题对应 「3-3-1 带序号消息」;完整代码对应 「3-3-2 可靠消息发送」。

三、本节要点

体验 3-3-1 没有自动回复。回执是 3-3-2。

1读场景明确真实任务
2对要点JSON 带序号,再谈回执
3载入运行本课积木/代码

四、解题思路

  • 输入:T2 短按。
  • 输出:广播 JSON;回调 print 序号。完整代码再回传。
  • 生活对照:快递单号:发出去要有编号,签收再回一票。
  • 验证现象:每按一次序号变大;对端打印同一序号。

本课主要用到:无线广播、JSON 字典、T2。

  1. 1mydict 含 序号 和 消息。
  2. 2T2:序号+1 后 dumps 发送。
  3. 3收到 loads 后 print 序号。
  4. 4完整代码无 回复 则补 True 再 send。

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

任务:带序号消息判断传感或变量是否达到阈值…搭出主循环,让程序一直运行…载入官方示例后先点运行,对…

五、图形块功能讲解

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

图形块分类作用本课用法
创建字典
字典用若干键值对组成字典。mydict={"序号":0,"消息":'light'}。
增改字典项
字典新增或修改键值。载入后可在工具箱对照本课用法。
取字典值
字典按键读取值。载入后可在工具箱对照本课用法。
字典转 JSON
字典序列化为 JSON 字符串。send 前 json.dumps(mydict)。
JSON 转字典
字典解析 JSON 为字典。收到后 json.loads。
取字典值(默认)
字典键不存在时返回默认值。完整代码 dictcmd.get('回复', False)。

六、知识点讲解

本课核心是带序号的 JSON。整数广播升级成可扩展字典。

序号

每按 T2 加一,用来认是哪一条。

loads/dumps

无线里走字符串,两端都要会编解码。

回复

完整代码避免把回执再当新命令处理。

  • 过关:能说出体验不自动回执。

先看打印的序号,再看完整代码的 回复。

七、编程练习

点「载入」打开 MixVM(board=mixgo_zero_design)。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

3-3-1 带序号消息.mix。载入后运行。

八、课堂练习

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

  1. 判断:体验题收到消息后会自动把 回复=True 发回去。

  2. 判断:按 T2 会把字典里的序号加一再 dumps 发送。

  3. 体验收到后打印的是?

  4. 完整代码给回执加上的键是?

九、本节小结

记住:T2 发送带序号的 JSON;回执是 3-3-2。