文档章节

DIY一个带WIFI的树莓派照相机

RagingTyphoon
 RagingTyphoon
发布于 2015/08/16 09:54
字数 3331
阅读 1727
收藏 5

本文由 极客范 - Boyd Wang 翻译自 Phillip Burgess。欢迎加入极客翻译小组,同我们一道翻译与分享。转载请参见文章末尾处的要求。


概览

这个项目使用了Adafruit PiTFT触摸屏和树莓派摄像头模块来制作一个一按即拍的数码相机。你也可以选择性的加入WiFi和Dropbox(一个云存储同步服务)来自动的把拍摄的照片传到另一台电脑上以供编辑。  它不是要代替你的数码相机(甚至是手机的摄像头)。它只是一个简单的学习锻炼的产物而不是精美的消费品。但因为它是开源的,你可以给它定制一些普通相机做不到的功能。

raspberry_pi_pi-cam1

你需要的东西

因为有以太网口和两个USB接口,Model B更容易安装。而Model A更省钱更省电…但是只有一个USB接口并且没有以太网口,它需要你花更多的力气来让所有软件加载起来。

  • PITFT Mini Kit — 供树莓派使用的TFT触屏

  • 树莓派摄像头模块。通常情况下你需要普通版本。但是在一些特殊的项目比如安保或户外夜间拍摄,你可以尝试红外版本

  • SD存储卡,4GB或者更大。为了使相机更加小巧便携,你可以选择性的使用microSD卡和low-profileShortening转接卡。

下面是可选部分:

  • WiFi适配器,它使你能够把照片上传到Dropbox上(需要账户,免费的)。

  • 移动电源,它使整个相机变成可携带的。如果使用WiFi和/或Model B型树莓派,你需要一个可以提供1A电流的强劲移动电源(有些最大输出只有500mA)。

  • 某些情况下一个USB转TTL串口线是访问和配置树莓派更好的选择,如果你没有备用的键盘和显示器。

一些所需的额外组件,工具和技术:烙铁和焊锡用于把头部与PiTFT屏焊接到一起;一些把组件组装到一起的方法–从简单的使用橡皮筋,到一个钻孔的电子元件板,再到精心设计的3D打印外壳。这一切都取决于你手边可用的资源。浏览一下看看这个项目需要哪些东西,然后根据你自己的情况想出解决办法把。   另一种树莓派一按即拍的相机! James Wolf在原始的外壳(除了电池)里制作了一个树莓派一按即拍相机。他自己做了一块板子来集成所需的线缆,带有电阻和按钮 ,拍摄的图片和Python文件链接可以在他的网站上找到。

树莓派设置

为了确保所有相互依赖的软件正常工作,最简单的方法是从一个干净的系统开始。 格式化4GB或者更大容量的SD卡(也可以用带转接卡的microSD)并且写入2013-09-25版本的Raspbian Wheezy操作系统。这篇教程介绍了如何为树莓派准备一张SD卡最重要的一点是使用2013-09-25版本的Raspbian,而不是之后的2013-12-20版本。虽然最新版本总是那么的诱人,但是TFT屏还不能在之后的版本上完全正常工作。修复工作正在进行中,这个问题可能会在后续的发布中得到解决。 点击这里下载2013-09-25版本Raspbian 接上显示器和键盘(或者USB转串口线),用手机的USB充电器或者有源的usb hub为树莓派供电,然后进行第一次启动配置。 以下选项是必须的:

  • Expand Filesystem

  • Enable Camera

    raspberry_pi_enable-camera2

以下选项非常有用推荐设置:

  • Internationalization Options更改Change TimezoneChange Keyboard Layout为与你相对应的区域。

以下配置是可选的:

  • Advanced Option,选择Hostname来为树莓派指定一个唯一的名字(比如”picam”)来与网络内的其他树莓派区别开。

  • Advanced Option,选择SSH来打开远程命令行访问(对日后的配置和查找问题很有帮助)。

  • 其他你喜好的配置

不应该使用下列选项:

  • Overclock.这是一个便携式,电池供电的项目并且超频更费电。超频的系统很有可能烧坏SD卡。不要打开这个选项。

一旦基础配置完成,你可以配置无线网络如果你打算用它的话。可以参考这篇教程。 一旦所有配置完成,下一步设置PiTFT。

Adafruit PiTFT — 2.8英寸的树莓派触摸屏

至 少完成Assembly,Software Installation, Touchscreen Install & Calibrate 和 Using the Console pages几步。其余的部分(例如播放视频,加入关机键)对于这个项目来说没那么重要,但你可以根据自己的喜好完成。一旦你启动树莓派并且在2.8存 TFT屏上看到了登录提示信息,你就离成功不远啦。 同样的,PiTFT可选的实体按键对这个项目来说也不是必须的。

raspberry_pi_pi-cam3

你可以为其他的功能安装它,但是相机的软件是完全基于触摸屏的。  获取相机的软件只需要额外的几步… 首先,为树莓派相机安装Python库:

sudo apt-get install pip python-pip sudo pip install picamera==0.8

1

2

sudo apt-get install pip python-pip

sudo pip install picamera==0.8

(使用0.8版本非常重要,而不是更新的1.0版本。在新版本上我们使用的功能还有一点点不稳定。一旦状况改变,我们会发布一个修订版本修正这个问题。) 然后获取Python相机应用:

wget https://github.com/adafruit/adafruit-pi-cam/archive/master.zip unzip master.zip

1

2

wget https://github.com/adafruit/adafruit-pi-cam/archive/master.zip

unzip master.zip

最后,我们来试一下吧。软件必须以root身份运行(通过sudo命令)来在TFT屏上显示:

cd adafruit-pi-cam-master sudo python cam.py

1

2

cd adafruit-pi-cam-master

sudo python cam.py

如 果一切正常,几秒钟的初始化之后,你应该能在屏幕上看到一个取景窗以及两个按钮。 如果没有,那应该有一个错误信息指导你排除错误:缺少类库或者驱动等。这也是为什么我们推荐先完成TFT教程部分。 如果我们想用Dropbox,还有一些工作要做,所以现在退出相机应用吧。按一下齿轮图标(设置),再按左箭头,最后是确认按钮。你现在应该回到命令行 了。

raspberry_pi_pi-cam4

专用模式

如果你喜欢把树莓派调成相机专用模式,可以从让命令行输出到PiTFT(请参考PiTFT教程)开始并且为开关电源分配一个额外的电源键,这样你就可以轻松安全的关闭树莓派而不用登录或连接键盘了。 一旦这些都完成了,通过编辑/etc/rc.local加入下面exit 0之前的代码来使树莓派一启动就进入相机软件。

raspberry_pi_enable-camera4

再次重启的时候你会看到命令行字符然后直接打开了picam软件。要关机的话,可以使用刚才分配的按键来切换。

Dropbox配置

Dropbox 是一个”云”文件存储和同步服务。一个基础账户是免费的并且提供2G存储空间。我们可以利用它把树莓派里的相机导出到其他设备上(例如你的桌面电脑等)而 不需要数据线或者替换存储卡。 这就需要WiFi链接了;试想一下一个连接着网线的相机是多么令人讨厌啊。它也需要在你的无线网络范围内,并给你的树莓派合适的访问设置。 下面的在RasPi.TV上的教程介绍了如何在树莓派上配置Dropbox使它们能一起工作。

如何在树莓派上使用Dropbox

步骤包括:

  • 创建一个Dropbox账户如果你还没有。

  • 在树莓派上下载和配置Dropbox Uploader(通过命令行完成)

  • 创建Dropbox应用并得到访问认证

下面是一些我在Dropbox开发者网站为相机创建新app时的配置:

raspberry_pi_enable-camera6

额外的一步:

  • 通过在树莓派上上传一个文件(什么都行)来测试Dropbox Uploader程序。

如果工作正常,下次你运行cam.py脚本时你就可以进入Settings并且选择Dropbox作为存储介质。以后的照片将会保存在”Photos”文件夹里并且上传到Dropbox上。

使用相机

你 可能已经在测试时看到了相机的界面。现在我们来更详细的介绍下它是如何工作的还有哪些选项是可用的。 启动之后,相机程序会显示一个取景窗和两个按钮。屏幕的主要部分本身是一个快门“按扭” — 按一下它来拍照。 在屏幕的底部有2个按钮。左边的(一个小齿轮图标)将会呈现很多设置。右边的按钮(带有”Play”标志)使你能够浏览之前拍摄的照片(如果你什么都没 拍,相机会提示你是”empty”的)。 Settings菜单提供了很多相机的设置。这没有列出所有的树莓派相机功能,只有几个让你快速上手的必备选项。 通过屏幕顶部的左/右箭头在选项之间切换:


Storage屏有3个不同的选项,每一个的优缺点如下:

  • Photos Folder:图片将存储到树莓派你的home目录里的”Photos”文件夹下(如果不存在将被创建)。树莓派上的其他程序可以很容易的访问到他们,但是在别的电脑上访问这一分区就不那么容易了。

  • Boot Parition:图片将会存储到boot分区的”/boot/DCIM/CANON999″目录下。当SD卡插入到其他电脑上,它将类似于一个数码相机的存储卡并且自动导入照片,取决于你的系统设置。缺点是boot分区的空间非常有限。你可能只能存储十几张照片。

  • Dropbox:正如前面讨论的,图片将会存储到Photos文件夹下并且上传到Dropbox(如果WiFi已经连接并且配置好了Dropbox)。


Size屏可以选择3种尺寸:

  • Large (2592×1944,4:3比例):这是树莓派相机所支持的最大的尺寸(500w像素)。实际拍摄的要远大于取景窗里的显示。

  • Medium (1920×1080,16:9比例):HD分辨率,宽屏,200w像素。

  • Small (1440×1080,4:3比例):150w像素。

后两种模式应该能够在取景窗显示实际拍摄的照片范围,但是实际上不是这样(相机类库的文档有些和实际情况不一致)。这个问题还在解决当中。

Effect屏是所有乐趣发生的地方。这里有16种不同的艺术特效可以应用到照片上(算上”normal”,就是没有特效)。把你的照片弄得看起来像幅油画,或者铅笔素描,或者是奇奇怪怪的颜色!这些效果都是可以实时预览的。

ISO屏调整相机的光感度。这你得自己权衡…高感光度在光线暗的情况下效果更好,但是图像会有很多噪点。ISO没有实时预览,只会在拍照的时候起效。

最后一屏是退出相机程序选项,回到命令行。按一下红色的按钮退出,按箭头移到其他设置,或者按Done按钮取消。

“Done”按钮会返回取景模式。 所有的设置将会被保存,下次运行脚本的时候所有的设置会生效。

接下来的事情…

这仅仅只是次尝试,接下来要做什么取决于你自己…

  • 摄像头模块可以换成红外版本

  • cam.py里的图标和按钮非常简陋,但是对于你自己的触屏程序(不管是拍照相关的还是别的)来说足够了。

  • 相机代码可以被扩展去做别的事情。这有很多我们没有提及的相机设置。可以添加其他的功能例如自拍,定时器或运动检测。或者录制视频。

 


看看这个令人尴尬的组装,它用的是橡皮筋!也许一个合适的外壳更好…如果你能用到激光切割或者3D打印的那最好不过了。


盒子的尺寸可以考虑缩减;在PiTFT和树莓派之间有很大的空间(即使是使用Model A的板子)。更高级的玩家可以考虑压缩电池和5V变压器尺寸,连接到TFT板子右边头部突出部分来代替USB电源连接。结果将是与现存的消费级数码相机大小相似。


原文链接: Phillip Burgess 翻译: 极客范 - Boyd Wang

译文链接: http://www.geekfan.net/5618/

[ 转载请保留原文出处、译者和译文链接。]



本文转载自:http://www.geekfan.net/5618/

RagingTyphoon
粉丝 3
博文 28
码字总数 2689
作品 0
福州
私信 提问
远距离赏秋香,DIY树莓派望远镜

编者注:本项目来自Instructables,原作者为joshdont,转载请注明。 就像很多人说的,创客做的东西很多时候并没有什么用处,你甚至已经可以在市面上买到更便宜、更轻巧、功能更强大的成品,还...

吴攀
2015/12/07
0
0
树莓派+一根网线直连笔记本电脑

用网线直连电脑,不经过路由器。这个方法最大的特点用最少的工具玩树莓派。 一、材料:树莓派一部、网线一根,笔记本电脑一台。 1、树莓派:带供电系统和烧好Raspbian系统的SD卡; 2、网线:...

maweitao
2014/07/31
1K
1
树莓派配置无线网卡连接WIFI

在前面的文章中介绍了使用串口与树莓派连接的方法,但是串口连接不太便捷,因此本篇文章介绍wifi连接树莓派的方法。 无线网卡 树莓派2没有自带wifi模块,需要另外购买一个usb wifi模块。我使...

刘语彤
2015/08/04
364
0
12岁少年自制树莓派超级本,你也来试试?

编者注:本项目来自Instructables,原作者为MohitBagur,还是个只有12岁的少年。 我之前曾经做了一台基于树莓派2的笔记本电脑,但发现用起来很不方便;而我又正好缺一台平板电脑或笔记本电脑...

吴攀
2016/01/25
0
0
raspberrypi的相关网址

一、NOOBS安装 NOOBS使用说明书 http://www.shumeipai.net/thread-20009-1-1.html NOOBS自定义多系统启动 https://www.jianshu.com/p/afbcd17b785d NOOBS安装自定义系统 https://blog.csdn.......

mbzhong
2018/11/14
108
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
今天
5
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
今天
6
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
9
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
5
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部