持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框

2021-01-07 22:35:00 87点赞 145收藏 17评论

是返乡过年?还是就地过年?最新一届#双面过节指南#开始啦!本次征稿活动分为A面返乡和B面就地,大家可以根据自己的情况,分享自己的春节攻略,优秀的投稿文章还有可能能获得优厚的大奖哦,快点击查看活动详情<<<

创作立场声明:本文中涉及的所有物件都是自费购入。发表文章是为了和大家交流,希望有机会学到一些专业知识。然而每个人的经验、立场各不相同,文中的观点与方法偏重不同,客观与否还请大家指正,期待深入探讨交流。

0 参考资料与硬件清单

0.1 参考资料

墨水屏相框:一年时间只放一部电影

微雪4.2inch e-Paper Module

GooDisplay 4.2寸电子纸资料

树莓派 Zero USB/以太网方式连接配置教程

树莓派安装ffmpeg

FFmpeg-python使用的一二之一

0.2 硬件清单

① 树莓派zero

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


② 4.2寸墨水屏

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


③ SD卡
④ microUSB数据线



1 准备工作

1.1 USB直接访问树莓派zero

① 将树莓派镜像烧录至SD卡中。

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


② 修改配置文件
由于我的电脑中无法显示SD卡中的分区,这里使用DiskGenius读取SD卡中的boot目录。将boot目录下的config.txt和cmdline.txt复制到电脑中。
先在config.txt 文件末尾添加一行 dtoverlay=dwc2

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


而后修改 cmdline.txt 文件,编辑这个文件的时候不需要插入任何换行符,所有字符都在同一行。找到 rootwait,在后面插入 modules-load=dwc2,g_ether。

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


而后将这两个文件通过DiskGenius复制到SD卡boot目录下,并覆盖掉原始文件。
③ 在boot目录下创建一个名为ssh的目录。


④ 打开Windows设备管理器,记住现有的串口。

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


⑤ 将SD安装至树莓派zero中,而后使用micro usb to USB A数据线将树莓派的OTG口连接至电脑中。

这时 Windows 会自动识别到树莓派,并尝试安装驱动。Windows 10中会把树莓派识别为串口。此时观察找到多出来的串口。

⑥ 下载RNDIS驱动。驱动下载连接

⑦ 选择设备管理器中多出来的串口,右键,更新驱动。

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


选择浏览文件夹
![选择驱动]!(/api/file/getImage?fileId=5ff7c2f1f91596045e000011)
选择解压出来的驱动文件

更新完毕。
⑦ 打开 PuTTY,在地址栏中输入 raspberrypi.local

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


打开后即可正常连接。


⑧ 设置更改用户密码

passwd #更改pi用户密码,默认为raspberrysudo passwd #更改root用户密码

⑨ 树莓派zero不支持WiFi,因此将主机网络共享给树莓派zero。
打开windows更改适配器选项


持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


选择共享选项卡

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


而后选择树莓派网卡,在我电脑上是以太网4.

设置完成之后,树莓派zero就可以通过电脑连接到网络。可以通过SFTP向树莓派传输文件。

1.2 硬件连接

如果是微雪家的屏幕可以使用他们自己的驱动板,直接插到树莓派的GPIO上。如果是像我一样购买其他家的裸屏,则可以对照微雪提供的表格连接。

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


连接后如图所示

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


1.3 基本环境准备

① 使能树莓派SPI

打开树莓派终端,输入以下指令进入配置界面

sudo raspi-config选择Interfacing Options -> SPI -> Yes 开启SPI接口


持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框



持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


完成之后,重启树莓派。

sudo reboot

② 安装基本库环境
1)安装BCM2835, 打开树莓派终端,并运行以下指令

wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.68.tar.gz

tar zxvf bcm2835-1.68.tar.gz

cd bcm2835-1.68/

sudo ./configure && sudo make && sudo make check && sudo make install

2)安装wiringPi

sudo apt-get install wiringpi

#对于树莓派2019年5月之后的系统(早于之前的可不用执行),可能需要进行升级:

wget https://project-downloads.drogon.net/wiringpi-latest.deb

sudo dpkg -i wiringpi-latest.deb

gpio -v

# 运行gpio -v会出现2.52版本,如果没有出现说明安装出错

3)安装Python函数库

#python2

sudo apt-get update

sudo apt-get install python-pip

sudo apt-get install python-pil

sudo apt-get install python-numpy

sudo pip install RPi.GPIO

sudo pip install spidev

#python3

sudo apt-get update

sudo apt-get install python3-pip

sudo apt-get install python3-pil

sudo apt-get install python3-numpy

sudo pip3 install RPi.GPIO

sudo pip3 install spidev

③ 安装ffmpeg
1)安装sdl2

sudo apt-get install libsdl2-dev

2)安装x264

#安装git

sudo apt-get install git

git clone --depth 1 https://gitee.com/xavier18/x264

#使用gitee源

# 进入文件

cd x264./configure --host=arm-unknown-linux-gnueabi --enable-static --disable-opencl

make -j4

sudo make install

3)安装ffmpeg

git clone git://source.ffmpeg.org/ffmpeg --depth=1

cd ffmpeg

./configure --arch=armel --target-os=linux --enable-gpl --enable-libx264 --enable-nonfree

make -j4

sudo make install

树莓派zero的性能真的是弱鸡,编译到天荒地老。。。编译完成后还发现有错误。

后来我发现直接使用sudo apt-get install ffmpeg就可以直接安装。网上的教程更新的太慢了。推荐使用apt-get直接安装。

4)安装ffmpeg-python
GitHub地址:https://github.com/kkroening/ffmpeg-python

git上有例子和API文档,虽然API并不详尽

pip install ffmpeg-python


2 软件安装与设置

2.1 下载安装驱动软件与测试例程

下面来下载并安装驱动软件和测试程序到树莓派上。

git clone https://github.com/TomWhitwell/SlowMovie/

cd SlowMovie/e-paper/RaspberryPi&JetsonNano/pythonsudo python setup.py install

如果一切正常的话,运行下面的代码示例,墨水屏会显示不同的图案。

python examples/epd_7in5_V2_test.py


持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


上面的步骤都测试通过之后,就可以正式开始了。进入 SlowMovie 目录。
该程序使用了ffmpeg-python、PIL 库。请确保之前已经安装完成。运行 helloworld 查看效果。

python helloworld.py

2.2 修改程序配置

由于例程上使用的是微雪7.5寸墨水屏。我们需要将它的驱动改为4.2寸屏幕。修改文件为slowmovie.py。我测试使用epd_4in2_test.py可以驱动。因此将程序中的驱动替换如下。

替换前:

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


替换后:

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框



替换前:

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


替换后:

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


③ 修改屏幕分辨率 ,修改为400×300

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


然后将slowmovie.py上传到树莓派zero中,并覆盖。


如果上面的步骤都正常工作,那么你可以通过 SFTP 传输更多视频文件到 SlowMovie/Video 目录。
运行下面的脚本查看效果。

python slowmovie.py


持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


还有更多参数可以使用,例如


python slowmovie.py -h

将保存播放进度,以便在下次启动时继续播放。

python slowmovie.py -f 20210106.mp4 -d 150 -i 1

将播放名为20210106的mp4文件,并以每 150 秒更新一帧画面。也就是每小时播放 24 帧。

最后我们设置开机自运行。
Linux 开机执行有几种方式, 一种是设置成系统服务, 随着系统加载而启动, 另一种是修改 /etc/rc.local 脚本, 在 exit 之前加入需要执行的语句. 后者默认是以 root 用户执行, 非 root 执行可以这么写

su - yourname -c 'command'

yourname 是用户名, command 是想要执行的命令.

sudo vim /etc/rc.local

添加下面一行在exit 0之前:

su -pi -c "python /home/pi/slowmovie/slowmovie.py -f xjcy.mp4 -d 150 -i 1"

其中/home/pi/slowmovie/为脚本保存路径。可根据自己的需要换成其他路径。xjcy.mp4是电影的名称,它只能放在与slowmovie.py同级的Videos目录下。
完成之后,下次重启的时候就可以直接进入播放状态了。


3 效果展示

3.1 效果展示

我找了我最喜欢的电影《星际穿越》,然后复制到了树莓派中。显示效果如下:

持续一年的电影——树莓派 zero与4.2寸水墨屏制作电子相框


我压缩出来的《星际穿越》有234,547帧,每帧持续一百五十秒,播放完毕可能需要407天(前提是中间不断电^_^)


3.2 基本硬件成本核算


序号 项目 单价

1 树莓派zero ¥66

2 32G SD卡 ¥19

3 4.2寸电子墨水屏 ¥148

4 6寸相框 ¥9

合计 ¥242

由于这次制作时使用的都是手头上闲置的硬件,硬件购买时间比较早了。现在价格不太确定,比如这款4.2寸墨水屏我现在询问卖家时,卖家说现在没货,让我节后再看看有没有。

3.3 下一步计划

① 增加电池模组,实现电量检测,低电量自动关机
② 设计PCB,优化内部走线
③ 增加WiFi模块,实现远程更新影片源(播放局域网nas中的片源)


展开 收起

intel 英特尔 豆子峡谷 NUC8i5BEH6 NUC迷你电脑主机 酷睿i5-8259U

intel 英特尔 豆子峡谷 NUC8i5BEH6 NUC迷你电脑主机 酷睿i5-8259U

1799元起

Lenovo 联想 Lecoo 23英寸 一体机 赛扬J4105 8GB 256GB SSD 核显 白色

Lenovo 联想 Lecoo 23英寸 一体机 赛扬J4105 8GB 256GB SSD 核显 白色

2299元起

KOTIN 京天 组装台式机(i5-9400F、8GB、256GB、GTX1660 6G)

KOTIN 京天 组装台式机(i5-9400F、8GB、256GB、GTX1660 6G)

2899元起

intel 英特尔 NUC 冥王峡谷 NUC8I7HVK 迷你电脑主机 i7-8809G RX Vega M GH 黑色 不含内存和硬盘

intel 英特尔 NUC 冥王峡谷 NUC8I7HVK 迷你电脑主机 i7-8809G RX Vega M GH 黑色 不含内存和硬盘

4799元起

Lenovo 联想 AIO 520C 23.8英寸 一体机 黑色 锐龙R5-4600U 16GB 512GB SSD 核显

Lenovo 联想 AIO 520C 23.8英寸 一体机 黑色 锐龙R5-4600U 16GB 512GB SSD 核显

3979元起

IPASON 攀升 商睿A3Pro 23.8英寸 一体机 赛扬J4125 8GB 256GB SSD 核显 1980*1080 银色

IPASON 攀升 商睿A3Pro 23.8英寸 一体机 赛扬J4125 8GB 256GB SSD 核显 1980*1080 银色

2289元起

DELL 戴尔 成就 5880 RX640 23.8英寸电脑整机(十代i5-10400F 16G 256GSSD 1T 4G独显 )

DELL 戴尔 成就 5880 RX640 23.8英寸电脑整机(十代i5-10400F 16G 256GSSD 1T 4G独显 )

5599元起

戴尔DELL 灵越15-5509 15.6英寸全高清超轻薄轻奢笔记本电脑(十一代i5-1135G7 16G 512GSSD )幻绿

戴尔DELL 灵越15-5509 15.6英寸全高清超轻薄轻奢笔记本电脑(十一代i5-1135G7 16G 512GSSD )幻绿

4689元起

武极 台式电脑主机(i5-10400F,8GB,240GB,GTX1660 Super)

武极 台式电脑主机(i5-10400F,8GB,240GB,GTX1660 Super)

4499元起

Lenovo 联想 AIO 520C 21.5英寸一体机(R5-3500U、8G、256G)

Lenovo 联想 AIO 520C 21.5英寸一体机(R5-3500U、8G、256G)

2999元起

Lenovo 联想 AIO 520C 27英寸一体机(i5-10400T、16GB、512GB、无线键鼠)

Lenovo 联想 AIO 520C 27英寸一体机(i5-10400T、16GB、512GB、无线键鼠)

5099元起

硕扬 intel十二线程强芯/GTX1050独显/16G内存/办公游戏台式电脑主机/DIY组装机全套

硕扬 intel十二线程强芯/GTX1050独显/16G内存/办公游戏台式电脑主机/DIY组装机全套

1099元起

IPASON 攀升 电脑主机 (i5-10400F、8GB、180GB、GTX1650)

IPASON 攀升 电脑主机 (i5-10400F、8GB、180GB、GTX1650)

3388元起

硕扬 intel八核十六线程/GTX1050TI独显/32G内存游戏台式吃鸡电脑主机/DIY组装机

硕扬 intel八核十六线程/GTX1050TI独显/32G内存游戏台式吃鸡电脑主机/DIY组装机

1798元起

Lenovo 联想 AIO 520C 23.8英寸一体机 白色 锐龙R5-4600U 16GB 512GB SSD 核显

Lenovo 联想 AIO 520C 23.8英寸一体机 白色 锐龙R5-4600U 16GB 512GB SSD 核显

3799元起

AOC AIO721 23.8英寸超薄IPS屏一体机台式电脑(八代赛扬J4105 8G 240G 双频WiFi 蓝牙 3年上门 商务键鼠)

AOC AIO721 23.8英寸超薄IPS屏一体机台式电脑(八代赛扬J4105 8G 240G 双频WiFi 蓝牙 3年上门 商务键鼠)

2265.67元起
17评论

发表评论请 登录
  • 最新
  • 最热
评论举报

请选择举报理由

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
相关好价
最新文章 热门文章
145
扫一下,分享更方便,购买更轻松