你好呀,我是吴老师。
到这一课为止,你已经让板子做过很多事了:亮灯、画画、存文件、录音、发声。
但有一件事它一直没做过:跟外面说话。
前面十二课不需要 —— 存东西、画图、录声音,板子自己就能干。
从今天起不一样了。而这一切的第一道门,就是 WiFi。
读完之后,你应该能:说出联网之后板子多了哪些本事;让板子连上网络;说出为什么密码不写在代码里;分清"连一次"和"每次循环都连"的区别。
用时:约 45 分钟。准备:板子、数据线、一个能上网的 WiFi。
一、联网之后,板子多出哪些本事
| 想做的事 | 不联网行不行 | 联网之后 |
|---|---|---|
| 点亮灯、画画、放音乐 | ✅ 行 | 一样行 |
| 问 AI 问题 | ❌ 不行 | ✅ 行 |
| 让板子念一段话 | ❌ 不行 | ✅ 行 |
| 听网络电台 | ❌ 不行 | ✅ 行 |
| 和对方的板子说话 | ⚠️ 另有办法 | ✅ 行(第 15 课) |
💡 看出来了没? 板子自己会的那些事,都不需要网络。 真正需要网络的,全是**"跟别人打交道"**的事。
因为那些事,板子自己算不出来 —— 得去问别人。
二、连网这件事,它替你想好了
连网看起来只有一步,但它背后其实是个判断:
看左边那半个图就够了 —— 它在替你做一个判断:
| 情况 | 它做什么 |
|---|---|
| 以前连过、现在连得上 | 直接连,一句话都不问你 |
| 没连过,或者连不上 | 弹出配网界面,让学生自己选 |
配网界面会带学生走三步:扫描周围有哪些网 → 点一个 → 输密码。
⚠️ 扫描要等 2~4 秒,界面会停一下 —— 这是正常的,不是卡死了。
⭐ 这张图里最值钱的是底下那个红框。 先记住它,第四节课会专门讲 —— 那是这一课最容易写错的地方。
三、⭐ 最重要的一条:密码不写在你的代码里
这一条比"怎么连"重要得多。
看看上面那段代码 —— 里面没有 WiFi 名字,也没有密码。
那板子怎么知道我连的是哪个网?
密码存在板子自己的存储里,不在你的代码里。
| 密码放哪 | 好不好 | |
|---|---|---|
| ❌ 写在代码里 | PWD = '12345678' | 糟透了 —— 代码发给同学、传上商店,密码就跟着跑了 |
| ✅ 存在板子上 | 配网时装一次,板子自己记住 | 对 —— 代码里干干净净,发谁都行 |
⭐ 这是个真本事,不是绕远路。
你想:如果你把密码写进代码,那这段代码发给谁,就等于把自家 WiFi 密码发给谁。 而且以后改了密码,还得回去改代码、重新传一遍。
写程序的人,要学会"什么东西该放在哪儿"。
四、⚠️ 一个很容易犯的错
回到第二节那张图 —— 现在看底下那个红框。
最容易犯的错是:把"连网"放进每一帧都跑的循环里。
看起来没毛病("我每次都检查一下有没有网,不是很稳妥吗?"), 但想一下没连过网的时候:
- 每循环一次,它就弹一次配网界面
- 弹界面之前还要扫描 2~4 秒
- 结果:学生刚选完网络,界面又被弹走了 —— 根本没法操作
✅ 正确做法一句话:连一次,把结果记下来。
为什么? 因为连网是件"很慢的事"(要扫描、要等)。 "很慢的事"只做一次就够了,别放进每帧都要跑的循环里。
⭐ 这条规律不只用在连网上。 凡是"要做几秒的事"—— 扫描、发请求、识别语音 —— 都是做一次、记下结果,而不是每帧重做一遍。
💡 怎么判断该不该放进循环? 问自己一句: 这事要是每秒钟做 60 遍,会怎样? 答案通常是"会卡爆"。
五、还想知道什么,问一句就有
板子身上有好多"问一句就有答案"的东西。你自己记不住函数名没关系 —— 知道"有这么回事",让 AI 去查写法就行。
| 你想知道 | 它能告诉你 |
|---|---|
| 连上了没有、连的哪个网 | 一句话,像「已连接 MyWiFi」或者「未连接」 |
| 电量还剩多少 | 一个百分数 |
| 内存还剩多少 | 一个字节数 |
| 开机多久了 | 秒数 |
💡 这四个数在第六节会排成一屏 —— 那就是你的"板子体检屏"。
⚠️ 还有一个「忘掉这个网」的功能,要谨慎用 —— 它会断开连接,而且把存的密码也删掉。下次就得重新配网了。
什么时候用?比如换了个地方,要连另一个网。
六、动手做
任务一:最简单的连网
请帮我做一个最简单的连网应用:
1. 打开的时候自动连网
2. 屏幕上显示连上了没有
3. 连上了就显示连的是哪个网络
4. 没连上的时候,给一个「重试」按钮
5. 用中文注释
⚠️ 注意第 4 条 —— 重试按钮点一次连一次。 别写成"循环里一直连",那样会把配网界面弹得满天飞。
任务二:网络体检屏(这一课的主作品)
做好之后屏幕上就是这样 —— 四行,左边名字、右边数值:

💡 注意第一行「网络」后面写的是连的是哪个网 —— 这块板子会自动连上你之前配的那个网。换一个网,这一行就跟着变。
⚠️ 如果它显示"未连接":说明板子这会儿真没连上网。 先回桌面 → 设置 → 网络,把它连上再来看。
请帮我做一个「板子体检屏」,在屏幕上列出这几项:
1. 网络:连上了没有、连的哪个网
2. 电量:百分之多少
3. 内存:还剩多少
4. 开机到现在多久了
每一项一行,左边写名字、右边写数值,排整齐。
5. 用中文注释
💡 这几样板子上都有现成的函数可以用:
wifi_setup.status_text()/board.battery_percent()/board.heap_free()/board.uptime()。忘了格式?让 AI 帮你查 —— 就说"这几个函数返回什么、怎么画成一行"。
做完请检查:
- 关掉应用、断开 WiFi、再打开 —— 第一行变成"未连接"了吗?
- 把它拿到别的房间去,电量那一项数字会变吗?
七、只改一个条件
挑一个来改,先说出你的预测,再动手:
| 我改的条件 | 我预测会怎样 | 实际怎样 |
|---|---|---|
把 ensure_connected() 放进 while True 里 | ||
| 配网输错密码 | ||
调一次 wifi_setup.forget() 再打开应用 | ||
| 换个没连过的网络 |
💡 第一个会看到配网界面反复弹出来 —— 亲眼看一次那个乱象, 比记住"别放循环里"有用十倍。
八、自检小测
九、还想玩点什么
| 想做什么 | 可以这样描述给 AI |
|---|---|
| 联网状态灯 | 连上了就把板上的 RGB 灯点亮,断了就熄灭 |
| 断网提醒 | 没网的时候在屏幕上画一个醒目的红色横条 |
| 网络记录本 | 存下"我连过哪些网",列出来看一看 |
| 一键换网 | 一个按钮,点了就弹出配网界面重新选 |
| 开机自检 | 一开机就把电量、内存、网络全查一遍,像汽车仪表盘 |
⭐ 下一节课,我们要让两块板互相说话。
有意思的是:下一课不用路由器,也不用连网 —— 两块板直接对着喊就行了。
它们是怎么办到的?下节课见。
