I haven't seen anything else like this, so I thought I'd share how I'm using OpenLP on a Raspberry Pi for leading worship at my small church.
Once configured, the Raspberry Pi can simply be plugged in to power anywhere. Once it boots up, start up OpenLP, start the slides, and singers and congregants can connect their phones' or tablets' Wifi to a network called "lyrics" and point their browser to "lyrics". (Chrome and Firefox work well.) No separate Wifi is needed. It could even be used without a projector, with everyone just using phones or tablets to get the lyrics. I can move it around, take it to practice at someone's house, and use it exactly the same way anywhere I set it up.
OpenLP is set up on a Raspberry Pi, which is set up as a wireless access point, and access to it uses friendly names rather than IP addresses and port numbers. The Praise Team connects to the Pi and uses the "/stage" view, by simply typing "lyrics" into the address bar in Chrome or Firefox. I give a wireless keyboard to a member of the congregation to control the slides.
- It starts with a Raspberry Pi set up with the standard Raspbian distribution.
- Next, I set up the RPi to be a wireless access point (I made the SSID "lyric" and the key "lyrics123"), following these directions on raspberrypi.org. (In my case, I don't use routing, bridging or access to the Internet.)
- This way, the singers can connect to the Pi without needing a separate WiFi router.
- Then, add an entry in /etc/hosts file for "lyrics", pointing to the static IP address of the RPi that you set up when you set up the access point.
- This allows people to connect to the stage view using a friendly name, rather than an IP address.
- Next, create the firewall entries below to forward port 80 traffic to port 8080 (forward the standard html port to the alternate html port).
- This will remove the need to enter the port number (the part after the colon, which is "4316" by default in OpenLP).
- This part is a tricky. If you think it's over your head, you can skip it and have singers include the port number after "lyrics", their URL is "lyrics:4316".
- First you enter the rules at a command line, then you install "iptables-persistent" to have the rules work whenever you boot up the Pi.
- Type each one at a command line to set up the rules.
sudo iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT
sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
- Then follow the instructions on this page, under the heading "Introduction to iptables-persistent".
- Next, install OpenLP if you don't already have it.
- The first time I tried to set up the wireless access point on a device that already had OpenLP, the wireless access point didn't work. I ended up setting up my RPi again from scratch, in this order, and everything worked like a charm.
- In OpenLP, under Settings / Configure OpenLP, on the Remote tab, change the port number to 8080.
- If you skipped creating the firewall rules, you can skip this step.
- Make the stage view the default web page by renaming and copying the stage and index web pages In the folder /usr/share/openlp/openlp/plugins/remotes/html
- Rename "index.html" to "index.html.orig" (sudo mv index.html index.html.orig)
- Copy "stage.html" to "index.html" (sudo cp stage.html index.html)
- NOTE: This will become undone any time the OpenLP program is updated. Just repeat this step and you'll be back in business.
One last thing - The projector I use doesn't have HDMI; it only has composite (and VGA and S-video). One of the challenges this presents is that the low resolution of composite video prevents the entire OpenLP console from appearing on the screen. I use RealVNC to access the RPi, and I used to change the resolution on the RPi so I could see all of OpenLP via RealVNC. This prevents the RPi from showing on the projector. When I was finished with my changes, I would change the resolution back to the low resolution for composite video. Every so often (more often than I'd like), I would make a mistake and spend many long minutes fixing it while my congregation stared at me.
I've found a better way. Set up RealVNC with a virtual desktop using the instructions below. When you need to make changes to lyrics or song order or anything else, connect to the virtual desktop on the RPi. This gives you a full size desktop without having to mess with the resolution that is fed out of the composite cable to the projector.
I got these directions from raspberrypi.org forums, at the bottom of this thread
1.) Create a systemd startup script in /etc/systemd/system/vncvirtualdesktop.service
2.) Fill that file with the following code:
Description=Start VNC Server Virtual Desktop
ExecStart=/bin/su pi -c '/usr/bin/vncserver -randr=1280x1024'
ExecStop=/usr/bin/vncserver -kill :1
3.) Enable that service using systemctl enable vncvirtualdesktop.service
4.) Connect to the Raspberry Pi over the network using a :1 after the IP address or hostname. Use the pi username and password (raspberry is the default).