将树莓派变成便携式流媒体摄像头

还没有读者喜欢这篇文章。
open hardware

Opensource.com

上个月我决定启动一个新的 树莓派 项目,因为距离我上次的项目已经有一段时间了(参见:圣诞彩灯音乐盒)。

几个月以来,我一直想玩玩树莓派触摸屏,并且一直想购买 Pi Camera。我继续从 Adafruit 订购了这两样东西。(我选择了 3.5 英寸 PiTFT 触摸屏。)

收到货后,我开始在网上阅读如何安装它们。PiTFT 需要您稍微自定义您的 Raspbian 安装,但是 说明非常简单明了,我只遇到了几个问题。首先,我没有将屏幕充分地安装在 GPIO 引脚上,它没有启动。另一个问题有点复杂。如果我使用 lightdm 自动登录到 LXDE,屏幕会在启动屏幕后立即变黑。如果我仅登录到控制台(即,禁用 lightdm),一切都会正常工作。

最终的解决方法是告诉 Xorg 使用 /dev/fb1 作为显示设备,为此您应该执行以下操作

安装帧缓冲驱动程序

sudo apt-get install xserver-xorg-video-fbdev

创建文件:/usr/share/X11/xorg.conf.d/99-fbdev.conf

Section "Device"
Identifier "myfb"
Driver "fbdev"
Option "fbdev" "/dev/fb1" EndSection

(来源)

这应该允许 lightdm 启动并在您的树莓派上自动登录到 Xorg,如下面的图片所示。

照片由 Anderson Silva 提供。 CC BY-SA 4.0

总的来说,PiTFT 对于这个价格来说已经足够好了,但我发现触摸屏的灵敏度不佳。我还没有尝试看看是否有办法调整它,但我最终会去做的。

要安装 PiCam,我只是在 YouTube 上搜索了一个教程,并确保在 raspi-config cli 程序中启用了它。和触摸屏一样,我觉得第一次我没有正确插入摄像头,所以我不得不稍微调整一下排线。我做的另一件事(我不记得是否在任何说明中提到过)是通过 raspi-config 启用 SPI

下图显示了 PiCam 正在运行。

照片由 Anderson Silva 提供。 CC BY-SA 4.0

树莓派自带了一些工具,允许您与摄像头交互。请在 RaspberryPi.org 上查看它们。

CLI 工具很好,但我想更进一步。我希望能够带着树莓派四处走动,并可能从 PiCam 直播视频。(注意:这不是我的原创想法,其他人以前也做过,我只是也想做。)

下一步是尝试找到一些比 CLI 命令更用户友好的东西,让我进行流媒体播放。目前,我选择了 Pi Cam Web Interface 项目。

同样,说明非常简单明了,尽管使用 Apache 作为 Web 服务器比 Ngnix 效果更好。考虑到内存有限,而 Ngnix 以其小内存占用而闻名,我肯定想在不久的将来再次尝试使用 Ngnix 重新安装它。同样值得提醒大家的是,在安装 Pi Cam Web Interface 后,您已将其设置为自动启动。您仍然必须通过 RPi_Cam_Web_Interface_Installer.sh 启动摄像头。我确信有一种方法可以让摄像头也自动启动,但我只是还没有花时间去做。

在 Pi Cam Web Interface 工作的情况下,您可以通过在网络中的浏览器(或在树莓派本身上的本地主机)上访问树莓派的 IP/URL 来轻松查看 Pi Cam 的实时流。

最后一块拼图是在树莓派上设置一种方式,让我可以通过触摸屏启动本地浏览器,这样我就可以开始观看视频。我决定在树莓派上安装 Chromium,并在 kiosk 模式下针对本地主机运行它。效果非常好。

照片由 Anderson Silva 提供。 CC BY-SA 4.0

最终产品。将 PiCam 安装在树莓派 2 和 PiTFT 屏幕上,电池供电运行。

哦,当然还有电池。我正在使用一个 Anker 12000mah 外部电池,它非常大且重。我认为为了演示目的,可能值得在未来的某个时候购买一个更小的电池,以展示这个项目可以真正做到多么紧凑。您在我的照片中看到的盒子只是购买 Canakit 时树莓派 2 附带的标准盒子。

照片由 Anderson Silva 提供。 CC BY-SA 4.0

这就是目前为止的项目!这很有趣,并且我学到了更多关于树莓派的功能。在这个特定的项目上,我仍然有很多事情想要改进,包括

  • 从 Pi Cam Web Interface 中隐藏“重启/关机”服务器,这样我可以与朋友分享直播,而不必担心他们会恶搞服务器。
  • 使摄像头在重启后在 Pi Cam Web Interface 下自动启动,而不是像我现在这样手动启动。
  • 自动在 Kiosk 模式下启动 Chromium。(现在您必须点击一个图标)。
  • 可能更短的电缆和更小的电池。
  • 一些内存调优:使用 Ngnix,使用 raspi-config 调整 RAM 使用量,可能杀死其他可能未使用的进程等。

照片由 Anderson Silva 提供。 CC BY-SA 4.0

最后一个有点不相关的想法:我对 PiTFT 感兴趣是因为我希望能够启动和停止我的圣诞彩灯表演,而无需网络连接或“普通”显示器。鉴于此 PiTFT 的连接器插入了整个 GPIO 端口,我将不得不弄清楚如何映射 PiTFT 工作所需的引脚,同时将其他引脚用于彩灯表演,但这将是未来项目的主题。

标签
User profile image.
Anderson 在 1996 年被他的叔叔介绍接触了 Linux。在 2000 年代初期,他从开发人员转型为系统管理员。今天,Anderson 领导红帽信息安全事件响应团队。他还是 Fedora 软件包的活跃维护者。

7 条评论

不错!实际上,我已经考虑过类似的事情很久了。我是“那些人”之一,不喜欢背对着任何人,所以当我搬到一栋新大楼并被安排到一个小隔间时,我总是担心有人走到我身后。我带了一面小镜子来帮助解决这个问题,但认为构建一个树莓派“镜子”会非常酷。感谢您的提示,最重要的是,感谢您的动力!

我已经扩展了这个项目,甚至在树莓派上安装了扬声器,并且我密切关注着我的狗,我可以远程播放一个 ogg 文件,对它“喊叫”让它从沙发上下来 :-) 我将在未来的文章中写到这一点。 :-)

回复 作者:BC

看看您是否可以写一篇有趣的帖子,介绍以 10 种不同的有趣方式使用树莓派或其他什么。可能是孩子们周日下午的活动。 :)

回复 作者:ansilva

很棒的项目。我正在做一个类似的项目,但不幸的是我没有时间完成它。为什么不为您所做的事情添加流媒体功能呢?在 PiTFT 上观看视频时,使用 UV4L,您可以选择将音频和视频流式传输到 Jitsi Meet Web Conference,例如,或“开箱即用”地传输到另一个对等方。还支持双向音频,这意味着您可以通过连接到树莓派的耳机收听其他人。那会非常有趣。此外,这一切都是通过 WebRTC 完成的,因此无需配置。UV4L:http://linux-projects.org

© . All rights reserved.