单元三

第12课 数字公交-实时公交车辆端

任务场景:数字公交-实时公交车辆端
任务场景:数字公交-实时公交车辆端

一、任务目标

发布路线和站号,收到后算出距离并滚屏显示。

二、我们要学什么

  • 学习要点:发布与距离|收到后滚屏显示
  • 本课过关:能完成:说出车辆端发布路线和站号,站台端用站台位置减站号得到距离;载入编程体验,指出按 B1、B2 改站号并发布「路线编号」和「站号」,彩屏显示站号;再运行完整程序,指出收到消息后算出距离,滚屏显示路线编号和距离。
  • 示例对齐:编程体验对应 「3-4-1 数字公交-实时公交车辆端」;完整程序对应 「3-4-2 数字公交-实时公交站台端」。

三、本节要点

本课要利用网络报站认识发布与距离:车辆端改站号并发布,站台端用字典里的站台位置减去站号。重难点是分清两套——编程体验是车辆端按键发布;完整程序是站台端订阅并滚屏。要点对齐「发布与距离|收到后滚屏显示」。

1读场景车辆把站号发到网上,站台算出还有多远
2对要点发布与距离|收到后滚屏显示
3载入运行十学期兴趣课程积木/代码

四、解题思路

任务:利用网络报站,用两套程序认识实时公交——一端发布,一端算出距离并滚屏。编程体验按键改站号并发布;完整程序订阅「车辆信息」,滚屏路线编号和距离。请对照彩屏。

本课主要用到:按键 B1、B2;彩屏 TFT;Wi-Fi / MixIO;1 号 LED 灯(编程体验心跳)。

  1. 1利用网络报站,观察发布后,屏上是站号还是路线和距离。
  2. 2连接 MixIO。编程体验按 B1 站号加一、B2 减一(不小于 0)并发布。
  3. 3编程体验彩屏显示当前站号;定时器约每 20 秒用 1 号 LED 灯指示连接。
  4. 4完整程序订阅「车辆信息」,从 JSON 取出路线编号和站号。距离=站台位置减站号,滚屏显示路线编号和距离。对照滚屏文字。
  5. 5完成补全与从头编写,并对照现象。

流程示意

连接MixIO编程体验按键发布完整程序订阅消息位置减站号得距离完成补全与从头编写并对照现象

五、图形块功能讲解

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

图形块分类作用本课用法
取字典值
字典按键读取值。完整程序从消息字典取出「路线编号」和「站号」,再从站台位置字典取出该路线的位置。
JSON 转字典
字典解析 JSON 为字典。完整程序把收到的消息转成字典,才能按键名取值。
滚动显示文字
显示在点阵或屏幕上滚动字符串。完整程序把路线编号和距离拼成一句滚过彩屏。
拼接文字
文本把多段文字连成一句。完整程序把路线编号和距离数字拼成滚屏内容。

六、知识点讲解

发布与距离车辆端发送路线编号和站号;站台端用字典里的站台位置减去站号,得到距离并滚屏。

先弄清:一端改站号发布,一端算距离显示;再进编程练习对照彩屏。

七、编程练习

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

十学期兴趣课程:3-4-1 数字公交-实时公交车辆端.mix。载入后运行。

八、课堂练习

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

  1. 判断:编程体验按 B1、B2 改站号,并发布路线编号和站号,彩屏显示站号。

  2. 判断:完整程序也是按 B1、B2 改站号并在屏上显示站号。

  3. 本课完整程序里的「距离」是怎么算的?

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

  5. 运行完整程序并收到消息后,应看到?

九、本节小结

本课认识发布与距离:车辆端发布路线和站号,站台端算出距离并滚屏。编程体验按键改站号;完整程序订阅后滚屏显示路线编号和距离。