0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Raspberry Pi 3自制智能相框和日历—第一部分

李艳 来源:DevicePlus 作者:DevicePlus 2023-02-24 17:08 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这篇文章来源于DevicePlus.com英语网站的翻译稿。

poYBAGPzICiAVVa4AACtv63vJYo770.jpg

本教程的第一部分将带您逐步构建与您的谷歌账户关联并且能够显示家庭日历和相片的智能相框/日历,

请参考文章 Raspberry Pi 3 B型 WiFi 和蓝牙设置指南

该项目将使用具有Raspbian Jessie操作系统的Raspberry Pi 3 B型进行构建。我将指导您完成Raspberry Pi (RPi)配置的必要步骤以及安装使该项目能够正常运行的其他软件。

从概念到部署,每个项目都有特定的步骤。通过本教程的第一部分,我们将进行到产出原型的阶段。在接下来的部分中将进行测试和修订,直到最终完成的产品能够在任何墙壁上都看起来很棒。

硬件

电脑: Lenovo T420 Windows 10

• MicroSD 卡: Kingston MicroSDHC 8GB w/ SD 适配器

微处理器: Raspberry Pi 3 B型 (1GB)

• 显示器: HannsG HL161 16英寸显示器

• VGA 适配器: 用于PC的支持HDMI输入到VGA的通用适配器转换器

电源: 通用有源USB 2 4端口集线器

• 电缆: USB Type-A / Micro-B; 以及 USB Type-A / Type-B

• 键盘: 通用USB键盘

• 鼠标: 通用USB鼠标

• WiFi 路由器: 通用WiFi路由器

软件

• SD Formatter v4

• Win32 Disk Imager 0.9

• Raspbian Jessie Pixel

附加组件

• overGrive

• Feh

• xprintidle

• unclutter

外部资源

• 谷歌账户

1. 谷歌云盘

2. 谷歌日历

从理念到开发

从概念到部署,项目开发包含许多步骤。

poYBAGPzICqACprCAABWOKPSkLc907.jpg

步骤I —概念

想必您有过这种体验:每天早晨,早餐桌上都会有一些关于日程安排的即兴讨论,诸如谁会在何日何地以及什么时间干什么。这种日常讨论已经变成了一个大杂烩,被每个人放入手机的提醒中和写在墙上的白板上。我曾经有个想法是把日历放在白板上,这样我们就可以看到每周的时间安排了。后来想那为什么不使用Raspberry Pi (RPi)和显示器将其设置成智能日历呢?而且既然不需要一直查看日历,那为什么不将相框的幻灯片放进去来显示一些家庭照片呢?

pYYBAGPzIC2AayVMAADJc1CrGKQ500.jpg

步骤 II —设计

第1部分:使用Chromium,RPi将启动到KIOSK模式,并显示创建的谷歌日历。经过一段时间后,将在Chromium上以全屏模式启动图像幻灯片放映。这些图像将通过名为overGrive的附加程序从谷歌云盘上下载和同步。

第2部分:使用PIR运动传感器,当有人直接站在显示器前时,一个脚本将会被编程以在幻灯片和日历之间进行切换。然后,将整个项目安装在框架中并进行布线,使其看起来像相框。

步骤 III—原型

A. 设置磁盘映像(PC)

1) 下载“RASPBIAN JESSIE WITH PIXEL” 磁盘映像并将其解压缩到您的硬盘上。

2) 格式化8GB MicroSD 卡。 我使用SD Formatter v4

3) 将下载的磁盘映像写入microSD卡。我使用 Win32 Disk Imager

B. 组装 Raspberry Pi 3

1) 将microSD 插入RPi背面的插槽中 (见视频)

2) 将键盘和鼠标连接到USB端口(蓝色)

3) 将显示器连接到HDMI 适配器,然后将其插入 RPi (黑色)

4) 将有源USB 集线器连接到RPi(粉红色)上的micro-b USB端口

poYBAGPzIC-ASUE1AAFiAcTKQL4297.jpg

C. 启动RPi,并进行配置与更新

poYBAGPzIDGAd028AABHY9zSl48670.jpg

1) Raspberry Pi (RPi) 可直接引导到Raspbian PIXEL GUI中。

pYYBAGPzIDSAY8vvAADiTr2YN1o276.jpg

2) 点击菜单栏右上角的WiFi图标,以连接您的本地路由器和网络。

3) 通过单机菜单栏左上方的RPi图标并在“首选项”菜单选项中选择“Raspberry Pi配置”来更改RPi密码。

poYBAGPzIDaAVVWbAACmCwGYJgE771.jpg

4) 当您进行Raspberry Pi (RPi)配置时,单击“定位”选项,然后将RPi配置为您所在的区域。

I. 选择您的语言环境

pYYBAGPzIDiACh80AABhLzH8Vv0967.jpg

II. 设置您的时区

pYYBAGPzIDqAOCEPAABc0d1v-qI215.jpg

III. 设置您的键盘

poYBAGPzID2AeQtIAACPIZTaZQs934.jpg

IV. 设置您的WiFi国家

poYBAGPzID-AQ4OmAABYDvZYt6w641.jpg

5) 系统将会在完成后要求重新启动

pYYBAGPzIEGAYtbxAABH8A9MY6I702.jpg

D. 登录或注册谷歌账号(在RPi上)

1) 通过点击菜单栏左上方的蓝色地球来打开Chromium网络浏览器

2) 在网址栏输入www.google.com

3) 点击屏幕上的【登录】按钮

4) 使用您的谷歌账号进行登录,或者如果您还没有账号,请选择页面底部的【创建账户】

E. 创建您的日历 (在笔记本电脑上)

1) 前往 www.google.com

2) 登录谷歌账号

3) 单击右上方的3×3正方形框

poYBAGPzIEOAKDRmAAALkWfm49E188.jpg

4) 从下拉列表中选择日历图标

poYBAGPzIEWAdh2GAAALMDvwcg0739.jpg

5) 为您的家人创建和设置日历(见视频)

F. 设置您的谷歌云盘(在笔记本电脑上)

1) 前往 www.google.com

2) 登录您的谷歌账号

3) 单击右上方3×3正方形方框

poYBAGPzIEOAKDRmAAALkWfm49E188.jpg

4) 从下拉列表中选择驱动器图标

poYBAGPzIEiAIBfrAAAJQbpzE1o595.jpg

5) 为您的照片创建和设置文件夹(见视频)

注意:幻灯片所显示的图像应适合于您所使用的显示器。考虑放置横向图像而非纵向图像以使其达到最好的显示效果。

G. 设置与您的谷歌云盘文件夹同步(在RPi上)

1) 通过单击左上角的RPi图标打开终端窗口

2) 在[附件]中选择[终端]应用程序

3) 键入以下命令以安装overGrive所需要的附件

I. sudo apt-get update #检查Raspbian Jessie的更新

poYBAGPzIEyAB8N1AAEL57b3XO8336.jpg

II. sudo apt-get install gir1.2-appindicator3-0.1 indicator-application libappindicator1 libappindicator3-1 libdbusmenu-glib4 libdbusmenu-gtk3-4 libdbusmenu-gtk4 libindicator3-7 libindicator7 libnotify-bin lsb-release python-pip python-pkg-resources python-pyinotify python-setuptools #安装overGrive附件

4) 打开Chromium网页浏览器,然后前往该链接以下载overGrive安装程序:
https://www.thefanclub.co.za/sites/default/files/public/overgrive/overgrive_3.2.3_all.deb

5) 下载文件后,安装 overGrive

pYYBAGPzIE6AXHGPAABfg_msbOU079.jpg

6) 单击菜单栏左上方的“文件夹”图标

I. 单击[File],然后选择[Create New…] -> [Folder]

II. 将新文件夹命名为“Google_Drive” #Linux 系统不能很好地处理文件中的空格,因此请确保使用下划线。

7) 单击菜单栏左上方的RPi 图标

I. 单击[Accessories],然后选择[overGrive]应用程序。

8) 单击窗口中的[Change]按钮,然后选择左侧[Home]菜单下的[Google_Drive]文件夹。

pYYBAGPzIFGAQ7l4AAC64IBTn8w581.jpg

9) 单击窗口中的[Connect account]按钮,然后按照此处的剩余安装说明进行操作 www.thefanclub.co.za/overgrive/installation-instructions-raspberrypi

注意:overGrive是 一个完善的 Google Drive API 解决方案。购买许可证的一次性费用为$ 4.99 ,如果您想先对其进行测试,则可以先试用14天。

H. 设置幻灯片程序和启动脚本(在RPi上)

1) 通过单击左上角的RPi标志打开终端窗口

2) 在[Accessories]选项中选择[Terminal]应用程序

3) 输入以下指令来安装幻灯片所需程序

I. sudo apt-get install feh #按照提示操作

II. sudo apt-get install xprintidle #按照提示操作

III. sudo apt-get install xscreensaver #按照提示操作

4) 在终端输入以下指令来设置幻灯片脚本

I. cd /home/pi/Google_Drive/Picture_Frame #打开Picture_Frame文件夹

II. sudo nano slideshow_start.sh #创建脚本以启动幻灯片放映

a. 将以下代码从J.A.McNaughton复制并粘贴到slideshow_start.sh 脚本中 [ https://raw.githubusercontent.com/jamcnaughton/useful-linux-scripts/master/simplescreensaver/screensaverfull.sh ]

#!/bin/bash # screensaverfull.sh # url: ### # This script is licensed under GNU GPL version 2.0 or above # Uses elements from lightsOn.sh # Copyright (c) 2011 iye.cba at gmail com # url: https://github.com/iye/lightsOn # This script is licensed under GNU GPL version 2.0 or above # Description: #### # screensaverfull.sh needs xprintidle and feh to work. # HOW TO USE: Start the script with the number of seconds you want the checks # for fullscreen to be done. Example: # "./screensaver.sh 120" DIR=$( cd "$( dirname "$0" )" && pwd) delay=$1 # If argument empty, use 60 seconds as default. if [ -z "$1" ];then delay=60 fi # If argument is not integer quit. if [[ $1 = *[^0-9]* ]]; then echo "The Argument "$1" is not valid, not an integer" exit 1 fi IDLE_TIME=$(($delay*1000)) cd $DIR while sleep $((1)); do idle=$(xprintidle) if [ $idle -ge $IDLE_TIME ]; then feh -x -F -r -Y -Z -z -A slideshow -D 7 -d $DIR fi done exit 0

b. 按下【Ctrl】+【x】键退出并保存, 然后按下【y】键表示同意,最后按下【Enter】键写入文件

III. sudo chmod 775 /home/pi/Google_Drive/Picture_Frame/slideshow_start.sh #使此脚本可执行

IV. sudo nano ~/.config/lxsession/LXDE-pi/autostart #打开自动启动文件

a. 将以下内容添加到文件末尾
@/home/pi/Google_Drive/Picture_Frame/slideshow_start.sh

b. 按下【Ctrl】+【x】键退出并保存, 然后按下【y】键表示同意,最后按下【Enter】键写入文件

5) 通过单击菜单栏左上方RPi标志下的[Preferences]菜单中的[Screensaver]应用程序来关闭屏幕保护程序。

单击窗口中的[Mode:]选项,然后选择[Disable Screen Saver]

poYBAGPzIFSATi4EAACVavxRoHY670.jpg

注意:要退出幻灯片播放,请按【Esc】键

I. 设置Chromium以加载日历(在RPi上)

1) 打开Chromium 网页浏览器并前往www.google.com

2) 单击3×3 方框下的[Calendar]图标

3)[Copy]日历的url

4) 单击url窗口右侧的三个点,以访问“自定义设置和控制”

I. 选择 [Settings]

pYYBAGPzIFaAemuGAACAAmEvsnQ810.jpg

a. 找到[On startup]标题,然后选择 [Open a specific page or set of pages]按钮

b. 单击行尾的蓝色[Set pages]

将日历的url[Paste]到[Add a new page]框中,然后单击[OK]

pYYBAGPzIFiACcEaAAAqV8F9l6A240.jpg

II. 退出Chromium浏览器

5) 再次启动Chromium浏览器,以确保添加了日历页面

注意:如果谷歌提示您再次使用用户名和密码登录,请选择[Stay signed in]选项

pYYBAGPzIFqADrkuAABBzacQcWU398.jpg

6) sudo nano ~/.config/lxsession/LXDE-pi/autostart #打开自动启动文件

I. 将以下内容添加到文件末尾:

@/usr/bin/chromium–browser —noerordialogs —disable–session–crashed–bubble —disable–infobars —kiosk #在kiosk(全屏)模式下打开Chromium浏览器,不显示错误消息或禁用崩溃气泡提示和信息栏。

II. 按下【Ctrl】+【x】键退出并保存, 然后按下【y】键表示同意,最后按下【Enter】键写入文件

7) sudo apt-get install unclutter #在全屏模式下安装删除鼠标光标的程序

8) sudo nano ~/.config/lxsession/LXDE-pi/autostart #打开自动启动文件

I. 将以下内容添加到文件末尾:@unclutter -idle 0.1 -root

II. 按下【Ctrl】+【x】键退出并保存, 然后按下【y】键表示同意,最后按下【Enter】键写入文件

步骤 II — 测试

现在,我们已经整理好了所有的程序和代码,需要关闭RPi并重新启动,以确保一切均能正常自动启动(见视频)。

结论

该项目到目前为止有了一个很好的开始。第一部分是关于配置和设置Raspberry Pi的内容,目的是为了显示日历并加载幻灯片。第二部分我们将对项目进行收尾:将Raspberry Pi安装在显示器后面,构建一个框架,然后安装运动传感器。

请继续关注下一篇文章!

poYBAGPzIF2APSDlAAEOHAoRFro272.jpg

© 2015 谷歌公司保留所有权。谷歌及谷歌标志均为谷歌公司的注册商标。

pYYBAGPzICWAPo46AAAGYWUUdjI058.jpg

Garrett LaFrance

Garrett是一位在技术、计算机科学和编程领域拥有32年经验的技术专家。他能够构建专业的IoT原型系统,并认为理解是创新的关键。

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Raspberry Pi
    +关注

    关注

    2

    文章

    621

    浏览量

    23846
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    OpenWrt 路由器 Banana Pi R4 评测 第一部分:规格、性能和购买渠道

    Pi个值得信赖的品牌吗? 这家公司在很多方面都很稳健,包括产品、支持和文档。不过,我现在很少见到 Orange Pi 了。Raspberry
    发表于 11-01 11:14

    OpenWrt Wifi7路由器 Banana Pi R4 评测 第一部分:规格、性能和购买渠道

    购买 Banana Pi R4 的理由 经过番深思熟虑,我的 OpenWrt 路由器——Banana Pi R4 终于到货了。我之前考虑换个路由器,是因为家里的 ipTIME 路由器经常断
    的头像 发表于 11-01 11:12 686次阅读
    OpenWrt Wifi7路由器 Banana <b class='flag-5'>Pi</b> R4 评测 <b class='flag-5'>第一部分</b>:规格、性能和购买渠道

    雷卯针对香橙派Orange Pi 5 Pro开发板防雷防静电方案

    第一部分 应用场景 高端平板、边缘计算、人工智能、云计算、AR/VR、智能安防、智能家居、Linux 桌面计算机、Linux 网络服务器、Android 平板、Android 游戏机
    的头像 发表于 08-19 17:31 588次阅读
    雷卯针对香橙派Orange <b class='flag-5'>Pi</b> 5 Pro开发板防雷防静电方案

    提高篇——C语言核心技术(中文版)

    该资料是“C编程语言”和“C语言链接库”的完整参考手册。这本书的目的是提供本方便、可靠的手册,辅助日常的编程工作。本书描述C语言的所有元素,并介绍它们的用法。 资料分成三部分第一部分使用相当
    发表于 06-13 16:39

    TI大学计划-电源篇

    本手册将分为以下几部分介绍信号链和电源相关的知识及 TI 产品在大学生创新活动中的应用: 第一部分:运算放大器的原理和设计; 第二部分:数据转换器的原理和设计; 第三部分:线性电源和开
    发表于 05-19 15:33

    如何用 Raspberry Pi 500 搭建家庭录音室?

    是时候安装并配置家庭录音室中高质量音频制作所需的软件了。这是来自《树莓派官方杂志》系列教程的第三部分,也是最后一部分。若想阅读整个系列教程,请先回顾第一部分(关于录音空间设置),再阅读第二部分
    的头像 发表于 05-18 08:33 1211次阅读
    如何用 <b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b> 500 搭建家庭录音室?

    LTC6563输入端采用AC耦合时,信号的一部分有效值会因饱和而截断怎么解决?

    手册中的电路,其中RB选用3K欧姆电阻、CAC选用100nf电容: 在实际测试中遇到了这样的情况: 此时的OFFSET为0V.我的输入光电流是正弦形式,但输出的正弦波有一部分被截掉了,若为了显示完整
    发表于 04-24 08:03

    解锁垂直美学!如何在你的Raspberry Pi相框中仅显示竖版照片!

    如何在你的RaspberryPi相框中仅显示竖幅照片这篇文章可能只针对一小部分读者,但这就是像这样的博客的乐趣所在:你可以深入探索各种极客话题。已在搭载BookwormWayland
    的头像 发表于 03-25 09:33 647次阅读
    解锁垂直美学!如何在你的<b class='flag-5'>Raspberry</b> <b class='flag-5'>Pi</b><b class='flag-5'>相框</b>中仅显示竖版照片!

    使用DLP9000在切换不同的灰度图时,会出现一部分的延迟以后才可以完整的显示图像,为什么?

    您好,我使用DLP9000显示灰度图像时,在切换不同的灰度图时,会出现一部分的延迟以后才可以完整的显示图像。比如每张8bit灰度图120hz,持续2s,在2s的初始阶段会出现不完整的图像,之后才会
    发表于 02-25 06:37

    DLPR350能否使用ROI功能,投一部分光?

    请问各位大哥,DLPR350能否使用ROI功能,投一部分光。
    发表于 02-24 07:49

    DLPC3478固件加载只有前面一部分是怎么回事?

    我们现在自己研发的DLPC378+DLPA2005+DLP3010板子,Flash型号和TIDA-080003 参考设计上的样 W25Q32JVSSIQ。现在用示波器测试到固件只加载了一部分
    发表于 02-21 07:57

    松下MPS媒体制作平台之自动跟踪插件(第一部分)

    四处移动的拍摄对象,从而完成拍摄的付费插件。在使用之前,请在网页上确认PC(个人电脑)的必要配置。 本期内容我们将介绍以下内容: 1.激活方法 2.在Device View(设备管理)界面注册体化摄像机 3.界面的构成 4.基于人体检测的自动跟踪 5.跟踪目标角度的详细
    的头像 发表于 02-08 11:15 1063次阅读
    松下MPS媒体制作平台之自动跟踪插件(<b class='flag-5'>第一部分</b>)

    I2C接口的DAC8571输出不正常是什么原因?

    和SDATA如下图: 首先是次发送完整波形 然后是第一部分,包括地址与控制字节,是正确的 然后是第二部分,即高位字节 最后是低位字节 可以看到应该是正确的波形。 谢谢!
    发表于 01-17 08:34

    Raspberry Pi树莓派新手指南

    电子发烧友网站提供《Raspberry Pi树莓派新手指南.pdf》资料免费下载
    发表于 12-23 17:05 4次下载

    DAC348X EVM的I路输出电路,画圈的那一部分有什么作用?0L电感L40有什么作用?

    下图是DAC348X EVM的I路输出电路,画圈的那一部分有什么作用?0L电感L40有什么作用?T11是1:1传输线变压器,这个有什么用?
    发表于 12-20 08:46