MAKER:Johan Link/译:趣无尽 Cherry(转载请注明出处)
相信大家对去年的《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
大功告成!
via