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
    +关注

    关注

    1

    文章

    552

    浏览量

    22058
收藏 人收藏

    评论

    相关推荐

    些国家标准规范的文档般在哪找和下载

    GB4943.1-2011《信息技术设备 安全 第一部分,通用要求》的文档资料有吗,在哪边可以找到,能免费下载最好(*^ω^*)
    发表于 03-06 10:46

    旋变输出的波形接到AD2S1200后,下端会被削掉一部分是为什么?

    和sinLO接到AD2S1200输入端,再用示波器看波形,波形下端被截止一部分 这是为什么?直没有找到解决方法,输入AD2S1200的波形符合3.6Vp-p,10HZ
    发表于 12-21 06:48

    差分驱动ADC 第一部分

    电子发烧友网站提供《差分驱动ADC 第一部分.pdf》资料免费下载
    发表于 11-23 16:36 0次下载
    差分驱动ADC <b class='flag-5'>第一部分</b>

    使用Σ-Δ转换器——第一部分

    电子发烧友网站提供《使用Σ-Δ转换器——第一部分.pdf》资料免费下载
    发表于 11-23 14:31 0次下载
    使用Σ-Δ转换器——<b class='flag-5'>第一部分</b>

    用于高频接收器和发射器的锁相环——第一部分

    电子发烧友网站提供《用于高频接收器和发射器的锁相环——第一部分.pdf》资料免费下载
    发表于 11-23 10:32 0次下载
    用于高频接收器和发射器的锁相环——<b class='flag-5'>第一部分</b>

    学习如何使用万用表第一部分

    电路万用表
    油泼辣子
    发布于 :2023年11月18日 11:44:52

    多个子模块如何让其中个子模块包含一部分子模块?

    多个子模块,如何让其中个子模块包含一部分子模块
    发表于 10-16 06:12

    Raspberry Pi 3 官方套件入门指南

    Raspberry Pi 3套件介绍Raspberry Pi 3套件安装
    发表于 10-09 07:53

    AMBA智能卡接口数据表

    智能卡接口符合《支付系统集成电路规范》第一部分《机电特性、逻辑接口和传输协议》(1996年6月3.0版)。 本标准由Europay International S.A.、万事达卡国际公司和Visa
    发表于 08-21 06:17

    SensorTile.box第一部分:初级入门模式(Basic mode)介绍

    电子发烧友网站提供《SensorTile.box第一部分:初级入门模式(Basic mode)介绍.pdf》资料免费下载
    发表于 07-31 10:10 0次下载
    SensorTile.box<b class='flag-5'>第一部分</b>:初级入门模式(Basic mode)介绍

    Ultra96 SDR第一部分:简单的射频频谱图Web应用程序

    电子发烧友网站提供《Ultra96 SDR第一部分:简单的射频频谱图Web应用程序.zip》资料免费下载
    发表于 07-05 09:32 6次下载
    Ultra96 SDR<b class='flag-5'>第一部分</b>:简单的射频频谱图Web应用程序

    FPGA立体相机设置-第一部分

    电子发烧友网站提供《FPGA立体相机设置-第一部分.zip》资料免费下载
    发表于 06-29 09:27 0次下载
    FPGA立体相机设置-<b class='flag-5'>第一部分</b>

    66. 066、SpringBoot3 第一部分小结

    JAVA
    充八万
    发布于 :2023年06月21日 12:47:51

    数字日历相框开源项目

    电子发烧友网站提供《数字日历相框开源项目.zip》资料免费下载
    发表于 06-20 10:02 1次下载
    数字<b class='flag-5'>日历</b>和<b class='flag-5'>相框</b>开源项目

    用于高频接收器和发射器的锁相环—第一部分

    第一部分将重点介绍有关PLL的基本概念,同时描述基本PLL 架构和工作原理,另外,我们还将举例说明PLL在通信系统 中的用途。最后,我们将展示一种运用ADF4111频率合成器 和VCO190-902T电压控制振荡器的实用PLL电路。
    的头像 发表于 06-17 14:47 725次阅读
    用于高频接收器和发射器的锁相环—<b class='flag-5'>第一部分</b>