Intro
I have previously shared my work on displaying pictures in a nice slideshow from a Google Drive to an HDMI monitor. All these years later, it is still working and every day we see a new slideshow or randomly yet thoughtfully chosen pictures.
Building on this, today I extended this solution to display these pictures on a second monitor in a different room.
Equipment
- RPi 4 (what I happened to have around. RPi 3 would also be fine)
- HDMI monitor
- Raspberry Pi Lite OS
The details
I needed to install fbi (sudo apt-get install fbi).
I needed to copy over m4.pl from the primary display, and for good measure black.jpg.
The general idea is to copy the pics over to the second display once per day.
I call this program copyslideshow.sh.
#!/bin/bash
# copy pictures from primary source
rm -rf Pictures.old
mv Pictures{,.old}
sshpass -p raspberry scp -r [email protected]:mediashow .
sshpass -p raspberry scp -r [email protected]:Pictures .
./m4.pl $HOME/mediashow >> m4.log 2>&1
Yeah so I hard-coded the RPi password which is still set to the default. I’m willing to take the risk
Then in crontab I added this line:
# get yesterday's pictures! 1 5 * * * killall m4.pl; ./copyslideshow.sh > copyslideshow.log 2>&1
Note that these displays are not synced. That would be a whole ordeal. In fact we thought it would be cool to display different pictures. So the second monitor will be showing yesterday’s slideshow from the main monitor.
Automating turn-on, turn-off of the HDMI display based on the ambient room light
Since this second slideshow is in a bedroom, I wanted to have it turn off when the lights were out, and turn back on again during daylight. This was a really interesting challenge for me as I got to use an inexpensive external sensor with my RPi. And I got it to work, and it works quite well if I say so myself. That’s all written up in this post.
Reference and related
I have written many variations on this same topic. I guess this is a good one.
How I automatically turn on the HDMI display in the morning and turn it off again at night.