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 模式
相关推荐
驭渊的小故事3 小时前
UDP 和 TCP 网络知识和“Udp协议的回声服务器详细剖析”(5000字详细解析回升服务器的点点滴滴)(网络编程01)
网络
砚凝霜4 小时前
软考网络工程师|第 2 章 信道延迟、传输介质、数据编码、数字调制、PCM 完整备考笔记
网络·笔记·pcm
aixingkong9214 小时前
Atlas 950 1024卡SuperPoD推测分析
网络·人工智能·硬件架构·硬件工程
码农学院6 小时前
基于运维监控体系的网络品牌推广方案:从架构设计到技术实现
运维·网络
REDcker14 小时前
显示分辨率标准对照详解
前端·网络·分辨率·显示·屏幕
ANSIOT15 小时前
安朔科技蓝牙无感开锁方案,靠近自动解锁
网络·科技·物联网
晏宁科技YaningAI16 小时前
VoIP系统的工程实现模型:从信令控制到媒体传输的完整架构解析
网络·人工智能·架构·系统架构·信息与通信
神奇霸王龙18 小时前
Claude Code屠榜:MiMo与Grok紧追Codex
服务器·网络·人工智能·gpt·ai·ai编程
数智化管理手记20 小时前
账龄分析手工统计易遗漏?自动账龄分析工具怎么搭建
大数据·网络·数据库·人工智能·数据挖掘
LabVIEW开发21 小时前
NI Package Manager安装LabVIEW时InternalServerError错误
网络·数据库·labview·labview知识·labview功能·labview程序