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

2021-01-07 22:35:00 99点赞 185收藏 22评论

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

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中的片源)


展开 收起

GMK 极摩客 M6 迷你主机(R5-6600H、风冷)

GMK 极摩客 M6 迷你主机(R5-6600H、风冷)

1264.53元起

GMK 极摩客 K8 迷你台式机 极光银(锐龙R7-8845HS、核芯显卡)

GMK 极摩客 K8 迷你台式机 极光银(锐龙R7-8845HS、核芯显卡)

2399元起

Apple 苹果 Mac mini 2023款 迷你台式机

Apple 苹果 Mac mini 2023款 迷你台式机

2918元起

MECHREVO 机械革命 无界S 迷你台式机 黑色(锐龙R7-7840H、核芯显卡、16GB、1TB SSD)

MECHREVO 机械革命 无界S 迷你台式机 黑色(锐龙R7-7840H、核芯显卡、16GB、1TB SSD)

2999元起

MECHREVO 机械革命 无界M5 台式机(i5-12450H、16GB、512GB)

MECHREVO 机械革命 无界M5 台式机(i5-12450H、16GB、512GB)

1794元起

Beelink 零刻 SER8 迷你台式机

Beelink 零刻 SER8 迷你台式机

2599元起

HEDY 七喜 IABOX S系列 迷你口袋办公台式电脑主机 N100准系统/双网口2.5G

HEDY 七喜 IABOX S系列 迷你口袋办公台式电脑主机 N100准系统/双网口2.5G

689元起

极摩客G5 英特尔N97 办公微型台式电脑 mini迷你主机小型PC盒子多屏4K口袋主机 准系统(12+0 无硬盘系统)

极摩客G5 英特尔N97 办公微型台式电脑 mini迷你主机小型PC盒子多屏4K口袋主机 准系统(12+0 无硬盘系统)

779元起

jumper 中柏 准系统 迷你主机(N100)

jumper 中柏 准系统 迷你主机(N100)

579元起

ACEMAGIC S1 台式迷你主机(N100、16GB、512GB)

ACEMAGIC S1 台式迷你主机(N100、16GB、512GB)

1038元起

MECHREVO 机械革命 imini Pro820 迷你台式机 白色(锐龙R7-8845H、核芯显卡、24GB、1TB SSD)

MECHREVO 机械革命 imini Pro820 迷你台式机 白色(锐龙R7-8845H、核芯显卡、24GB、1TB SSD)

2999元起

极摩客「AI PC算力」K9迷你主机英特尔酷睿Ultra 5 125H设计师游戏商务办公电脑智能台式机GMK 准系统

极摩客「AI PC算力」K9迷你主机英特尔酷睿Ultra 5 125H设计师游戏商务办公电脑智能台式机GMK 准系统

2599元起

MOREFINE 摩方 S600 迷你台式机(酷睿 I7-13700H、准系统)

MOREFINE 摩方 S600 迷你台式机(酷睿 I7-13700H、准系统)

2899元起

Hasee 神舟 战神Mini i5 迷你台式电脑商用小主机(i5-12450H 16G 512GSSD WIFI

Hasee 神舟 战神Mini i5 迷你台式电脑商用小主机(i5-12450H 16G 512GSSD WIFI

1888元起

FEVM FA880 迷你主机 (R7-8845HS、核心显卡、准系统)

FEVM FA880 迷你主机 (R7-8845HS、核心显卡、准系统)

2899元起

Hasee 神舟 mini PC7S 迷你台式电脑商用办公小主机(酷睿十二代N100 16G 512GSSD WIFI无线 win11)

Hasee 神舟 mini PC7S 迷你台式电脑商用办公小主机(酷睿十二代N100 16G 512GSSD WIFI无线 win11)

1188元起
22评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

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

相关文章推荐

更多精彩文章
更多精彩文章
天猫超级红包
距结束::
每天领现金,最高24888元
红包按钮
最新文章 热门文章
185
扫一下,分享更方便,购买更轻松