# PPT遥控器Web服务端部署说明 ## 📋 项目简介 Web服务端是PPT遥控器系统的核心组件,部署在云服务器上,作为手机APP和电脑服务端之间的中转桥梁。 ## 🛠️ 技术栈 - **编程语言**:Python 3.7+ - **Web框架**:WebSockets - **依赖包**:websockets, json, uuid, datetime ## 🚀 部署步骤 ### 1. 准备云服务器 - 选择支持Python的云服务器(如AWS EC2,阿里云,腾讯云等) - 确保服务器开放端口:8766(电脑服务端连接)和8767(手机APP连接) ### 2. 安装依赖 ```bash # 更新系统 apt update && apt upgrade -y # 安装Python和pip apt install python3 python3-pip -y # 安装依赖包 pip3 install websockets ``` ### 3. 部署Web服务端 ```bash # 创建部署目录 mkdir -p /opt/pptremote # 上传app.py文件到服务器 # 使用scp或其他方式上传文件 # 启动服务 cd /opt/pptremote python3 app.py ``` ### 4. 配置守护进程 为了确保服务持续运行,建议使用systemd或PM2管理进程。 #### 使用systemd(推荐) 创建服务配置文件: ```bash nano /etc/systemd/system/pptremote-web.service ``` 添加以下内容: ```ini [Unit] Description=PPT Remote Web Server After=network.target [Service] Type=simple User=root WorkingDirectory=/opt/pptremote ExecStart=/usr/bin/python3 app.py Restart=always RestartSec=10 [Install] WantedBy=multi-user.target ``` 启动服务: ```bash systemctl daemon-reload systemctl start pptremote-web systemctl enable pptremote-web ``` ### 5. 配置安全组 确保云服务器的安全组或防火墙开放以下端口: - 8766:电脑服务端连接 - 8767:手机APP连接 ## ⚙️ 配置说明 ### Web服务端配置 在`app.py`文件中,您可以修改以下配置: - `VERIFICATION_KEY`:验证密钥,确保只有授权的电脑服务端能连接 - 端口配置:默认8766(电脑端)和8767(手机端) - 清理时间:默认24小时清理过期连接 ### 电脑服务端配置 在`computer_app/main_gui.py`文件中,修改以下配置: ```python # Web服务端配置 WEB_SERVER_URL = "ws://your-cloud-server.com:8766" # 替换为您的服务器地址 VERIFICATION_KEY = "ppt_remote_secret_key" # 与Web服务端保持一致 ``` ## 🔄 工作流程 1. **电脑服务端启动**: - 启动本地WebSocket服务 - 连接到Web服务端并进行验证 - 获得临时地址 - 生成临时地址的二维码 2. **手机APP连接**: - 扫描电脑端显示的二维码 - 连接到Web服务端的临时地址 - 发送控制命令 3. **Web服务端转发**: - 接收手机APP的控制命令 - 转发到对应的电脑服务端 4. **电脑服务端执行**: - 接收Web服务端转发的命令 - 执行PPT控制操作 ## 📱 手机APP连接方式 手机APP可以通过以下两种方式连接: 1. **扫描二维码**:直接扫描电脑端显示的临时地址二维码 2. **手动输入**:输入格式为 `ws://your-cloud-server.com:8767/{临时地址}` ## 📝 日志管理 Web服务端会在控制台输出运行日志,包括: - 连接状态 - 控制命令转发 - 错误信息 如果使用systemd管理,可以通过以下命令查看日志: ```bash journalctl -u pptremote-web ``` ## 🔒 安全说明 - **验证机制**:使用密钥验证确保只有授权的电脑服务端能连接 - **临时地址**:每次连接生成唯一的临时地址,提高安全性 - **连接清理**:自动清理过期连接,防止资源泄露 ## 🚩 故障排查 ### 常见问题 1. **电脑服务端连接失败**: - 检查网络连接 - 确认Web服务端地址正确 - 检查安全组配置 2. **手机APP连接失败**: - 确认二维码内容正确 - 检查网络连接 - 确认临时地址未过期 3. **控制命令无响应**: - 检查Web服务端是否正常运行 - 确认电脑服务端状态 - 查看日志了解具体错误 ## 📞 技术支持 如果遇到问题,请查看日志获取详细信息,或联系技术支持。 --- **PPT遥控器Web服务端** - 让远程控制更简单!