上个月我决定开始一个新的 Raspberry Pi 项目,因为距离我上次的几个项目已经有一段时间了(参见:圣诞灯 和 音乐盒)。
几个月以来,我一直想玩玩 Raspberry Pi 触摸屏,并且一直想购买 Pi Camera。我继续从 Adafruit 订购了这两样东西。(我选择了 3.5" PiTFT 触摸屏。)
一旦它们到货,我便开始在网上阅读有关如何安装它们的一些资料。PiTFT 需要您稍微自定义您的 Raspbian 安装,但是 说明非常简单明了,我只遇到了一些问题。首先,我没有将屏幕充分地安装在 GPIO 引脚上,它没有开机。另一个问题有点复杂。如果我使用 lightdm 自动登录到 LXDE,屏幕会在启动屏幕后立即变黑。如果我只登录到控制台(即禁用 lightdm),一切都会正常工作。
最终的修复方法是告诉 Xorg 使用 /dev/fb1 作为显示设备,要做到这一点,您应该执行以下操作
安装 framebuffer 驱动程序
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 启动并在您的 Raspberry Pi 上自动登录到 Xorg,如下面的图片所示。
总的来说,PiTFT 对于这个价格来说已经足够好了,但我发现触摸屏的灵敏度不太理想。我还没有尝试看看是否有办法调整它,但我最终会做的。
要安装 PiCam,我只是在 YouTube 上搜索了一个教程,并确保在 raspi-config cli 程序上启用了它。就像触摸屏一样,我觉得我第一次没有正确插入相机,所以我不得不稍微调整一下排线。我做的另一件事(我不记得是否在任何说明中提到过)是通过 raspi-config 启用 SPI。
下图显示了 PiCam 正在运行。
Raspberry Pi 配备了一些工具,允许您与相机进行交互。请在 RaspberryPi.org 上查看它们。
CLI 工具很好,但我想更进一步。我希望能够带着 Pi 四处走动,并可能从 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 工作的情况下,您可以通过在网络内的浏览器(或者在 Pi 本地的主机上)访问 Raspberry Pi 的 IP/URL 来轻松查看 Pi Cam 的实时流。
最后一个难题是以某种方式设置 Pi,以便我可以通过触摸屏启动本地浏览器,这样我就可以开始观看视频。我决定在 Pi 上安装 Chromium,并在 kiosk 模式下针对 localhost 运行它。效果非常好。
最终产品。将 PiCam 安装在 Raspberry Pi 2 和 PiTFT 屏幕上,电池供电运行。
哦,当然还有电池。我正在使用 Anker 12000mah 外部电池,它非常大而且很重。我认为为了演示目的,可能值得在未来某个时候购买一个更小的电池,只是为了展示这个项目可以有多紧凑。你在我的照片中看到的盒子只是购买 Canakit 时 Raspberry Pi 2 附带的标准盒子。
这就是目前为止的项目!这非常有趣,我了解了更多关于 Raspberry Pi 功能的知识。关于这个特定项目,我仍然有很多事情想要改进,包括
- 从 Pi Cam Web Interface 中隐藏“重启/关机”服务器,这样我就可以与朋友分享实时流,而不必担心他们会恶意控制服务器。
- 使摄像头在重启后在 Pi Cam Web Interface 下自动启动,而不是像我现在这样手动启动。
- 自动在 Kiosk 模式下启动 Chromium。(现在您必须点击一个图标)。
- 可能更短的电缆和更小的电池。
- 一些内存调整:使用 Ngnix,使用 raspi-config 调整 RAM 使用率,可能杀死其他可能未使用的进程等。
最后一个有点不相关的想法:我对 PiTFT 产生了兴趣,因为我希望能够启动和停止我的圣诞灯光秀,而无需网络连接或“普通”显示器。鉴于这个 PiTFT 的连接器插在整个 GPIO 端口上,我将不得不弄清楚如何映射 PiTFT 工作所需的引脚,同时将其他引脚用于灯光秀,但那是未来项目的主题。
7 条评论