上电后机器狗会开一个热点
固件默认以 AP 模式运行:机器狗自己创建一个 WiFi 热点,手机或电脑连上去就能打开网页控制页,全程不需要路由器。热点名在官方固件文档与固件源码里写得不一致,搜热点时两个名字都要试:
| 参数 | 固件文档口径 | 固件源码口径 |
|---|---|---|
| 热点名 | Sesame-Controller-BETA |
Sesame-Controller(第 15 行 AP_SSID) |
| 密码 | 12345678 |
12345678(第 16 行 AP_PASS,源码注释要求至少 8 字符) |
| 网关 IP | 192.168.4.1 |
— |
| DNS 行为 | DNSServer 监听 UDP 53 端口,把所有域名查询通配重定向到 192.168.4.1 | 同左,DNS_PORT 为 53 |
热点一直连不上时,官方固件文档给的办法是改源码第 15–16 行的 AP_SSID / AP_PASS,换成自己的热点名与密码(源码注释要求密码至少 8 字符)再重新烧录,之后用新凭据连接。
从上电到打开控制页
- 上电后等约半分钟不做任何操作。预期:OLED 顶部开始滚动显示 WiFi 信息,内容见下文;收到第一次操作后这些信息消失。
- 在 WiFi 列表搜热点,Sesame-Controller-BETA 与 Sesame-Controller 两个名字都试一下。预期:其中至少一个能搜到。
- 输入密码 12345678 连接。预期:连接成功后手机自动弹出 captive portal 登录页;没弹出就在浏览器随便打开一个网址,DNS 会把它重定向到控制页。
- 在控制页点一个动作。预期:机器狗执行动作,链路打通。
- 决定是否接入家庭网络:只用热点直连玩耍可以到此为止;想让电脑脚本、语音助手等家里其他设备访问机器狗,就继续 Settings → WiFi / Network → Scan for Networks → 选 2.4GHz 网络(隐藏 SSID 可手动输入名称)→ 输密码 → Connect。预期:页面轮询约 15 秒出结果,期间手机可能短暂掉出热点(机器狗切换 WiFi 信道),会自动重连、页面恢复;成功后面板显示 http://sesame-robot.local 与分配到的 IP。
接入家庭网后热点仍然保留:固件以 WIFI_AP_STA 双模运行,AP 与家庭网同时在线,mDNS 在家里网络广播 sesame-robot.local。mDNS 解析依赖系统支持,官方固件文档排障段给的口径是 Windows 需安装 Bonjour、Linux 需安装并运行 avahi-daemon;解析不了就直接用控制页或串口显示的 IP。
运行时填的 WiFi 凭据不持久化:固件设置了 WiFi.persistent(false),密码不写入闪存,重启后机器狗回到纯 AP 模式,要重新输入一遍。想开机自动连网,改用编译期 NETWORK_SSID / NETWORK_PASS 的方式(见烧录固件页)。
连接超时的两个官方口径
连家庭网失败、怀疑等待时间不够时,先看官方两处写法不一致:
| 出处 | 口径 |
|---|---|
| 固件源码第 91 行 |
WIFI_CONNECT_TIMEOUT_MS = 15000,即 15 秒 |
| 固件文档排障段 | currently 10 seconds / 20 attempts |
官方没有说明哪个值当前生效,等待结果时按 15 秒左右估计即可;连接失败的具体原因(网络未找到、密码错误或被拒绝、超时)会打印在串口里。
OLED 上的网络信息
上电后前 30 秒内如果没有任何输入,OLED 会在表情画面的上方叠一条黑底白字的信息条,滚动显示网络状态;双模连接时,AP 与家庭网两边的详情会同时出现。滚动内容包括:
- AP 热点名与 IP(192.168.4.1)
- 已接入的家庭网络名与分配到的 IP
- mDNS 名称 sesame-robot.local
- captive portal 的连接提示
收到第一次操作后,信息条永久消失,屏幕只显示表情;再要查地址就从串口或控制页面板看。
安全边界
这套固件按可信局域网场景设计:默认无认证,任何连上热点或家庭网的设备都能直接发指令;通信是明文 HTTP,没有 HTTPS;默认热点密码 12345678 属于弱密码。只在家里可信网络使用,不要把机器狗暴露到公网,也不要通过它的 API 传敏感数据。