单元四
第15课 探讨互联网协议的局限性

一、任务目标
对比 HTTP 与 MQTT 的收发包长短,串口打出两种协议的 client_len、server_len。
二、我们要学什么
- 学习要点:WiFi 与协议|对比 HTTP 与 MQTT 的报文开销
- 本课过关:能完成:说出协议局限可用收发包长短来对比;载入体验程序,指出 debugnet 先打印 HTTP 的 client_len、server_len 和 text,再打印 MQTT 的 client_len、server_len 和 time_msg;再运行完整程序,指出它是普通 urequests GET,只打印返回原文。
- 示例对齐:体验题对应 「教育部教学指南改进版/八年级/9-3 探讨互联网协议的局限性演示」;完整代码对应 「教育部教学指南改进版/八年级/9-1-2 利用HTTP获取互联网中的数据」。
三、本节要点
前课取回天气或 MixIO 字段,本课看协议局限:同样连上 WiFi,HTTP 和 MQTT 的收发包长短可以不一样。重难点是分清两套程序——体验用 debugnet 先后打印 HTTP 与 MQTT 的 client_len、server_len;完整程序是普通 urequests GET,只打印返回原文。要点对齐「WiFi 与协议|对比 HTTP 与 MQTT 的报文开销」。
四、解题思路
任务:用两套程序认识协议局限——体验程序用 debugnet 对比 HTTP 与 MQTT 的 client_len、server_len;完整程序是普通 urequests GET,只打印返回原文。
本课主要用到:WiFi 连网、串口打印(体验用 debugnet,完整用 urequests)。
- 1明确任务「探讨互联网协议的局限性」:看不同协议的收发包长短。
- 2先连接 WiFi,让后续请求能发出去。
- 3体验程序:debugnet GET time.php,打印 HTTP 的 client_len、server_len 和 text。
- 4体验程序:再用 debugnet 建立 MQTT 客户端,打印 MQTT 的 client_len、server_len 和 time_msg。
- 5完整程序:普通 urequests GET MixIO getData,只把返回原文打印到串口。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 网络 | 向指定地址发起 HTTP 调试请求,可打开调试以统计收发包。 | 本课对比 HTTP 与 MQTT:向 time.php 请求并打开调试。 |
![]() | 网络 | 读取 HTTP 调试结果:发送包长度、接收包长度、消息内容等。 | 本课打印发送/接收包长度与消息内容。 |
![]() | 网络 | 连接 MQTT 并订阅主题,可打开调试以统计收发包。 | 本课连接 mixio.local,订阅「获取当前时间」并打开调试。 |
![]() | 网络 | 读取 MQTT 调试结果:发送包长度、接收包长度、消息内容等。 | 本课打印发送/接收包长度与消息内容。 |
六、知识点讲解
先弄清:体验看 HTTP 与 MQTT 的长度对比,完整看普通 GET 的返回原文;再进编程练习对照现象。
七、编程练习
点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木优先来自 MixGo Sant 官方示例「教育部教学指南改进版/八年级」。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
官方示例:9-3 探讨互联网协议的局限性演示.mix。载入后运行。
正在载入编程环境
正在载入 MixGo SANT 仿真编程环境…
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:体验程序用 debugnet 先后打印 HTTP 与 MQTT 的 client_len、server_len。
判断:完整程序也用 debugnet 对比 HTTP 与 MQTT 的报文长度。
本课看协议局限,体验程序主要对比什么?
体验程序和完整程序的主要差别是?
运行体验程序,HTTP 一段应看到?
九、本节小结
前课取回字段,本课认识协议局限:同样连上 WiFi,HTTP 和 MQTT 的收发包长短可以不一样。体验程序用 debugnet 先后打印 HTTP 与 MQTT 的 client_len、server_len;完整程序是普通 urequests GET,只把返回原文打印到串口。对照时看串口里有没有两种协议的长度数字。



