# CCRobot **Repository Path**: zaoyige/ccrobot ## Basic Information - **Project Name**: CCRobot - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-19 - **Last Updated**: 2026-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # robot-control 项目 ## 项目概述 robot-control 是一个用于树莓派摄像头控制和实时画面获取的项目,主要功能是持续从摄像头获取画面并实时更新为图片文件,为机器人控制系统提供视觉输入。 ## 项目结构 ``` robot-control/ ├── camera_updater.py # Python版摄像头更新脚本 ├── create_test_image.py # 测试图片生成脚本 ├── stream.sh # 基础版摄像头流脚本 ├── stream_v2.sh # 改进版摄像头流脚本 ├── stream_optimized.sh # 优化版摄像头流脚本 ├── stream_final.sh # 最终版摄像头流脚本 ├── stream_final_optimized.sh # 最终优化版摄像头流脚本 ├── stream_simple.sh # 简化版摄像头流脚本 └── README.md # 项目说明文档 ``` ## 功能说明 ### 1. 摄像头实时更新 - 持续从树莓派摄像头获取画面 - 每100ms更新一次图片(10fps) - 支持多种实现方式,从简单到优化版本 ### 2. 测试图片生成 - 创建模拟摄像头画面的测试图片 - 用于在没有摄像头时进行系统测试 ### 3. 与上位机集成 - 生成的 `camera.jpg` 文件可通过HTTP服务器访问 - 支持上位机通过浏览器或HTTP客户端实时查看摄像头画面 ## 依赖项 - 树莓派操作系统(Raspberry Pi OS) - 树莓派摄像头模块 - `rpicam-tools` 或 `libcamera-tools` - Python 3(用于 `camera_updater.py` 和 `create_test_image.py`) - PIL 库(用于 `create_test_image.py`) ## 安装 1. **安装依赖** ```bash # 安装 rpicam-tools(适用于较新的树莓派OS) sudo apt update sudo apt install rpicam-tools # 或安装 libcamera-tools(适用于旧版树莓派OS) sudo apt install libcamera-tools # 安装 Python PIL 库 pip3 install pillow ``` 2. **克隆项目** ```bash git clone robot-control cd robot-control ``` ## 使用方法 ### 1. 启动摄像头更新 选择以下脚本之一运行: - **Python版本**: ```bash python3 camera_updater.py ``` - **Bash版本**(推荐,更高效): ```bash # 最终优化版(推荐) chmod +x stream_final_optimized.sh ./stream_final_optimized.sh ``` ### 2. 生成测试图片 当没有摄像头或需要测试时: ```bash python3 create_test_image.py ``` ### 3. 搭建HTTP服务器 为了让上位机访问摄像头画面,需要在树莓派上启动HTTP服务器: ```bash # 在 robot-control 目录下启动HTTP服务器 cd /home/rooter/robot-control python3 -m http.server 8000 ``` ### 4. 上位机访问 - **浏览器访问**:在浏览器中打开 `http://<树莓派IP>:8000/camera.jpg` - **HTML界面**:创建一个HTML页面定期刷新图片(示例见下方) ## 脚本说明 | 脚本名称 | 特点 | 适用场景 | |---------|------|----------| | camera_updater.py | Python实现,易于修改 | 开发调试 | | stream.sh | 基础bash实现 | 简单场景 | | stream_v2.sh | 使用视频流处理 | 需要更流畅画面 | | stream_optimized.sh | 使用timelapse模式 | 中等性能需求 | | stream_final.sh | 使用libcamera-still | 稳定可靠 | | stream_final_optimized.sh | 符号链接指向最新图片 | 最优性能 | | stream_simple.sh | 简化版,易于理解 | 入门学习 | ## 配置选项 ### 摄像头参数 - **分辨率**:默认 800x450,可在脚本中修改 - **质量**:默认 80,可在脚本中调整 - **帧率**:默认 10fps(每100ms更新一次) - **超时**:默认无限运行 ### 文件路径 - **图片保存路径**:默认 `/home/rooter/robot-control/camera.jpg` - **临时文件路径**:仅在优化版脚本中使用 ## 上位机HTML界面示例 创建一个 `index.html` 文件: ```html 机器人摄像头监控

机器人摄像头监控

摄像头画面
加载中...
``` ## 故障排除 ### 常见问题 1. **摄像头未检测到** - 检查摄像头连接 - 运行 `rpicam-hello` 测试摄像头 2. **图片更新失败** - 检查权限:确保脚本有写入权限 - 检查磁盘空间:确保有足够空间保存图片 3. **HTTP服务器无法访问** - 检查防火墙设置 - 确保树莓派和上位机在同一网络 ### 性能优化 - 使用 `stream_final_optimized.sh` 获得最佳性能 - 调整分辨率和质量以平衡画面效果和系统负载 - 考虑使用系统服务(systemd)确保脚本在开机时自动运行 ## 扩展建议 - **添加运动检测**:使用OpenCV对摄像头画面进行运动检测 - **实现视频录制**:添加视频录制功能,保存重要时刻 - **集成到机器人控制系统**:与机器人的其他控制模块集成 - **远程控制**:添加API接口,实现远程控制摄像头参数 ## 许可证 本项目采用 MIT 许可证。 ## 贡献 欢迎提交Issue和Pull Request!