本帖最后由 lou 于 2020-5-6 11:51 编辑
树莓派+帽子=可穿戴视频记录仪
相信大家对去年的《OpenEyeTap:基于树莓派的开源AR智能眼镜》这个项目还有印象,同样是基于树莓派、3D打印、摄像头模块,下面要介绍的是功能类似,但DIY门槛大幅降低的灵魂制作版本。
采用体积更大的树莓派3B、更大更容易获得的摄像头模块、超大如充电宝一样的 5000mAh 锂电池,为此,本体已经不再是眼镜,而是——能容纳更多东西的帽子。
这套系统的相机会一直开启,随时拍摄你想记录的内容,但视频录制时间被限定为七秒。 这七秒,对于生活中很多美好的瞬间来说,已经足够了。如果没有它,等你拿出手机时已经稍纵即逝了,如果你热爱记录生活,那就来试试吧,把你喜欢的事物拍摄下来,快手小王子非你莫属! (P.S. 即便自己没拍到什么,带这么个东西出街也一定能被路人拍到,一炮而红也是可能的呢!)
材料清单
- 树莓派 3B×1
- USB摄像头 ELP-USBFHD01M ×1
- 按钮×1
- 外接电池5000mAh ×1
3D 打印部件
需要打印的部件有电池仓、摄像头前后面两面的外壳、树莓派主机仓。
3D 打印文件请在项目文件库中下载。 https://make.quwj.com/project/132
工作原理
将电池连接到树莓派时,务必等待几分钟,确定树莓派可以正常使用。你每按一次按钮,摄像头将记录七秒的视频。 在手机上下载FTPManager 应用程序并连接到树莓派的 WiFi。在FTPManager 中,你可以通过 IP 地址访问树莓派的所有文件,浏览并查找录制好的视频。
组装
如图所示连接好触发摄像头的开关和树莓派。 摄像头可以插入到树莓派的任意一个 USB 端口。 将树莓派设置为热点,可以参考下面这篇教程: https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md 如果你打算直接将树莓派接入互联网,那么可以不必设置成热点。
启用 SSH
1、在树莓派的选项菜单中配置。 2、选择接口选项卡。 3、点选 SSH 的已启用。 4、点击确定。
程序部分
程序是用Python 编写的,请先安装所需的库。
- import numpy as np
- import cv2
- import time
- import RPi.GPIO as GPIO
-
- GPIO.setmode(GPIO.BCM)
- GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)
-
- cap = cv2.VideoCapture(0)
-
- fourcc = cv2.VideoWriter_fourcc(*'XVID')
-
- print(cap.get(3)) #width
- print(cap.get(4)) #height
- print(cap.get(5)) # fps
-
- frameList = []
-
- numberOfSavedFrames = 30*7
-
- i=0
- vidNb = 0
- while(True):
- # Capture frame-by-frame
- ret, frame = cap.read()
-
- frameList.append(frame)
-
- if(len(frameList) > numberOfSavedFrames):
- # cv2.imshow('frame',frameList[len(frameList)-1])
- frameList.pop(0)
-
- if cv2.waitKey(1) & 0xFF == ord('q'):
- break
-
- input_state = GPIO.input(18)
- if(input_state == False):
- out = cv2.VideoWriter('output.avi', fourcc, 30.0, (640, 480))
- for frame in frameList:
- out.write(frame)
- vidNb += 1
-
- i += 1
-
- # When everything done, release the capture
- cap.release()
- out.release()
- cv2.destroyAllWindows()
复制代码
代码下载地址: https://github.com/JohanLink/FilmThePast 设置为开机自动运行这个程序文件即可。如何将 Python 脚本设置成开机启动,可以参考这里: https://shumeipai.nxez.com/2017/05/17/raspberry-pi-service-python-script-start-on-boot.html 大功告成! |