找回密码
 立即注册

QQ登录

只需一步,快速开始

本帖最后由 lou 于 2020-5-6 11:51 编辑

树莓派+帽子=可穿戴视频记录仪



168.jpg

相信大家对去年的《OpenEyeTap:基于树莓派的开源AR智能眼镜》这个项目还有印象,同样是基于树莓派、3D打印、摄像头模块,下面要介绍的是功能类似,但DIY门槛大幅降低的灵魂制作版本。

169.jpg

采用体积更大的树莓派3B、更大更容易获得的摄像头模块、超大如充电宝一样的 5000mAh 锂电池,为此,本体已经不再是眼镜,而是——能容纳更多东西的帽子。

170.jpg

这套系统的相机会一直开启,随时拍摄你想记录的内容,但视频录制时间被限定为七秒。
这七秒,对于生活中很多美好的瞬间来说,已经足够了。如果没有它,等你拿出手机时已经稍纵即逝了,如果你热爱记录生活,那就来试试吧,把你喜欢的事物拍摄下来,快手小王子非你莫属!
(P.S. 即便自己没拍到什么,带这么个东西出街也一定能被路人拍到,一炮而红也是可能的呢!)

材料清单

180.jpg

190.jpg

  • 树莓派 3B×1
  • USB摄像头 ELP-USBFHD01M ×1
  • 按钮×1
  • 外接电池5000mAh ×1


3D 打印部件

需要打印的部件有电池仓、摄像头前后面两面的外壳、树莓派主机仓。

191.jpg

192.jpg

193.jpg

194.jpg

195.jpg

3D 打印文件请在项目文件库中下载。
https://make.quwj.com/project/132

工作原理

将电池连接到树莓派时,务必等待几分钟,确定树莓派可以正常使用。你每按一次按钮,摄像头将记录七秒的视频。
在手机上下载FTPManager 应用程序并连接到树莓派的 WiFi。在FTPManager 中,你可以通过 IP 地址访问树莓派的所有文件,浏览并查找录制好的视频。

组装

196.jpg

如图所示连接好触发摄像头的开关和树莓派。
摄像头可以插入到树莓派的任意一个 USB 端口。
将树莓派设置为热点,可以参考下面这篇教程:
https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md
如果你打算直接将树莓派接入互联网,那么可以不必设置成热点。

启用 SSH

1、在树莓派的选项菜单中配置。
2、选择接口选项卡。
3、点选 SSH 的已启用。
4、点击确定。

程序部分

程序是用Python 编写的,请先安装所需的库。

  1. import numpy as np
  2. import cv2
  3. import time
  4. import RPi.GPIO as GPIO

  5. GPIO.setmode(GPIO.BCM)
  6. GPIO.setup(18, GPIO.IN, pull_up_down=GPIO.PUD_UP)

  7. cap = cv2.VideoCapture(0)

  8. fourcc = cv2.VideoWriter_fourcc(*'XVID')

  9. print(cap.get(3)) #width
  10. print(cap.get(4)) #height
  11. print(cap.get(5)) # fps

  12. frameList = []

  13. numberOfSavedFrames = 30*7

  14. i=0
  15. vidNb = 0
  16. while(True):
  17.     # Capture frame-by-frame
  18.     ret, frame = cap.read()

  19.     frameList.append(frame)

  20.     if(len(frameList) > numberOfSavedFrames):
  21. #        cv2.imshow('frame',frameList[len(frameList)-1])
  22.         frameList.pop(0)

  23.     if cv2.waitKey(1) & 0xFF == ord('q'):
  24.         break
  25.      
  26.     input_state = GPIO.input(18)
  27.     if(input_state == False):
  28.         out = cv2.VideoWriter('output.avi', fourcc, 30.0, (640, 480))
  29.         for frame in frameList:
  30.             out.write(frame)
  31.         vidNb += 1
  32.          
  33.     i += 1

  34. # When everything done, release the capture
  35. cap.release()
  36. out.release()
  37. cv2.destroyAllWindows()
复制代码

代码下载地址:
https://github.com/JohanLink/FilmThePast
设置为开机自动运行这个程序文件即可。如何将 Python 脚本设置成开机启动,可以参考这里:
https://shumeipai.nxez.com/2017/05/17/raspberry-pi-service-python-script-start-on-boot.html
大功告成!
分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册