Puppypi——hiwonder-toolbox中配置文件解析

这是幻尔科技(Hiwonder)PuppyPi 机器狗的树莓派工具箱,包含 WiFi 管理、设备发现、远程配置和按键扫描四个服务。下面逐一分析:

1. wifi.py --- WiFi 管理服务

核心功能:控制树莓派的 WiFi 工作模式。

两种模式通过 wifi_conf.py 中的 WIFI_MODE 控制:

  • WIFI_MODE = 1:AP 模式,树莓派自己发射热点,默认 SSID 为 HW-XXXXXXXX(基于 MAC 地址生成),密码 hiwonder,网关 192.168.149.1
  • WIFI_MODE = 2:STA 模式,树莓派连接你指定的 WiFi 路由器

LED 指示灯状态(GPIO 26):

  • 快闪 → AP 模式正在创建
  • 极快闪 → 正在尝试连接 WiFi
  • 常亮 → STA 模式连接成功

配置文件加载优先级:当前目录 → /etc/wifi/wifi_conf.py → 工具箱目录下的 wifi_conf.py,后加载的会覆盖前面的。

2. wifi_conf.py --- WiFi 配置文件

这是你实际需要修改的文件:

python 复制代码
WIFI_MODE = 1                          # 1=AP热点模式, 2=STA连接路由器模式
#WIFI_AP_SSID = 'HW-Robot'            # 自定义AP名称(必须HW-开头,否则APP无法使用)
#WIFI_AP_PASSWORD = 'hiwonder'        # AP密码
WIFI_STA_SSID = 'su'        # 要连接的路由器/手机热点名称
WIFI_STA_PASSWORD = '12345678'        # 路由器/热点密码

使用方式:

  • 想让树莓派连你家 WiFi:把 WIFI_MODE 改为 2,填好 WIFI_STA_SSIDWIFI_STA_PASSWORD
  • 想让树莓派自己发热点(手机/电脑直连):保持 WIFI_MODE = 1
  • 修改后重启服务:sudo systemctl restart wifi.service

3. remote.py --- 远程 WiFi 配置服务(TCP 端口 9026)

监听 9026 端口,接收 JSON 格式的 WiFi 配置指令。手机 APP 通过这个服务远程切换 WiFi:

json 复制代码
{"setwifi": {"ssid": "你的WiFi名", "passwd": "你的密码"}}

收到后会写入 /etc/wifi/wifi_conf.py 并自动重启 wifi 服务,切换到 STA 模式连接指定 WiFi。

4. find_device.py --- 设备发现服务(UDP 端口 9027)

监听 9027 端口,当手机 APP 在局域网广播 LOBOT_NET_DISCOVER 时,回复 PUPPY:序列号,这样 APP 就能自动发现机器狗。

5. button_scan.py --- 物理按键服务

监听两个 GPIO 按键:

  • GPIO 25(KEY1):长按约 3 秒 → 重置 WiFi(清除 /etc/wifi/ 下的配置,恢复 AP 模式)
  • GPIO 23(KEY2):长按约 3 秒 → 关机(sudo halt

6. install.sh --- 一键安装

bash 复制代码
cd /home/pi/hiwonder-toolbox/
sudo bash install.sh

把所有 .service 文件复制到 systemd 目录并启用开机自启。

从 wifi.log 看到的问题

你的日志显示大量 Can not connect to SSID: su,说明树莓派长期处于 STA 模式但连不上手机热点(手机不在附近或热点没开)。每次连接失败后会自动回退到 AP 模式。

典型使用流程:

  1. 开机默认 AP 模式 → 手机连接 HW-XXXXXXXX 热点(密码 hiwonder
  2. 通过 APP 或直接编辑 wifi_conf.py 配置家庭 WiFi
  3. 重启后树莓派自动连接家庭 WiFi,连不上则回退 AP 模式
  4. 物理按键长按 KEY1 可随时重置回 AP 模式
相关推荐
n 55!w !1081 分钟前
IP-vlan实验报告
服务器·网络·tcp/ip
胖咕噜的稞达鸭19 分钟前
C++技术岗面试经验总结
开发语言·网络·c++·网络协议·tcp/ip·面试
PrDf22Iw824 分钟前
CPU ↔ DRAM(内存总线)的可持续数据传输带宽
java·运维·网络
汤愈韬2 小时前
路由反射器实验、环回接口建立IBGP邻居、更新源检查机制
网络·网络协议·网络安全·security
数智化管理手记2 小时前
精益生产合理化建议核心解读:本质、价值与提报规范
大数据·网络·人工智能·低代码·制造
你不是我我3 小时前
【Java 开发日记】为什么要有 time _wait 状态,服务端这个状态过多是什么原因?
java·网络·php
Strange_Head3 小时前
《Linux系统编程篇》Linux Socket 网络编程02 (Linux 进程间通信(IPC))——基础篇
linux·运维·网络
普马萨特3 小时前
基站 / WiFi 粗略位置对 A-GNSS 的影响
网络·人工智能·算法
@insist1233 小时前
网络工程师-WLAN 无线局域网全解析
大数据·网络·网络工程师·软考·软件水平考试
Three~stone4 小时前
Wireshark 4.6.4 安装教程
网络·测试工具·wireshark