本教程的第一部分将带您逐步构建与您的谷歌账户关联并且能够显示家庭日历和相片的智能相框/日历,
请参考文章 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. 谷歌日历
从理念到开发
从概念到部署,项目开发包含许多步骤。
步骤I —概念
想必您有过这种体验:每天早晨,早餐桌上都会有一些关于日程安排的即兴讨论,诸如谁会在何日何地以及什么时间干什么。这种日常讨论已经变成了一个大杂烩,被每个人放入手机的提醒中和写在墙上的白板上。我曾经有个想法是把日历放在白板上,这样我们就可以看到每周的时间安排了。后来想那为什么不使用Raspberry Pi (RPi)和显示器将其设置成智能日历呢?而且既然不需要一直查看日历,那为什么不将相框的幻灯片放进去来显示一些家庭照片呢?
步骤 II —设计
第1部分:使用Chromium,RPi将启动到KIOSK模式,并显示创建的谷歌日历。经过一段时间后,将在Chromium上以全屏模式启动图像幻灯片放映。这些图像将通过名为overGrive的附加程序从谷歌云盘上下载和同步。
第2部分:使用PIR运动传感器,当有人直接站在显示器前时,一个脚本将会被编程以在幻灯片和日历之间进行切换。然后,将整个项目安装在框架中并进行布线,使其看起来像相框。
步骤 III—原型
A. 设置磁盘映像(PC)
1) 下载“RASPBIAN JESSIE WITH PIXEL” 磁盘映像 [ https://www.raspberrypi.org/downloads/raspbian/ ] 并将其解压缩到您的硬盘上。
2) 格式化8GB MicroSD 卡。 我使用SD Formatter v4 [ https://www.sdcard.org/downloads/formatter_4/ ].
3) 将下载的磁盘映像写入microSD卡。我使用 Win32 Disk Imager [ https://sourceforge.net/projects/win32diskimager/ ].
B. 组装 Raspberry Pi 3
1) 将microSD 插入RPi背面的插槽中 (见视频)
2) 将键盘和鼠标连接到USB端口(蓝色)
3) 将显示器连接到HDMI 适配器,然后将其插入 RPi (黑色)
4) 将有源USB 集线器连接到RPi(粉红色)上的micro-b USB端口
C. 启动RPi,并进行配置与更新
1) Raspberry Pi (RPi) 可直接引导到Raspbian PIXEL GUI中。
2) 点击菜单栏右上角的WiFi图标,以连接您的本地路由器和网络。
3) 通过单机菜单栏左上方的RPi图标并在“首选项”菜单选项中选择“Raspberry Pi配置”来更改RPi密码。
4) 当您进行Raspberry Pi (RPi)配置时,单击“定位”选项,然后将RPi配置为您所在的区域。
I. 选择您的语言环境
II. 设置您的时区
III. 设置您的键盘
IV. 设置您的WiFi国家
5) 系统将会在完成后要求重新启动
D. 登录或注册谷歌账号(在RPi上)
1) 通过点击菜单栏左上方的蓝色地球来打开Chromium网络浏览器
2) 在网址栏输入www.google.com
3) 点击屏幕上的【登录】按钮
4) 使用您的谷歌账号进行登录,或者如果您还没有账号,请选择页面底部的【创建账户】
E. 创建您的日历 (在笔记本电脑上)
1) 前往 www.google.com
2) 登录谷歌账号
3) 单击右上方的3×3正方形框
4) 从下拉列表中选择日历图标
5) 为您的家人创建和设置日历(见视频)
F. 设置您的谷歌云盘(在笔记本电脑上)
1) 前往 www.google.com
2) 登录您的谷歌账号
3) 单击右上方3×3正方形方框
4) 从下拉列表中选择驱动器图标
5) 为您的照片创建和设置文件夹(见视频)
注意:幻灯片所显示的图像应适合于您所使用的显示器。考虑放置横向图像而非纵向图像以使其达到最好的显示效果。
G. 设置与您的谷歌云盘文件夹同步(在RPi上)
1) 通过单击左上角的RPi图标打开终端窗口
2) 在 [附件]中选择[终端]应用程序
3) 键入以下命令以安装overGrive所需要的附件
I. sudo apt-get update #检查Raspbian Jessie的更新
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
6) 单击菜单栏左上方的“文件夹”图标
I. 单击 [File] ,然后选择 [Create New…] -> [Folder]
II. 将新文件夹命名为“Google_Drive” #Linux 系统不能很好地处理文件中的空格,因此请确保使用下划线。
7) 单击菜单栏左上方的RPi 图标
I. 单击 [Accessories],然后选择 [overGrive] 应用程序。
8) 单击窗口中的 [Change] 按钮,然后选择左侧 [Home] 菜单下的 [Google_Drive] 文件夹。
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]
注意:要退出幻灯片播放,请按【Esc】键
I. 设置Chromium以加载日历(在RPi上)
1) 打开Chromium 网页浏览器并前往www.google.com
2) 单击3×3 方框下的 [Calendar] 图标
3) [Copy] 日历的url
4) 单击url窗口右侧的三个点,以访问“自定义设置和控制”
I. 选择 [Settings]
a. 找到 [On startup] 标题,然后选择 [Open a specific page or set of pages] 按钮
b. 单击行尾的蓝色 [Set pages]
将日历的url [Paste] 到 [Add a new page] 框中,然后单击 [OK]
II. 退出Chromium浏览器
5) 再次启动Chromium浏览器,以确保添加了日历页面
注意:如果谷歌提示您再次使用用户名和密码登录,请选择 [Stay signed in] 选项
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安装在显示器后面,构建一个框架,然后安装运动传感器。
请继续关注下一篇文章!
© 2015 谷歌公司保留所有权。谷歌及谷歌标志均为谷歌公司的注册商标。