树莓派远程4G遥控车教程(三)-摄像头安装及实现局域网实时监控
树莓派远程4G遥控车教程(一)-准备工作
树莓派远程4G遥控车教程(二)-相机云台舵机初步调试
树莓派远程4G遥控车教程(四)-实时监控内网穿透及集成舵机控制功能
准备工作
出现问题欢迎私信我,大家一起讨论
- 树莓派4B+内存卡(已烧录系统)
- 摄像头 *1
- CSI线
运行环境配置
- 本文实时监控使用mjpg-stream
配置过程
- 在关闭电源的情况下将摄像头与树莓派通过CSI线连接
- 注意:靠近网线接口的地方是接摄像头的接口
- 在通过ssh连接树莓派后执行以下操作
- 开启摄像头服务
sudo raspi-config
- 进入配置页面,选中Interfacing Options,回车键后进入设置页面,选中Camera回车确定开启
- 安装MJPG-Stermer以及相关的一些依赖
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install subversion libjpeg8-dev imagemagick libv4l-dev cmake git
git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental/
- 注意,这里默认下载到了home目录下
- 进入该目录下mjpg-streamer/mjpg-streamer-experimental/plugins/input_uvc
- 双击修改input_uvc.c文件(我这里使用了MobaXterm,所以可以直接进行双击修改),修改图中高亮位置
- 因为MJPG-stermer在进行传输视频过程中,使用的是帧数传递而不是像素点传递,所以为了解决实时画面延迟过大的问题,这里进行了修改分辨率,来达到降低每帧图片的大小。达到更加流畅的效果
- 在进行修改后,进行编译(每次修改都需要编译)
cd mjpg-streamer/mjpg-streamer-experimental/
make all
sudo make install
- 启动摄像头测试
./mjpg_streamer -i "./input_raspicam.so" -o "./output_http.so -w ./www"
- 注意:这里默认使用8080端口作为视频访问地址。启动失败,请检查8080端口是否占用
lsof -i :8080 #检查占用
kill -9 PID #结束PID对应的进程
- 访问 http:// 树莓派IP:8080/?action=stream 获取画面
实现开机自启动
- 设置自启动文件
sudo vim /etc/systemd/system/camera.service
- 这里应该进入VIM编辑器,如果未进入。一般是未安装vim编辑器,参考Vim编辑器的安装与使用
- VIM的使用方法,参考:vim命令大全
[Unit]
Description=camera daemon
After=syslog.target network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/home/pi/mjpg-streamer/mjpg-streamer-experimental/mjpg_streamer -i "/home/pi/mjpg-streamer/mjpg-streamer-experimental/input_uvc.so" -o "/home/pi/mjpg-streamer/mjpg-streamer-experimental/output_http.so -w /home/pi/mjpg-streamer/mjpg-streamer-experimental/www"
Restart= always
RestartSec=1min
[Install]
WantedBy=multi-user.target
- 保存退出后,启动监控画面传输
systemctl daemon-reload
systemctl start camera
#启动监控画面的传输
#查看是否成功开启
systemctl status camera.service
#设置为开机启动
systemctl enable camera
- 每行命令都需要输入树莓派密码
- 重启树莓派,查看是否启动成功