换个环境就要改代码?给设备加了个「WiFi 自动切换」,学校家里都不用重烧程序

2026-11-043

换个环境就要改代码?——多 WiFi 自动切换小功能分享

做带联网功能的作品,最烦的场景之一:在学校连校园网,回家连家里 WiFi,
一换环境就得改代码里的账号密码,重新编译、重新烧录,来回折腾。
于是我给程序加了个小功能——多 WiFi 自动切换。

功能效果

  • 程序里预设一个 WiFi 列表(学校网、家里网……想加几个加几个)
  • 上电后按顺序自动尝试连接,连上哪个用哪个
  • 连接成功后屏幕显示「WiFi 已连接」,并自动同步网络时间(NTP)(这部分忘了加了,抽空加上)
  • 全部尝试失败时,屏幕提示检查网络,方便定位问题

实现思路

核心逻辑就四步:

  1. 把常用的 WiFi 名称和密码预先存进程序,按优先级排成列表

  2. 上电后从第一个开始尝试连接

  3. 连接成功 → 显示「WiFi 已连接」并设置 NTP 对时

  4. 连接失败 → 自动切换下一个;全部失败 → 提示检查网络
    换个环境就要改代码?给设备加了个「WiFi 自动切换」,学校家里都不用重烧程序_image_1.webp
    WiFi自动切换流程图.svg

    换个环境就要改代码?给设备加了个「WiFi 自动切换」,学校家里都不用重烧程序_image_2.webp
    换个环境就要改代码?给设备加了个「WiFi 自动切换」,学校家里都不用重烧程序_image_3.webp
    连接WiFi 1 → 连接WiFi2
    换个环境就要改代码?给设备加了个「WiFi 自动切换」,学校家里都不用重烧程序_image_4.webp
    完整程序截图

适用场景

  • 作品要在学校、家里、宿舍等多个场地使用
  • 外出演示,场地网络不固定
  • 不想每次都改代码、重新烧录的懒人(比如我)

待扩展 / 求讨论

  • WiFi 信息存储到列表,可以用遍历的方式进行尝试连接
  • 记住上次连接成功的网络,下次优先尝试,加快启动速度

功能不大,但真的省事。欢迎拍砖,也欢迎分享你们的联网方案。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -