自学读本:跟着读、照着做,卡住就问 AI
你好,我是吴老师。
这份是给你自己读的——不用等我讲,你一段一段往下看,看到让你停下来的地方,就照着做一遍。看不懂的整段复制给 AI,加一句"请一次只解释一个概念,讲完问我一个小问题"。
读完之后,你应该能:用"传送带"比喻说出 WiFi 和 I2S 的相同点;说出 STA 和 AP 的区别并各举一个例子;解释 SSID / IP / MAC 分别是什么;亲手让板子连上 WiFi 打印 IP、自己开热点、扫描周围网络。
用时:60–90 分钟。准备:板子、数据线、已经接入板卡 Skill 的 WorkBuddy。本课 WiFi 名称和密码要你自己填教室的真实信息。
一、从"板内"走到"板外"
前面十几课,灯变色、屏幕画画、动画跑、麦克风收声、扬声器放歌——这些全是板子"自己跟自己玩"。它们都挂在板子内部的 I2C、I2S 这些"内部总线"上。
今天第一次,我们要让板子走出自己,去连外面的世界。
先想:板子上没有网线口、没有 SIM 卡,凭什么能上网?
答案:靠无线。而无线里最容易懂的,是 WiFi。
二、一个接得住的比喻:无线也是一种"传送带"
回忆第 3 章 I2S:扬声器不会自己响,是程序按固定节奏,把一串数字通过 I2S 总线"搬"到扬声器里——总线就是那根传送带,时钟一敲,数字一个接一个被送过去。
今天把画面换一个地方:
同样的"按节奏送数字",只不过传送带不再是一根铜线,而是变成了看不见的电波。
这就是 WiFi 最朴素的本质——它也是一条传送带,只是把数据从板子送到了空气里,再被路由器接住。
💡 本课一句话:板子连 WiFi 不是魔法,是"把数字按节奏打到空中去",和 I2S 送声音是同一类本事,只是方向从"板内"转向"板外"。
小目标:让板子连上教室 WiFi,屏幕打出它的 IP;再让它自己开个热点,你的手机能搜到它。
三、先让它连上路由器
请使用课程的 esp32s3-touchboard-hardware-dev Skill,
让板子以"连路由器"的方式连接 WiFi:
连接成功后,在屏幕上显示"已联网"、SSID 和分配到的 IP 地址;
连接失败则提示"连接失败"。
WiFi 名称和密码请使用我下面给的占位符,
烧录前我会自己改成教室的真实 WiFi。帮我新建程序并烧录。
填上你教室的 WiFi 后,把你看到的写下来:
| 我观察到的现象 | 勾选 |
|---|---|
| 屏幕显示"已联网"和一行 IP | |
| 一直卡在"连接中…" | |
| 提示"连接失败" | |
| 串口里有规律的"."在刷 |
四、两种角色:连别人的网,还是自己当网
想象一间大教室:
- 方式 A:你带手机连教室路由器,路由器给你发一个"座位号",你就能和外网说话。这叫 STA(站点)模式——板子当"学生",去连别人的路由器。
- 方式 B:你手机开热点,让别人来连你。这叫 AP(接入点)模式——板子自己当"路由器",开一个热点。
同一块无线芯片,能演这两个完全不同的角色。这就是 WiFi 的"两种角色"。
刚做的委托是方式 A。现在换实验,让板子当方式 B。
五、让板子自己开个热点
请基于刚才的程序改一版:
让板子进入"自己开热点"的模式(AP 模式),
热点名称用板子自己的名字(比如 TouchBoard-AP),密码留空或设一个简单密码;
开机后屏幕显示"热点已开启"和这个热点的名称。
烧录后,请用你的手机去搜 WiFi,看能不能搜到它。帮我新建程序并烧录。
手机一搜——板子变成了一个小小的路由器。同一块芯片,角色反过来了:刚才"去连别人",现在"被别人连"。
⚠️ 比喻有边界:AP 开出的热点通常只让设备"互相连上",不一定能上互联网(除非板子再找另一张网上去)。它像你手机临时开的热点,能组网,但不等于通了外网。别把"开了热点"和"能上网"画等号。
六、连上之后,板子"有"了什么
板子连上路由器,路由器给它三样东西,记牢:
| 名字 | 通俗说法 | 干什么用 |
|---|---|---|
| SSID | WiFi 的名字 | 你连的是"哪一个"网 |
| IP 地址 | 网里的"门牌号" | 数据要送到哪块板子,靠这个号找 |
| MAC 地址 | 芯片的"身份证" | 出厂写死,全球唯一 |
把局域网想成一栋楼:SSID 是楼名,IP 是房间号,MAC 是住户身份证。 邮差(数据)靠房间号把信送到你手上。
只记两个你今天一定会用到的"代码名",不讲语法:
WiFi.begin(名字, 密码)—— 让板子以 STA 身份去连某个 WiFi;WiFi.localIP()—— 连上后问板子"我的 IP 是什么",它把门牌号报给你。
(后面你会用到 WiFi.softAP(名字) 开热点、WiFi.scanNetworks() 扫周围网。)
七、改一个条件:看看周围有多少 WiFi
保持 STA 模式,做一个"睁眼看世界"的实验——让板子扫一下周围,看看这间教室里飘着多少个 WiFi。
先预测,再实验:
| 我改了什么 | 我预测 | 实际扫到 |
|---|---|---|
| 运行"扫描周围 WiFi"程序 | 自己填写(比如 3 个?) | 实验后填写 |
把这段发给 AI:
请让板子扫描周围所有 WiFi 网络,
把每个网络的名称(SSID)、信号强度(RSSI)和加密类型,
通过串口打印出来,并在屏幕上列出前 10 个。
其余逻辑保持简洁。帮我烧录,我先预测再观察。
你多半会吓一跳:明明看不见,空气里却飘着好几个甚至十几个 WiFi。 这就是"无线"的真实样子——它一直都在。
顺手记一个量:RSSI(信号强度),单位 dBm,数字越大(越接近 0)信号越强,比如 −40 很强、−80 就很弱。
八、一条完整的"出板"链路
你的程序调用 WiFi.begin
↓
无线芯片按节奏把数据打到空中
↓
路由器接住电波
↓
给板子发一个 IP 门牌号
↓
板子从此能在局域网里收发数据
↓
下一步:和另一台设备对话(第 18 课 TCP/UDP)
真正要记住的只有一句:连上 WiFi = 板子拿到了一个 IP 门牌号,从此能在网里被找到、也能去找别人。
九、故障排查:连不上怎么办
| 现象 | 先检查 |
|---|---|
| 一直卡在"连接中" | SSID/密码对吗?教室 WiFi 是 2.4G 吗(板子不支持 5G 单频)? |
| 提示"连接失败" | 密码错、路由器 MAC 黑名单、或信号太弱 |
| 连上但没 IP | 路由器 DHCP 开了吗? |
| 手机搜不到我开的热点 | AP 代码真跑了吗?热点名有乱码吗? |
把现象如实告诉 AI,一次让它教你查一件事。
💡 老规矩:"连不上"是观察,"密码填错"是推测。 推测要靠日志和实验验证。
十、过关检查
不看 AI,自己说:
- 用 I2S 送声音的比喻,讲讲 WiFi 也是在"按节奏送数字"——只是传送带去了哪?
- STA 和 AP 有什么不一样?各举一个生活例子。
- 板子连上路由器后拿到了哪三样东西?IP 是干什么的?
- SSID、IP、MAC 分别像楼里的什么?
WiFi.begin和WiFi.localIP各自干什么?- 你扫到的 WiFi 里,信号最强的那个 RSSI 大概多少?说明什么?
十一、还能玩什么
| 方向 | 想法 | 继续想 |
|---|---|---|
| 教室 WiFi 雷达 | 扫描周围 WiFi,按信号强度排序画成条形 | 怎样用 RSSI 判断"哪台设备离板子近"? |
| 板子当热点信标 | 不开外网,只让手机连上来显示欢迎语 | 没有互联网,两块板能互相说话吗?(第 18 课) |
| 联网状态灯 | 连上绿灯、断了红灯,BOOT 键手动重连 | 断线后怎么自动重连最省电? |
| 信号巡逻车 | 板子走动记录每个位置 RSSI,找信号死角 | 怎样把"位置+信号"变成一张图? |
想做"板子去网上找一个 AI 聊天"?那需要板子既能连 WiFi、又会一套"网上对话"规则——第 19 课(HTTP/JSON)和第 6 章 AI 的事。这课的"拿到 IP",就是那扇门的第一道缝。