2014-3-9 13:42:34 [显示全部楼层]
4889浏览
查看: 4889|回复: 1

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

[复制链接]
概览这个项目使用了Adafruit PiTFT触摸屏和树莓派摄像头模块来制作一个一按即拍的数码相机。你也可以选择性的加入WiFi和Dropbox(一个云存储同步服务)来自动的把拍摄的照片传到另一台电脑上以供编辑。它不是要代替你的数码相机(甚至是手机的摄像头)。它只是一个简单的学习锻炼的产物而不是精美的消费品。但因为它是开源的,你可以给它定制一些普通相机做不到的功能。
raspberry_pi_pi-cam.jpg
raspberry_pi_hero.jpg 你需要的东西
  • 树莓派计算机,Model B或者Model A皆可。
因为有以太网口和两个USB接口,Model B更容易安装。而Model A更省钱更省电…但是只有一个USB接口并且没有以太网口,它需要你花更多的力气来让所有软件加载起来。
  • PITFT Mini Kit — 供树莓派使用的TFT触屏
  • 树莓派摄像头模块。通常情况下你需要普通版本。但是在一些特殊的项目比如安保或户外夜间拍摄,你可以尝试红外版本。
  • SD存储卡,4GB或者更大。为了使相机更加小巧便携,你可以选择性的使用microSD卡和low-profile或Shortening转接卡。
下面是可选部分:
  • 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
以下选项非常有用推荐设置:
  • 在Internationalization Options更改Change Timezone和Change Keyboard Layout为与你相对应的区域。
以下配置是可选的:
  • 在Advanced Option,选择Hostname来为树莓派指定一个唯一的名字(比如”picam”)来与网络内的其他树莓派区别开。
  • 在Advanced Option,选择SSH来打开远程命令行访问(对日后的配置和查找问题很有帮助)。
  • 其他你喜好的配置
不应该使用下列选项:
  • Overclock.这是一个便携式,电池供电的项目并且超频更费电。超频的系统很有可能烧坏SD卡。不要打开这个选项
raspberry_pi_1601console_LRG.jpg 一旦基础配置完成,你可以配置无线网络如果你打算用它的话。可以参考这篇教程。 一旦所有配置完成,下一步设置PiTFT。Adafruit PiTFT — 2.8英寸的树莓派触摸屏至少完成Assembly,Software Installation, Touchscreen Install & Calibrate 和 Using the Console pages几步。其余的部分(例如播放视频,加入关机键)对于这个项目来说没那么重要,但你可以根据自己的喜好完成。一旦你启动树莓派并且在2.8存TFT屏上看到了登录提示信息,你就离成功不远啦。 同样的,PiTFT可选的实体按键对这个项目来说也不是必须的。你可以为其他的功能安装它,但是相机的软件是完全基于触摸屏的。获取相机的软件只需要额外的几步… 首先,为树莓派相机安装Python
[mw_shl_code=applescript,true]cd ~

curl https://raw.githubusercontent.co ... ter/pi-touch-cam.sh >pi-touch-cam.sh
sudo bash pi-touch-cam.sh[/mw_shl_code]

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

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

[mw_shl_code=applescript,true]dtoverlay=pitft28c,rotate=90,speed=80000000,fps=60

start_x=1
gpu_mem=128[/mw_shl_code]

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

你现在应该回到命令行了。

[mw_shl_code=applescript,true]# Enable Wheezy package sources

echo "deb http://archive.raspbian.org/raspbian wheezy main
" > /etc/apt/sources.list.d/wheezy.list

# Set stable as default package source (currently jessie)
echo "APT::Default-release \"stable\";
" > /etc/apt/apt.conf.d/10defaultRelease

# Set priority for libsdl from wheezy higher then the jessie package
echo "Package: libsdl1.2debian
Pin: release n=jessie
Pin-Priority: -10
Package: libsdl1.2debian
Pin: release n=wheezy
Pin-Priority: 900
" > /etc/apt/preferences.d/libsdl[/mw_shl_code]

专用模式

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

[mw_shl_code=applescript,true]sudo apt-get update

sudo apt-get -y --force-yes install python-picamera python-pygame python-imaging[/mw_shl_code]

Dropbox配置

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

如何在树莓派上使用Dropbox步骤包括:
  • 创建一个Dropbox账户如果你还没有。
  • 在树莓派上下载和配置Dropbox Uploader(通过命令行完成)
  • 创建Dropbox应用并得到访问认证
下面是一些我在Dropbox开发者网站为相机创建新app时的额外的一步:
  • 通过在树莓派上上传一个文件(什么都行)来测试Dropbox Uploader程序。
  • 如果工作正常,下次你运行cam.py脚本时你就可以进入Settings并且选择Dropbox作为存储介质。以后的照片将会保存在”Photos”文件夹里并且上传到Dropbox
[mw_shl_code=applescript,true]apt-get -y --force-yes install libsdl1.2debian/wheezy[/mw_shl_code]
使用相机
[mw_shl_code=applescript,true]cd ~pi
wget https://github.com/andreafabrizi ... /archive/master.zip
unzip master.zip
rm master.zip
mv Dropbox-Uploader-master Dropbox-Uploader

wget https://github.com/adafruit/adafruit-pi-cam/archive/master.zip
unzip master.zip
rm master.zip[/mw_shl_code]
你可能已经在测试时看到了相机的界面。现在我们来更详细的介绍下它是如何工作的还有哪些选项是可用的。启动之后,相机程序会显示一个取景窗和两个按钮。屏幕的主要部分本身是一个快门“按扭” — 按一下它来拍照。在屏幕的底部有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”按钮会返回取景模式。所有的设置将会被保存,下次运行脚本的时候所有的设置会生效。

接下来的事情…

[mw_shl_code=applescript,true]# Enable this line to run camera at startup:

# cd /home/pi/adafruit-pi-cam-master ; sudo python cam.py[/mw_shl_code]这仅仅只是次尝试,接下来要做什么取决于你自己…
  • 摄像头模块可以换成红外版本
  • cam.py里的图标和按钮非常简陋,但是对于你自己的触屏程序(不管是拍照相关的还是别的)来说足够了。
  • 相机代码可以被扩展去做别的事情。这有很多我们没有提及的相机设置。可以添加其他的功能例如自拍,定时器或运动检测。或者录制视频。
[mw_shl_code=applescript,true]cd adafruit-pi-cam-master
sudo python cam.py[/mw_shl_code]
看看这个令人尴尬的组装,它用的是橡皮筋!也许一个合适的外壳更好…如果你能用到激光切割或者3D打印的那最好不过了。盒子的尺寸可以考虑缩减;在PiTFT和树莓派之间有很大的空间(即使是使用Model A的板子)。更高级的玩家可以考虑压缩电池和5V变压器尺寸,连接到TFT板子右边头部突出部分来代替USB电源连接。结果将是与现存的消费级数码相机大小相似。




killusa  高级技师

发表于 2014-3-9 23:40:48

这个我喜欢  
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail