SIMCommander ®

机器人创客网

©版权所有.转载请注明出处

树莓派实战:pi-zero-w 行车记录仪

如果视频无法正常显示,请前往b站观看


§准备材料

  • 树莓派pi zero w一块
  • 手机或PC
  • 500万分辨率官方摄像头(建议800万版本)及用于pi zero的转换排线
  • 迷你2自由度云台
  • 3.7v锂电池1块
  • 3.7v转5v升压版及Micro usb接头
  • 树莓派外壳
  • HDMI显示器(供树莓派使用)
  • 改锥,剪刀等常用工具

§构架说明

    本项目由两部分组成:
  • pi zero w: 负责采集和保存视频
  • PC/手机: 实时查看视频

整体构架图

§连接方法

俯视连接图

实物效果图

  • 目前专业的行车记录仪功能单一, 功耗大, 布线(供电)复杂, 如果布线不严谨,很容易造成安全隐患. 本方案探索利用pi zero w小巧、功耗低和强大的扩展性特点, 希望做成便携式行车记录仪,同时将来还可扩展其他功能,比如导航、娱乐、图像识别以及利用云服务等功能。
  • pi zero w虽小,五脏俱全,视频处理方面也不示弱,在1920x1080的分辨率情况下,视频录像可以达到每秒30帧的性能.

§系统安装

1.本方案采用官方Raspbian系统(Strech版本.自有安装系统请事先备份重要数据!)

2.下载记录仪软件: 行车记录仪程序

3.安装运行所需要的运行库:

  • 用winzip或winrar解开pi0DrivingRecorder-strech.rar文件,将lib下的内容拷贝至/usr/local/lib下
然后执行命令
ldconfig
apt update
apt-get install libjpeg9-dev
  • 修改/boot/config.txt文件,添加如下内容(如果已经添加,请忽略):
gpu_mem=128
start_x=1
保存后,重新启动系统(reboot)

§应用启动

1.创建目录,假设命名为pi0DrivingRecorder.将pi0DrivingRecorder.tar解压在此目录下

tar xvf pi0DrivingRecorder.tar

解压后,文件列表如下:

root@raspberrypi:~/pi0DrivingRecorder# ls -l
total 4096
-rwxr-xr-x 1 root root 2083324 Jul 1 03:39 RaspiCamera.out
-rw-r--r-- 1 root root 152 Jul 2 06:59 camera.ini
-rw-r--r-- 1 root root 2099200 Jul 2 06:59 pi0DrivingRecorder.tar
-rw-r--r-- 1 root root 3759 Jul 2 06:59 wsjpeg.html

2.camera.ini为摄像头运行参数:

width: 视频宽度, 值范围请参考官方数据
height: 视频高度, 值范围请参考官方数据
iso: 感光度. 白天一般100,晚上可以设置到800.数值越高,感光度越强
contrast: 对比度: -100 ~ 100
awb: 白平衡. 0:关闭 1:自动 2:日光模式 3:阴天模式 4:背阴 5:钨灯 6:荧光灯 7:白炽灯 8:闪光 9:地平线模式
exposure: 曝光度. 0:关闭 1:自动 2:夜间 3:夜间预览 4:逆光 5:聚光灯 6:运动 7:雪景 8:海滩 9:长时间曝光 10:帧约束 11:防抖 12:烟火
sharpness: 图像锐度。 -100 ~ 100
imageEffect: 图象效果. 0:关闭 1:底片效果 2:日光暴晒
jpegCompressRatio: 图像压缩率. 值越大,压缩率越小,远程预览时图像质量越高, 对带宽要求越高,对视频本身质量不产生影响
jpegFPS: 远程预览时每秒传输的帧数,数值越高,视频越流畅,但是对带宽要求更高。对视频本身质量不产生影响
VideoFPS: 视频录像采用的每秒的帧数 ,数值越高, 视频越流畅
bitrate: 录像视频码率, 单位:kbps。数值越高,图象越清晰,同时占用的空间越大
storage: 0:不保存视频文件(缺省设置) 1:保存视频文件

3.视频保存的格式为H264格式。文件名格式:(年月日分秒.h264) .用迅雷播放器可以直接播放h264文件.文件超过大约2GB将自动创建新文件.可以通过下列命令将h264文件转换为mp4文件:

ffmpeg -i 2019xxxxxxxxxx.h264 -vcodec copy -f mp4 pi02019xxxx.mp4

4.启动录像命令:

./RaspiCamera.out

启动成功后,我们将看到下列输出信息:

****************** Welcome to SIMCommander.com ! ******************
RaspiV_ServerThread.
RaspiV_ServerThread is ready.
Camera_ws_ServerThread ready!
------------------------Camera parameter-----------------------------------------
width: 1920
height: 1080
iso: 100
contrast: 0
awb: RASPICAM_AWB_AUTO
sharpness: 40
exposure: RASPICAM_EXPOSURE_AUTO
image effect: RASPICAM_IMAGE_EFFECT_NONE
jpeg compression ratio: 9
jpeg FPS: 12
video FPS: 30
bitrate: 3500kbps
storage: 0
----------------------------------------------------------------------
http_ServerThread ready!

同时看到Camera_ws_ServerThread ready!Camera_ws_ServerThread ready!信息,说明后台的web服务已经启动,这时你可以在手机或PC端打开浏览器,输入如下地址:

http://192.168.10.6:8980

其中192.168.10.6为pi zero w的ip地址,根据实际情况进行修改,效果如下:

5.开机自启动方案(可选):

  • 确认pi用户可以自动登录桌面
  • 以pi身份进入lxterminal,如果是其他用户执行命令 su pi进入pi用户,确保在pi用户根目录下
  • 创建脚本文件名: starcam ,同时修改文件为可执行
chmod +x startcam
  • 编辑startcam文件,内容如下:

cd /home/pi/pi0DrivingRecorder
./RaspiCamera.out > log&

其中pi0DrivingRecorder是前面我们为应用程序创建的目录.
  • 执行如下命令编辑autostart文件:
 vi ~/.config/lxsession/LXDE-pi/autostart
添加如下内容:

@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
point-rpi
@/home/pi/startcam

  • 存盘,重新启动(reboot)系统即可.
  • 想要取消自动启动, 删除~/.config/lxsession/LXDE-pi/autostart文件即可

§注意事项

1.注意供电不要过低电压或过压,过低电流或超电流

2.注意防止设备或电池过热

3.电源连接前请确认正负极

4.其他需要注意事项请参考厂商官方信息