274 lines
4.8 KiB
Markdown
274 lines
4.8 KiB
Markdown
# Windows 接收端环境配置
|
||
|
||
这份文档只针对接收方,也就是你的 Windows 电脑。
|
||
|
||
本文假设:
|
||
|
||
- `xMonitor` 仓库就在 Windows 上
|
||
- 你的电脑在手机热点网络里的固定 IP 是 `10.0.0.5`
|
||
- 发送端会连到 `10.0.0.5:9000`
|
||
- 你希望在 Windows 上运行 `main_monitor.py` 来接收机器人状态并在浏览器里显示
|
||
|
||
---
|
||
|
||
## 1. 安装 Python
|
||
|
||
建议使用 Python 3.10 或更新版本。
|
||
|
||
在 PowerShell 里确认 Python 可用:
|
||
|
||
```powershell
|
||
py -V
|
||
```
|
||
|
||
如果没有安装 Python:
|
||
|
||
1. 打开 https://www.python.org/downloads/windows/
|
||
2. 安装最新版 Python 3
|
||
3. 安装时勾选 `Add Python to PATH`
|
||
|
||
---
|
||
|
||
## 2. 进入项目目录
|
||
|
||
在 PowerShell 中进入仓库目录:
|
||
|
||
```powershell
|
||
cd C:\Users\64187\Desktop\Workspace\xMonitor
|
||
```
|
||
|
||
---
|
||
|
||
## 3. 创建并启用虚拟环境
|
||
|
||
创建虚拟环境:
|
||
|
||
```powershell
|
||
py -3 -m venv .venv
|
||
```
|
||
|
||
启用虚拟环境:
|
||
|
||
```powershell
|
||
.\.venv\Scripts\Activate.ps1
|
||
```
|
||
|
||
如果 PowerShell 阻止脚本执行,可先临时放开当前会话:
|
||
|
||
```powershell
|
||
Set-ExecutionPolicy -Scope Process Bypass
|
||
.\.venv\Scripts\Activate.ps1
|
||
```
|
||
|
||
启用后命令行前面通常会出现 `(.venv)`。
|
||
|
||
---
|
||
|
||
## 4. 安装接收端依赖
|
||
|
||
`main_monitor.py` 接收端只需要这两个包:
|
||
|
||
- `fastapi`
|
||
- `uvicorn`
|
||
|
||
安装命令:
|
||
|
||
```powershell
|
||
python -m pip install --upgrade pip
|
||
pip install fastapi uvicorn
|
||
```
|
||
|
||
---
|
||
|
||
## 5. 启动接收端
|
||
|
||
因为你的发送端现在要往 `10.0.0.5:9000` 发,所以接收端必须监听 `9000` 端口。
|
||
|
||
在 PowerShell 中运行:
|
||
|
||
```powershell
|
||
uvicorn main_monitor:app --host 0.0.0.0 --port 9000
|
||
```
|
||
|
||
说明:
|
||
|
||
- `--host 0.0.0.0`:允许热点网络里的设备访问这台 Windows 电脑
|
||
- `--port 9000`:和发送端启动参数保持一致
|
||
|
||
如果你以后改了发送端端口,这里的端口也必须一起改。
|
||
|
||
---
|
||
|
||
## 6. 放行 Windows 防火墙
|
||
|
||
第一次启动时,Windows 可能会弹出防火墙提示。
|
||
|
||
请选择:
|
||
|
||
- 允许访问
|
||
- 至少勾选当前使用的网络类型
|
||
|
||
如果没有弹窗,可以手动放行 TCP 9000:
|
||
|
||
```powershell
|
||
New-NetFirewallRule `
|
||
-DisplayName "xMonitor 9000" `
|
||
-Direction Inbound `
|
||
-Protocol TCP `
|
||
-LocalPort 9000 `
|
||
-Action Allow
|
||
```
|
||
|
||
查看规则是否创建成功:
|
||
|
||
```powershell
|
||
Get-NetFirewallRule -DisplayName "xMonitor 9000"
|
||
```
|
||
|
||
---
|
||
|
||
## 7. 检查本机热点 IP
|
||
|
||
确认 Windows 当前热点网卡上的 IP 确实是你要给发送端使用的固定地址。
|
||
|
||
查看 IP:
|
||
|
||
```powershell
|
||
ipconfig
|
||
```
|
||
|
||
确认对应热点网络适配器上有:
|
||
|
||
```text
|
||
IPv4 Address . . . . . . . . . . : 10.0.0.5
|
||
```
|
||
|
||
如果不是这个地址,要么把 Windows 侧固定 IP 配好,要么把发送端里的 `--ip` 改成实际地址。
|
||
|
||
---
|
||
|
||
## 8. 打开监控页面
|
||
|
||
接收端启动成功后,在本机浏览器打开:
|
||
|
||
```text
|
||
http://127.0.0.1:9000
|
||
```
|
||
|
||
或者直接打开:
|
||
|
||
```text
|
||
http://10.0.0.5:9000
|
||
```
|
||
|
||
如果发送端已经开始推数据,页面会显示机器人状态。
|
||
|
||
---
|
||
|
||
## 9. 验证接收端是否正常工作
|
||
|
||
### 看端口是否监听
|
||
|
||
```powershell
|
||
netstat -ano | findstr :9000
|
||
```
|
||
|
||
能看到 `LISTENING` 说明服务已经起来了。
|
||
|
||
### 看浏览器页面是否能打开
|
||
|
||
打开:
|
||
|
||
```text
|
||
http://127.0.0.1:9000
|
||
```
|
||
|
||
若页面能打开,说明 HTTP 服务正常。
|
||
|
||
### 看是否收到机器人数据
|
||
|
||
接收端会把机器人上报的数据写到:
|
||
|
||
```text
|
||
logs\robot_packets.jsonl
|
||
```
|
||
|
||
可以在项目目录下查看:
|
||
|
||
```powershell
|
||
Get-Content .\logs\robot_packets.jsonl -Tail 5
|
||
```
|
||
|
||
如果这里不断有新行,说明 WebSocket 接收正常。
|
||
|
||
---
|
||
|
||
## 10. 常见问题
|
||
|
||
### 1) 浏览器能打开页面,但没有机器人数据
|
||
|
||
通常检查这几项:
|
||
|
||
- 发送端是否真的发到了 `10.0.0.5:9000`
|
||
- Windows 防火墙是否放行了 `9000`
|
||
- 电脑和设备是否确实连在同一个手机热点下
|
||
- Windows 当前热点 IP 是否还是 `10.0.0.5`
|
||
|
||
### 2) PowerShell 里 `Activate.ps1` 不能执行
|
||
|
||
先执行:
|
||
|
||
```powershell
|
||
Set-ExecutionPolicy -Scope Process Bypass
|
||
```
|
||
|
||
然后再执行:
|
||
|
||
```powershell
|
||
.\.venv\Scripts\Activate.ps1
|
||
```
|
||
|
||
### 3) `uvicorn` 命令找不到
|
||
|
||
通常是虚拟环境没激活,或者依赖没装成功。
|
||
|
||
重新执行:
|
||
|
||
```powershell
|
||
.\.venv\Scripts\Activate.ps1
|
||
pip install fastapi uvicorn
|
||
```
|
||
|
||
### 4) 9000 端口被占用
|
||
|
||
查看占用:
|
||
|
||
```powershell
|
||
netstat -ano | findstr :9000
|
||
```
|
||
|
||
如果必须换端口,比如改成 `8000`,那就要同时改两边:
|
||
|
||
- Windows 接收端启动端口
|
||
- 发送端 `monitor_sender.py --port ...`
|
||
|
||
---
|
||
|
||
## 11. 最小启动流程
|
||
|
||
以后你在 Windows 上最少只需要这几步:
|
||
|
||
```powershell
|
||
cd C:\Users\64187\Desktop\Workspace\xMonitor
|
||
.\.venv\Scripts\Activate.ps1
|
||
uvicorn main_monitor:app --host 0.0.0.0 --port 9000
|
||
```
|
||
|
||
然后浏览器打开:
|
||
|
||
```text
|
||
http://127.0.0.1:9000
|
||
```
|
||
|
||
如果需要,我下一步可以再给你补一份“Windows 接收端开机自启”文档,直接做成任务计划程序版本。
|