本教程的第二部分将带您完成构建智能相框和日历的框架、连接PIR运动传感器和控制相框幻灯片显示向日历显示的过渡这些步骤。
该项目将继续使用本教程的使用Raspberry Pi 3自制智能相框和日历—第一部分中所设置的所有内容,并带您完成安装OS附加组件的步骤,以运行Python脚本来控制PIR传感器。
从概念到部署,每个项目都包含特定的步骤。本教程的第一部分带领我们概念阶段到原型阶段,最后进行了测试。在第二部分中,我们将进行修订,进行一些设计调整从而获得第二个原型,然后在进行最终部署前进行测试。
硬件
- • 微处理器: Raspberry Pi 3 B型 (1GB)
- • 显示器: HannsG HL161 16 英寸显示器
- • VGA 适配器: 用于PC的支持HDMI输入到VGA的通用适配器转换器
- • 电源: DC 12V/2A
- • 电源转换器: SINOLLC DC 12V 至 5V 转换器
- • 传感器: EMY HC-SR501 PIR 运动传感器
- • 电缆: USB Type-A / Micro-B; 用于显示器的通用15引脚VGA电缆;面包板跳线
- • 面包板: 通用无焊面包板
- • 外壳: 官方 Raspberry Pi 3 外壳
- • WiFi 路由器: 通用WiFi路由器
OS 附加组件
- • rpi.gpio
- • uinput
框架
- • 板: 22in x 15in x 3/4in 木板
- • 杆: 4in x 22in x 1/4in 木条
- • 罩子: 天然软木卷 24in x 48in
工具
- • 仪表:通用DV电压 & 阻抗仪表
- • 烙铁:通用
- • 锯:竖锯
- • 订书机:通用订书机
- • 钻:埋头钻;木孔钻
- • 槽刨:1/4in 插入式钻头
- • 其他:卷尺;螺丝刀;钳子剪;工具刀
- • 螺丝:3/4in木螺丝; M4 VESA 螺丝
- • 胶带:双面胶
- • 胶水:木胶水
- • 安装座:扎线座;3M Command挂钩
- • 其他:扎线带;相框线条
从理念到开发
步骤1 – 修订
只能够轻松访问我们的家庭线上日历是不够的。该项目进一步对家庭照片的幻灯片进行了整合,以便为此壁挂式作品增添美感。我们已经通过使用谷歌应用程序和overGrive将所有内容都存储在云盘中。现在,我们需要使用运动传感器控制日历和幻灯片之间的切换,以便显示器在有人站在日历前时能够显示日历。
步骤2 – 设计
第2部分:我们将把PIR运动传感器连接到Raspberry Pi (RPi) GPIO引脚,并安装必要的OS附加组件,以便其在接收到来自传感器的输入时运行Python脚本来按下ESC。这样,当智能相框前面有移动物时,幻灯片将终止放映,并显示Chromium上的家庭日历。
步骤3 – 原型
I. 启动
1) BOOT the RPi PART 1 disk image # 这应该直接加载到显示您日历的Chromium Kiosk中
2) [Ctrl]+[Alt]+[F2] # 退出Kiosk模式
3) >login:< with >Password:< # 进入命令提示符
4) startx # 启动没有Chromium的Pixel GUI
II. 安装Python 脚本附件
1) 打开一个终端窗口并输入指令
a) 点击 左上角的“Raspberry” 图标
b) 在 >Accessories< 菜单下选择 >Terminal< 应用程序
2) sudo apt-get update # 检查并安装最新版本的Raspbian Jessie
3) sudo apt-get install python-rpi.gpio python3-rpi.gpio # 安装Python RPi.GPIO 附件
4) wget https://tjjr .fi/sw/python-uinput/releases/python-uinput-0.11.2.tar.gz # 下载 Python 取消输入模块
5) tar -xzf python-uinput-0.11.2.tar.gz # 解压下载文件
6) cd python python-uinput-0.11.2 # 打开解压文件夹
7) python setup.py build # 创建安装程序
8) python setup.py install # 运行安装程序
9) sudo nano /etc/modules # 打开模块文件进行编辑
a) uinput # 添加到文件末尾
b) [Ctrl]+[X] # 退出文件
c) [Y] # 确认保存文件
d) [Enter] # 写入文件
10) sudo reboot # 重新启动RPi 以使其更改生效 – 请按照 I. 启动中的步骤运行至此。
11) 打开一个终端窗口
a) 点击 左上角的“Raspberry” 图标
b) 在 >Accessories< 菜单下 选择 >Terminal< 应用程序
12) lsmod # 列出已激活的模块—确认“uinput”模块已加载
III. 连接PIR运动传感器
1) 使用一个面包板和跳线(黑色,蓝色,红色)将PIR运动传感器连接到PRi板面引脚。
a) 使用该颜色代码连接跳线至RPi 板GPIO 引脚: (2)-红色, (6)-黑色, (10)-蓝色
b) 使用该颜色代码按照方向将跳线连接到PIR运动传感器引脚
c) 使用面包板建立从RPi到PIR之间的连接。
IV. 测试
1) 创建一个“Smart_Cal” 文件夹
a) 单击 左上角的 “Folders” 图标
b) 双击 >Documents< 文件夹
c) [Shift]+[Ctrl]+[N] # 创建一个新的文件夹
d) Smart_Cal # 为新创建的文件夹命名
2) 下载Python脚本
a) 单击 左上角的 “蓝色地球” 图标
b) 前往 Github Repository https://gist.github.com/glafranceri
c) 将以下文件 下载 到 “Smart_Cal” 文件夹中
i. gpio_test.py
ii. uinput_test.py
iii. PIR_ESC.py
3) 打开一个终端窗口
a) 单击 左上角的 “Raspberry” 图标
b) 在 >Accessories< 菜单下 选择 >Terminal< 应用程序
4) sudo python /home/pi/Documents/Smart_cal/uinput_test.py # 运行脚本—确认返回以下结果 “HELLO”
5) sudo python /home/pi/Documents/gpio_test.py # 运行脚本 – 在PIR传感器前面移动是确认返回以下结果: “Motion Detected” – 使用 [Ctrl]+[C] 退出脚本。
6) sudo python /home/pi/Documents/PIR_ESC.py # 运行脚本 – 在PIR传感器前面移动是确认返回以下结果: “^[“ – 然后使用 [Ctrl]+[C] 退出脚本。
7) sudo chmod 775 /home/pi/Documents/Smart_Cal/PIR_ESC.py # 使脚本可执行
8) sudo nano ~/.config/lxsession/LXDE-pi/autostarts # 打开自动启动文件进行编辑
a) @sudo python /home/pi/Documents/Smart_cal/PIR_ESC.py # 添加到文件末尾
b) [Ctrl]+[X] # 退出文件
c) [Y] # 确认保存文件
d) [Enter] # 写入文件
注意:在—kiosk之后添加您日历的url,但是不要加引号(” ”)
9) sudo reboot 重新启动RPi 来测试PIR_ESC.py scipt —确认幻灯片放映开始后,在PIR运动传感器前面移动会退出幻灯片放映(见视频)
步骤4 – 构建框架
1) 查看材料和工具列表
2) 在3/4in的木板的中央沿着显示器的轮廓线进行描画
3) 在显示器的轮廓内小1/4in尺寸的地方再画出一个相同的轮廓线
4) 使用木孔钻在较小的轮廓线的四个角处钻孔
钻出四个角
5) 使用竖锯沿着较小的轮廓线进行切割
将较小轮廓线内木板切除
6) 确认显示器可与切口契合(前端)
确认显示器可与切口契合(后端)
7) 测量并切割尺寸超过框架3in的天然软木卷
测量
剪切天然软木卷
8) 在框架的侧面涂上足够均匀的较水,然后用天然软木将其覆盖。
9) 将框架压在天然软木上
将其装订到框架边缘
10) 用工具刀小心地切掉多余的天然软木
横切并折回中心开口处
11) 确认显示器与中心开口区紧密贴合
看起来应该像这样
12) 使用1/4in木条来对齐,并通过VESA安装孔将显示器背面固定到框架上。
13) 通过在相框顶部添加两个螺丝并在它们之间缠绕相框线来制造一个悬挂点。
14) 确认显示器受到框架的牢固支撑
步骤5 – 供电
1) 查看电源要求(显示器12V DC以及RPi 5V DC)
2) 将 USB Type-A / Micro-B 电缆切成两半,剥去皮,露出里面的两根电线
3) 观看以下视频,以了解如何对USB电缆布线,以及如何将显示器和RPi正确连接到一个12V/2A 电源。(见视频)
步骤6 – 最终组装
1) 组装所有要安装在框架中的组件(见视频)
2) 钻出放置PIR运动传感器的空腔
a) 选择一个与PIR运动传感器端部大小相同的钻头
b) 使用碎木条对天然软木进行压锁和保护,在框架上钻一个通孔
c) 对齐并在框架背面沿着PIR运动传感器的轮廓描绘,使传感器端部可以和空腔贴合
d) 使用槽刨将描绘的轮廓切割至1/2in
e) 确认PIR运动传感器与空腔贴合,并且跳线能够到达GPIO引脚
注意:使用绝缘胶带将PIR运动传感器固定在空腔中
步骤8 – 部署
1) 现在,所有的组件都已经通过了全面的测试,并且智能相框已经完全组装好了,是时候为它找一个使用的场地了(见视频)。
结论
智能相框已经完成了,它使我的家人可以生活的井井有条,更加轻松。每个人都可以通过手机访问谷歌日历,并轻松添加或编辑活动内容。当没有人看日历时,相框的出现成了让人愉快的转换,并且也很容易对照片进行更新。我强烈地希望您能够按照本自制教程来自己构建一个。