树莓派机器人实时视频流控制构建指南
为何叫sPiRobot?
以往项目多用Arduino,此构建以树莓派为大脑,故名sPiRobot。
硬件清单
- 1×树莓派(支持USB网络摄像头和Wi-Fi的任意型号)
- 1×USB网络摄像头(如Logitech C920)
- 1×USB Wi-Fi网卡(USB-2.0, 802.11b/g/n)
- 1×4GB microSD卡(高速UHS-I)
- 1×Micro-USB或USB-C电源线(最小2A)
- 1×9V电池(远程操作用)
- 1×H桥/L293D电机驱动
- 1×HDMI/AV显示器(初始设置用)
- 1×USB键盘+鼠标(初始设置用)
步骤1:准备树莓派
- 将最新树莓派OS(原Raspbian)刷入microSD卡。官方指南:安装树莓派OS。
- 插入SD卡,连接HDMI显示器、键盘、鼠标、Wi-Fi网卡。通过USB线(或可靠电源)供电。
- 桌面加载后打开终端。
步骤2:安装必要软件包
运行以下命令更新系统并安装视频流、Web服务、图像处理所需库:
$ sudo apt-get update $ sudo apt-get install libv4l-dev libjpeg8-dev subversion imagemagick libapache2-mod-php5 php5 apache2 git
步骤3:设置网络摄像头流媒体服务
使用MJPG-Streamer通过HTTP推送网络摄像头画面。
$ svn co https://svn.code.sf.net/p/mjpg-streamer/code/ MJPG-streamer $ cd MJPG-streamer/mjpg-streamer $ sudo make USE_LIBV4L2=true
验证目录包含:
- mjpg_streamer(可执行文件)
- input_uvc.so
- output_http.so
步骤4:获取项目代码
克隆sPiRobot仓库:
$ git clone https://github.com/sohil4932/sPiRobot
将创建sPiRobot文件夹,含所有服务端脚本。
步骤5:部署服务器文件
复制必要文件至Apache文档根目录:
$ cd sPiRobot $ sudo cp backward.sh control.html forward.sh help_steuerkreuz.png index.html init.sh left.sh right.sh spirobot.php shutdown.sh stop.sh /var/www/
授予www-data超级用户权限以控制GPIO:
$ echo "www-data ALL=(ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers
步骤6:连接Wi-Fi并获取IP
打开预装于Raspbian的Wi-Fi-Config,连接路由器,运行:
$ ifconfig
wlan0下的inet addr即树莓派局域网IP——远程控制时需用到。
总结
树莓派上电、网络摄像头流媒体服务运行、Web界面部署完成后,即可在同一网络任意设备(或配置端口转发实现远程访问)控制机器人并查看摄像头画面。
详细演练和故障排查请参考原教程或GitHub README。
制造工艺
- 2019年5月维护洞察:Fiix资讯与全球趋势
- IoT 入门教程:树莓派流式传输温度数据
- 树莓派传感器与执行器控制实战:加速度计、舵机与数据流
- 解锁树莓派全部潜力的必备配件推荐
- 树莓派光敏电阻教程:接线与 Python 读取光照强度
- Bridge Shield扩展板:树莓派与Arduino集成打造智能机器人
- DIY仿Wall-E树莓派CD盒机器人
- 蓝牙控制树莓派机器人:语音反馈功能构建指南
- Arduino与树莓派构建互联网控制视频流机器人完整指南
- 树莓派网络摄像头机器人构建:视频流分步指南
- 树莓派WiFi机器人:手机App远程控制实战
- 用 Python 构建 Wi-Fi 控制的树莓派机器人:分步指南