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 模式
相关推荐
小辰记事本1 小时前
从零读懂RoCEv2数据包构造:从WQE到线缆上的完整旅程
服务器·网络·网络协议·rdma
北京耐用通信2 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
在角落发呆3 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
YMWM_5 小时前
UDP协议详解:从原理到Python实践
网络·网络协议·udp
pengyi8710156 小时前
共享 IP 与独享 IP 怎么选?被封后升级方案避坑
网络·网络协议·tcp/ip
YuanDaima20486 小时前
Linux 进阶运维与 AI 环境实战:进程管理、网络排错与 GPU 监控
linux·运维·服务器·网络·人工智能
凯勒姆7 小时前
网工网络设备原理及配置
网络·智能路由器
上海云盾-小余8 小时前
网站恶意爬虫拦截策略:智能识别与封禁实操方案
网络·爬虫·安全·web安全
xhbh6668 小时前
网关端口映射和路由器端口转发有什么区别?配置要点全解析
运维·服务器·网络·智能路由器·端口映射·映射·无痕网关
半壶清水8 小时前
用P4 Tutorial、BMv2 和 Mininet‌解析网络第一集------模拟环境搭建
运维·服务器·网络·网络协议·tcp/ip