[NTLUG:Discuss] Raspberry Pi Video Marquee Project

terry trryhend at gmail.com
Wed Sep 25 13:12:13 CDT 2013


I'm working what I'm calling the "Raspberry Pi Video Marquee Project" for
my VFW post here in Azle, VFWpost2137.  It's working ok, but I'm sure there
are some things I could have done better, some improvements I can make etc.
so I'll share my notes with you guys in hopes that some of you will take
time to give me a few pointers, constructive criticism etc. Thanks in
advance:
=============================================
notes/Raspberry-Pi-Marquee-Project.txt
End goal:  Video Marquee accessible via network nfs / samba - able to hook
up to
any standard TV or ordinary computer type monitor, (flat-screen) -
appropriate
cabling required. A flat screen on a shelf or mounted on the wall.
The plan is to make changes and/or updates to the batch of images weekly;
Probably 30 or 40 in number, 10 or so will be pretty much static.
Basically it
is just geeqie set to run a continious slideshow set to random and repeat,
full
screen.

We *could* use one of the pre-installed SD cards but I
installed     2013-09-10-wheezy-raspbian  (dd if=image-file of=/dev/sdd)
(Tip: 'sudo sync' to make sure all files are written to SD card.)

Place SD card in Raspberry Pi, power up and go through setup procedures and
reboot. (It's best to be connected to internet during the setup process but
not
essential.) (To return to the initial configuration screen: sudo
rapi-config)

First order of business, updates
sudo apt-get update && sudo apt-get upgrade

When that is done we will install all the software we need at once
sudo apt-get install geeqie rpcbind nfs-kernel-server x11vnc
(I also installed gwenview but have yet to find the need for it.)

geeqie is the image program to run slideshows, (set to random, loop)

(raspbian uses openbox)
Create autorun for it (with a properly formatted .desktop file):
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=slide-show
Comment=
Exec=geeqie -f -s /home/pi/Pictures
StartupNotify=false
Terminal=false
Hidden=false

Turn off monitor sleep function, (with another autostart .desktop file):
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=No Screensaver
Comment=
Exec=xset s noexpose
StartupNotify=false
Terminal=false
Hidden=false

To run x11vnc (VNC Server):
[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=VNC Server
Comment=
Exec=x11vnc -forever
StartupNotify=false
Terminal=false
Hidden=false

(autostart scripts go in ~/.config/autostart/ and need executible bit set)
(slideshow.desktop)
  chmod +x ~/.config/autostart/*  (those are the only two so...)
Create a stop/start script, (~/bin is already in $PATH by default):
#!/bin/bash
# Script to start/stop slideshow
pkill geeqie
DISPLAY=:0.0 geeqie -f -s /home/pi/Pictures/ 2>&1 &

Set a cron job to update time each night, (probably not necessary but...):
30 2 * * * service ntp stop && ntpdate pool.ntp.org && service ntp start

Note: I ran into a problem that might not always happen.
nfs-kernel-server was looking for portmap and had to put commands in
/etc/rc.local to start rpcbind and restart nfs-kernel-server (could not get
rpcbind to start normally)  I'm thinking it may have been because I
installed
nfs-kernel-server before installing rpcbind which resulted in
nfs-kernel-server
to be configured to try and call up portmap instead of rpcbind - as a
work-around I had to put commands in /etc/rc.local to start rpcbind and
restart
nfs-kernel-server - this may not happen on the next one and may not be an
issue
for you.   Just found:
http://www.raspberrypi.org/phpBB3/viewtopic.php?t=12131&p=412731
(Note: Need to run exportfs -ra after modifying /etc/exports )

To stop/start slideshow, on the server:
#!/bin/bash
# Script to start/stop slideshow
pkill geeqie
DISPLAY=:0.0 geeqie -f -s /home/pi/Pictures/ 2>&1 &

On the client:
#!/bin/sh
ssh pi at 192.168.1.217 /home/pi/bin/slideshow 2>&1 >/dev/null &

(We can put a launcher [for "slideshow"] on the client's desktop for
convenience)
Setup ssh key for passwordless login.
ssh-keygen -t rsa (copy code from client's ~/.ssh/is_rsa-pub to server's
~/.ssh/authorized_keys)

(I have yet to setup or use samba, when or if I do, I'll update these
notes)
(I used nfs, it's quick/easier) (also considering ftp)
nfs:
On the server (in /etc/exports)
/home/user-name-here/marquee 192.168.x.0/24(rw)
or (rw,sync)
or(rw,sync,insecure,all_squash)
On the client (in /etc/fstab)
192.168.x.xx:/home/pi/Pictures /home/user-name-here/marquee nfs
nolock,users,rw


(Raspbery Pi is set to static IP.  Hostname is marquee User ID is pi)

(If using a MS Windows client, use putty and samba instead of ssh and
nfs)

I'm thinking I should just sync a drectory of images on the client with
Pictures
on marquee
  rsync -avh --delete marquee-bak/* pi at marquee:Pictures/
(Maybe in a script "update-marquee" or "refresh-marquee".)
But the --delete option does not seem to delete anything on the server, so
that part doesn't seem to work.

Hardware and pripheral verification:
http://elinux.org/RPi_VerifiedPeripherals


This is a work in progress - advice and constructive criticism is welcome -
thanks in advance.
-- 
In God we trust.
<><


More information about the Discuss mailing list