单元五

第15课 高级无线通讯-带序号消息

任务场景:高级无线通讯-带序号消息
任务场景:高级无线通讯-带序号消息

一、任务目标

给无线消息加上序号,每按一次序号加一,那边串口打印当前号。

二、我们要学什么

  • 学习要点:带序号消息|字典里带「序号」,发出去才知道是第几封
  • 本课过关:能完成:说出带序号消息就是把「序号」放进字典再转成 JSON 发出去;载入编程体验,指出按 B1 把序号加一后发出,对端取出「序号」打印;再运行完整程序,指出步骤相同:同样按 B1 加一发出,对端打印序号。
  • 示例对齐:编程体验对应 「5-1 高级无线通讯-带序号消息」;完整程序对应 「5-1 高级无线通讯-带序号消息」。

三、本节要点

本课要利用无线消息认识带序号消息:内容放在字典里,其中一项是「序号」,发送前转成 JSON,收到后再转回字典。两套程序步骤一致:按 B1 序号加一发出,对端打印序号。要点对齐「带序号消息|字典里带「序号」,发出去才知道是第几封」。

1读场景无线消息要带序号,才知道发到第几条
2对要点带序号消息|字典里带「序号」,发出去才知道是第几封
3载入运行十学期兴趣课程积木/代码

四、解题思路

任务:利用无线消息,用两套程序认识带序号消息——字典含「序号」和「消息」,发送前转 JSON。按 B1 序号加一;对端取出序号打印。两套步骤一致,请用两块板对照发送和打印。

本课主要用到:两块主板(同一频道);按键 B1;串口。

  1. 1利用无线消息,观察每按一次 B1,对端打印的序号是否加一。
  2. 2打开电台,准备含「序号」和「消息」的字典。
  3. 3按 B1:把序号加一,把字典转成 JSON 发出去。
  4. 4对端收到后把 JSON 转回字典,打印「序号」。两套程序步骤一致,用两块板分任发送和接收来对照。
  5. 5完成补全与从头编写,并对照现象。

流程示意

准备带序号的字典按B1序号加一转成JSON发出对端转回字典打印序号完成补全与从头编写并对照现象

五、图形块功能讲解

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

图形块分类作用本课用法
创建字典
字典用若干键值对组成字典。两套都先写出含「序号」和「消息」的字典,序号从 0 起。
增改字典项
字典新增或修改键值。按 B1 时把「序号」改成原来的值加一,再发送。
取字典值
字典按键读取值。对端从转回的字典里取出「序号」再打印。
字典转 JSON
字典序列化为 JSON 字符串。发送前把字典转成 JSON 字符串。
JSON 转字典
字典解析 JSON 为字典。收到后把 JSON 转回字典,才能按键名取值。

六、知识点讲解

带序号消息把「序号」和内容放在同一个字典里。发出去之前转成 JSON,收到之后再转回字典,才能取出序号。

先弄清:序号在字典里,不在电台频道上;再进编程练习对照每按一次是否加一。

七、编程练习

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

十学期兴趣课程:5-1 高级无线通讯-带序号消息.mix。载入后运行。

八、课堂练习

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

  1. 判断:编程体验按 B1 会把字典里的「序号」加一,再转成 JSON 发出去。

  2. 判断:完整程序收到后打印的是「消息」字段 light,不是「序号」。

  3. 本课说的「带序号消息」指的是?

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

  5. 运行编程体验,对端收到一封后,串口应看到?

九、本节小结

本课认识带序号消息:字典里带「序号」,转成 JSON 再发出去。编程体验和完整程序步骤一致:按 B1 加一发出,对端打印序号。