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 模式
相关推荐
Elastic 中国社区官方博客3 小时前
使用 Elastic 进行网络监控:统一网络可观测性
大数据·开发语言·网络·人工智能·elasticsearch·搜索引擎·全文检索
德迅云安全-小潘4 小时前
德迅零域(微隔离):破解云时代横向渗透困局的“手术刀”
网络·数据库·安全
敲代码的哈吉蜂4 小时前
高可用集群Keepalived
运维·服务器·网络·数据库
盟接之桥5 小时前
盟接之桥说制造:从客供的外在共生到内在的身心合一
运维·服务器·网络·人工智能·制造
一名爱学习的ikun5 小时前
VMware 虚拟机设置成静态IP后无法联网
网络·vmware
Remember_9939 小时前
一文吃透Java WebSocket:原理、实现与核心特性解析
java·开发语言·网络·websocket·网络协议·http·p2p
加农炮手Jinx9 小时前
Flutter for OpenHarmony:web_socket_channel 全平台 WebSocket 通信标准库,从原理到鸿蒙实战(3000字深度解析)
android·前端·网络·websocket·flutter·华为·harmonyos
王码码20359 小时前
Flutter for OpenHarmony:stomp_dart_client 打造实时消息引擎(企业级 WebSocket 通信标准) 深度解析与鸿蒙适配指南
网络·websocket·网络协议·flutter·ui·华为·harmonyos