三、数字公交

第12课 实时公交车辆端

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

一、任务目标

理解车辆端上报,能说出哪一题才是站台屏。

二、我们要学什么

  • 学习要点:车辆端负责改站号并发布;站台端负责收报文算距离
  • 本课过关:能指出体验是车辆端按键发布;订阅算距离是完整代码。
  • 示例对齐:体验题对应 「3-4-1 实时公交车辆端」;完整代码对应 「3-4-2 实时公交站台端」。

三、本节要点

不要把体验改成订阅。完整代码字典里 ABCD 对应 11。

1读场景明确真实任务
2对要点按键改站号并发布车辆信息
3载入运行兴趣课程积木/代码

四、解题思路

  • 输入:体验 1号按键/2号按键。完整代码云消息车辆信息。
  • 输出:体验点阵站号;完整代码滚动路线加距离。
  • 生活对照:车上报站,站台屏显示还有几站。
  • 验证现象:1号按键站号加 1,屏上数字变大。

本课主要用到:分享码物联网平台、点阵、定时器;完整代码另用数据包。

  1. 1分享码初始化。
  2. 21号按键/2号按键改站号并发布。
  3. 3点阵显示站号。
  4. 4完整代码订阅后算站台位置减站号。

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

分享码初始化按键改站号并发布点阵显示站号完整代码订阅后算还有几站

五、图形块功能讲解

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

图形块分类作用本课用法
math max min
数学取两个数中的较大或较小值。体验 2号按键 后 站号 = max(站号, 0)。
EMQX 心跳
MixIO保持 MQTT 连接活跃。定时器 pingSync,1 号灯指示。
创建字典
字典用若干键值对组成字典。发布路线编号和站号。

六、知识点讲解

车辆端上报。体验不计算距离;站台位置字典在完整代码。路线编号:'ABCD'。心跳:20 秒 定时器 调 pingSync。距离:完整代码 站台位置[路线]-站号。

对照与过关:能说出哪一题才是站台屏。先弄清本课输入与输出,再进编程练习对照现象。

七、编程练习

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

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

八、课堂练习

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

  1. 判断:体验会订阅「车辆信息」并滚动距离。

  2. 判断:2号按键 会把站号减 1,并且不小于 0。

  3. 定时器周期是?

  4. 完整代码 ABCD 的站台位置是?

九、本节小结

本课主题是车辆与站台:车辆端负责改站号并发布,站台端负责收报文算距离。体验程序是车辆端按键发布;完整程序是站台端订阅并显示距离。