树莓派晚上可以用来做什么?

1,517 阅读4分钟
原文链接: blog.jobbole.com

树莓派是一种十分有用的小计算机。我有好几个呢,因为我会把它用到我的白天的工作中,我想是时候用一个在晚上了。

我也很喜欢养热带昆虫,特别是甲虫。这些可不是你家花园里那些甲虫,除非你刚好生活在雨林。我现在手上的这些是象甲虫,它们来自美洲中南部。下面放照:

查看图片
这只是雄性的象甲虫,香蕉用来做参照。

这些昆虫通常是夜行的。在白天它们通常喜欢在垫草(苔藓)下面挖洞,或者挂在树杈上。但到了晚上,它们就变得十分活跃。我之所以知道这一点,是因为

当我早上起来,我发现它们箱子里的树枝都被重新排列了。

现在来说说我的树莓派项目,我想用树莓派的摄像头来做一部网络相机,也想做一些延时摄影的视频,因为我真的不想盯着屏幕12小时来看看这些小家伙都在晚上干了点啥。于是就有了Beetlecam(甲虫相机)这个项目,它会时不时在这里进行直播。默认情况下,Beetlecam会每30秒拍一张照片,也可以根据给定的时长生成延时影片。下面是经过24小时拍摄的镜头压缩到20分钟左右的视频。

在这篇文章里我将告诉你如何用你的树莓派来组装并运行一个Beetlecam。

Beetlecam 硬件

要运行一个Beetlecam,你需要下面3样东西:

  • 一个树莓派(任何型号,除了树莓派 zero,因为它不支持摄像头)
  • 一个树莓派摄像头
  • 一箱子热带昆虫

或许你没有第三项,别担心,它可以用到任何你想要延时摄影的地方。

一个常规的树莓派摄像头就够了,但我用的是红外线版,因为它可以在全黑的情况下进行拍摄。如果你要拍的对象是在夜间活动的,那么红外线版本就必不可少了。下面是我的小派和摄像头(注意摄像头左右各有一个红外LED)。

查看图片
树莓派外接红外摄像头

安装树莓派十分简单,我用了魔术贴来把它粘在箱子上面,也方便移动位置。下面是安装好的:

查看图片
安装好的树莓派和红外摄像头

Beetlecam 软件

Beetlecam软件分为两部分,一部分是一个web应用,用来展示最后拍下的图像,另一部分是一个脚本每隔一段时间就拍一张照片然后上传。这两部分都在Beetlecam repository.

要运行Beetlecam,你还需要一些额外的类库。你可以用树莓派桌面上的terminal(终端)应用来安装它们,或者用SSH/Dataplicity来远程连接到树莓派上。不管你用哪种,运行下面的命令:

sudo apt-get update
sudo apt-get install python-dev python-pip python-lxml libjpeg-dev
sudo pip install moya picamera

这可能要花一些时间,来杯咖啡吧。

当上面的命令都完成,你就能运行这个命令了moya -v

下一步是从Github上获取Beetlecam的源码,通过以下命令获取:

sudo apt-get install git
git clone https://github.com/moyaproject/beetlecam.git

这个命令会在你当前路径下创建一个beetlecam文件夹,并用cd beetlecamcd到这个目录下。

在这个目录里,你应该可以找到一个叫做beetlecam.py的Python文件。这是一个周期性拍照并上传照片的脚本。这个Python代码所做的是拍摄照片并发送POST请求给web应用。当你在一个网页上填表单时,浏览器就会发出一个POST请求。Beetlecam所做的,就是给这个表单填数据。

通过下面命令运行 beetlecam.py:

python beetlecam.py run -r 30

你将会看到命令行有错误提示,那是因为我们还没有运行Beetlecam的web应用部分。

要运行web应用,需要打开一个新的Terminal(终端)窗口,或者SSH实例。这样我们就可以让beetlcam.py一直在小派上运行。cd到beetlecam路径下然后运行:

cd site
moya init

这个命令会初始化web应用并创建数据库。接着,用下面的命令来运行web应用:

moya runserver -t --host 0.0.0.0

然后你就应该可以用浏览器打开 http://127.0.0.1:8000 看到beetlecam.py拍摄的照片了。也许你用的是网络里面的另外一台机器,那就应该用树莓派的主机名替换URL,默认情况下是 http://raspberrypi:8000

第二部分?

如果大家还感兴趣的话,我将告诉大家如何创建一个延时摄影视频,并将介绍更多 beetlecam.py 的细节,以及web应用的实现。