Pi Presents: A display package for museums & visitor centres


247 posts   Page 1 of 10   1, 2, 3, 4, 5 ... 10
by KenT » Sat Jan 12, 2013 9:51 am
MK Jam attendees may remember a while back I demonstrated a black box presentation program for the Raspberry Pi. I am pleased to announce that it is now available for anyone to install and try out. It now has an editor so you can easily prepare your own media shows starting from provided templates, a manual with a tutorial, and a set of examples of common types of application.

It, and full installation instructions are here https://github.com/KenT2/pipresents

Pi Presents has a number of uses in museum and similar applications particularly small museums that do not have a computer network or IT staff. At the moment it provides a good selection of basic features - mediashows, menus, PIR triggered sounds and videos, and a powerpoint like presentation viewer. It displays videos, audio tracks, images and text messages. It can be configured to start up automatically when power is applied to the Pi, play full-screen with blanking disabled, be controlled by buttons or PIR from the GPIO or run continuously, and shut down the Pi on the press of a button. Shows prepared using the editor can live on the SD card, a USB stick, or be ftp'ed from another computer. The editor will soon run on a Windows PC in addition to Linux.

There are potentially many applications of Pi Presents and your input on real world experiences and requirements would be invaluable to me, both minor tweaks to the existing functionality and major improvements.

Enjoy
Pi Presents - A toolkit to produce multi-media interactive displays for museums, visitor centres, and more
Download from http://pipresents.wordpress.com
Posts: 600
Joined: Tue Jan 24, 2012 9:30 am
Location: Hertfordshire, UK
by G8GTZ » Fri Jan 18, 2013 2:01 pm
Hi Ken,

This looks like a very interesting package and I can think of a couple of applications, including rolling notice board in our church foyer and a more off the wall application as a controller / display for an amateur radio TV repeater...

Unfortunately I have an issue getting it going - I am a pi / linux newbie and followed your instructions but when trying to run the app (without and with your demo package) it comes up with the following:

pi@raspberrypi ~ $ python /home/pi/pipresents/pipresents.py
Traceback (most recent call last):
File "/home/pi/pipresents/pipresents.py", line 330, in <module>
pp = PiPresents()
File "/home/pi/pipresents/pipresents.py", line 129, in __init__
self.root = Tk(className="pipresents")
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1688, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable

I presume I'm doing something wrong, so hopefully you can steer me in the right direction (most of the package was installed using putty but I am trying to run it directly from the screen / keyboard.)

Many thanks - Noel
Posts: 2
Joined: Fri Jan 18, 2013 1:53 pm
by KenT » Fri Jan 18, 2013 6:16 pm
Noel

Not seen this and I have done an install from Github onto a clean latest Raspbian image.

Looks like some problem between Tkinter, which is a gui toolkit, and the display system.

Tkinter is ready installed in Raspbian so I don't think you installing using Putty is the problem. Are you running Pi Presents from the LXDE desktop, I imagine Tkinter needs the desktop or at least Xwindows.

Edit: just tried running Pi Presents from Putty on another machine. Even with the desktop open on the Pi I get the same error as you, so must run from Pi's desktop. (Guess VNC would work, but not tried it.)

Ken
Pi Presents - A toolkit to produce multi-media interactive displays for museums, visitor centres, and more
Download from http://pipresents.wordpress.com
Posts: 600
Joined: Tue Jan 24, 2012 9:30 am
Location: Hertfordshire, UK
by nextn » Sat Jan 19, 2013 10:07 am
Bonjour Mr KenT,

All this looks very interesting to me. Very nice sharing work.
If i can get this up and working you will have to come to Brittany France to go to the restaurant with me.

Bye
Posts: 2
Joined: Sat Jan 19, 2013 9:59 am
by KenT » Sun Jan 20, 2013 12:01 am
nextn wrote:Bonjour Mr KenT,

All this looks very interesting to me. Very nice sharing work.
If i can get this up and working you will have to come to Brittany France to go to the restaurant with me.

Bye


Brittany, France, Food - sounds very tempting. Tell us how you get on with Pi Presents and what you use it for.
Pi Presents - A toolkit to produce multi-media interactive displays for museums, visitor centres, and more
Download from http://pipresents.wordpress.com
Posts: 600
Joined: Tue Jan 24, 2012 9:30 am
Location: Hertfordshire, UK
by pynz » Sun Jan 20, 2013 6:28 am
Hi Ken

Your project looks like an excellent starting point for providing simple sound and video using the pi
for community theatre. Longer term, things I would be looking for would be control via html5 web-socket from a remote host, the ability to fade sound in and out, fading video from black to full and from full to black and LED lighting (on separate pi's). I currently use foobar2002 via an html extension for sound but I believe there is no ARM version of this software. Video fading will probably require some OpenGL code. I have the LED/DMX lighting sorted.

Colin
Posts: 4
Joined: Sat Jul 28, 2012 9:51 am
by KenT » Sun Jan 20, 2013 2:14 pm
pynz wrote:Hi Ken

Your project looks like an excellent starting point for providing simple sound and video using the pi
for community theatre. Longer term, things I would be looking for would be control via html5 web-socket from a remote host, the ability to fade sound in and out, fading video from black to full and from full to black and LED lighting (on separate pi's). I currently use foobar2002 via an html extension for sound but I believe there is no ARM version of this software. Video fading will probably require some OpenGL code. I have the LED/DMX lighting sorted.

Colin


Nice, I hadn't thought about theatre, when I last did amateur theatre some 20 years ago computers had not really featured in light or sound control. Minidisks were all the rage to replace cassette tapes. A menu of mediashows would allow operators to choose and initiate a sequence of effects - sound, video, GPIO etc, via a pre-prepared mediashow. Audio fading and more than 1 channel of audio is something I want to do, video fading relies on somebody cleverer then me implementing it in omxplayer.
Pi Presents - A toolkit to produce multi-media interactive displays for museums, visitor centres, and more
Download from http://pipresents.wordpress.com
Posts: 600
Joined: Tue Jan 24, 2012 9:30 am
Location: Hertfordshire, UK
by KenT » Sun Jan 20, 2013 2:28 pm
I have just uploaded Version 1.1.0 of Pi Presents and a compatible set of examples to https://github.com/KenT2/pipresents The main changes are:
- validation of profiles
- pausing of images
- text overlays for images

Also fixed a bug in the editor where two new shows or tracks could get linked together - edit one and both changed.

The update has necessitated a change to the definition of the profiles and hence the introduction of a versioning system to ensure that the profiles are compatible with the editor and Pi Presents. You will find that any old profiles you have generated, and the previous example profiles will not run with Version 1.1.0 of Pi Presents. To correct this just open them in the editor, they will be automatically updated.
Pi Presents - A toolkit to produce multi-media interactive displays for museums, visitor centres, and more
Download from http://pipresents.wordpress.com
Posts: 600
Joined: Tue Jan 24, 2012 9:30 am
Location: Hertfordshire, UK
by nextn » Sun Jan 20, 2013 5:38 pm
Bonjour Mr KenT,

The idea are 3 projects.
1/ is easy poor/hippy/artist friend which needs 5 loops for 5 video projecteurs.
last time was 5 DVD playeurs + 5 DVD's + 5 VP which came from schools.
2/ I work 14H a week 7 mounths a year cutting the grass and fixing things and makeing tekno in the yearly exhibition in a medieval chateau. Mainly arduino's which play wav's or PIR's + wav's + DMX. My nice she chief said i would like a big screen behind the till to say what time is the next giuded viste.
3/ My nice she chief saw an nice expo in Lyon with lots of 10" tablets on the walls. touch the english flag and you get a video with english subs, french flag a video with french subs. The tablets had problemes when you don't behave and jumped out of the "android app".

Today trieded this code but....
{
"duration": "10",
"message-colour": "green",
"message-font": "Helvetica 60 bold",
"text": "Le prochene viste et à:\nThe next vist is at:\nZe nexten vistshuft uare:\nUing tong chintock:",
"message-font": "Helvetica 240 bold",
"text": "15H15",
"title": "Welcome",
"track-ref": "",
"type": "message"
},
Not a big probleme, The big probleme is to make easy to change "15H15" to "15H45"
Maybe buy textediteur and filezilla by lan or keyboard raspi and an anther argument in command line.

bye
Posts: 2
Joined: Sat Jan 19, 2013 9:59 am
by KenT » Mon Jan 21, 2013 2:21 pm
1/ is easy poor/hippy/artist friend which needs 5 loops for 5 video projecteurs.
last time was 5 DVD players + 5 DVD's + 5 VP which came from schools.

Pi Presents should do this provided you accept there will be a break each time the video repeats - not continuous looping. Pi Presents (omxplayer) will stream videos from a network, or put them on a usb stick.

2/ I work 14H a week 7 months a year cutting the grass and fixing things and making tekno in the yearly exhibition in a medieval chateau. Mainly arduino's which play wav's or PIR's + wav's + DMX. My nice she chief said i would like a big screen behind the till to say what time is the next guided visit.

The best solution will be to start different mediashows at different times of day each with the appropriate slide. I want to do that but it will take a few months to develop. Until then I suggest that you use a set of .jpg images rather than messages. Set up a mediashow that repeats every few minutes and having one image called slide.jpg. The use ftp to upload the correct image to the Pi. All images must have the same filename but that's not too difficult to manage. There is a potential problem that you could be uploading an image just as Pi Presents wants to use it. I am currently modifying Pi Presents so it does not cause an error if an image is not available, it will just display a little message instead. Should have this done in a few days.

3/ My nice she chief saw an nice expo in Lyon with lots of 10" tablets on the walls. touch the English flag and you get a video with English subs, French flag a video with French subs. The tablets had problems when you don't behave and jumped out of the "android app".

Set up Pi Presents with a menu - each option will play the same video but with different sub-titles - use -t 1, -t 2, as omx-other-options. You need to check that omxplayer will handle multiple sub-title tracks. Alternative is to prepare different versions of the video each with one subtitle. Touch screens unlikely to be supported for some time but you can use some button switches to control the menu.
Pi Presents - A toolkit to produce multi-media interactive displays for museums, visitor centres, and more
Download from http://pipresents.wordpress.com
Posts: 600
Joined: Tue Jan 24, 2012 9:30 am
Location: Hertfordshire, UK
by Azizar » Thu Jan 24, 2013 5:30 pm
First of all... great program! You recommended it to me and now i'm figuring out how to use it. For now i have a question: Is it possible to stretch to screen images during a media show?
Posts: 31
Joined: Sat Jan 19, 2013 12:02 pm
by Azizar » Thu Jan 24, 2013 8:59 pm
And a second question, if i may be so bold.... Is there a way to put the profile with the media-files on a USB flash-drive? How can i ''play'' this profile?
Posts: 31
Joined: Sat Jan 19, 2013 12:02 pm
by Azizar » Thu Jan 24, 2013 9:35 pm
Dear mr KenT. I found a issue. Playing a media-show profile with images doesn't hide the mouse cursor e.a it sticks in the middle. Using it as a black-box, i think is is handy if it auto-hides. Thanks Mr T
Posts: 31
Joined: Sat Jan 19, 2013 12:02 pm
by KenT » Thu Jan 24, 2013 10:36 pm
Azizar wrote:And a second question, if i may be so bold.... Is there a way to put the profile with the media-files on a USB flash-drive? How can i ''play'' this profile?


Copy pp_home and all its contents (which should include all the media) to the top level of the USB flash drive.

Use the following command python pipresents.py -o /media/USBSTICKNAME -p profile_name

Its described in more detail in section 5.3 of the manual.
Pi Presents - A toolkit to produce multi-media interactive displays for museums, visitor centres, and more
Download from http://pipresents.wordpress.com
Posts: 600
Joined: Tue Jan 24, 2012 9:30 am
Location: Hertfordshire, UK
by Azizar » Fri Jan 25, 2013 12:21 pm
Thanks! I found a solution for the pointer.
Code: Select all
apt-get install unclutter
maybe this can be of some help.
Posts: 31
Joined: Sat Jan 19, 2013 12:02 pm
by G8GTZ » Sun Jan 27, 2013 10:03 am
Hi Ken,

Thanks for the response to my original enquiry - yes it does run under VNC (but not Putty ;-) I see you updated the instructions as well to make this clear to people like me...

For the application I have in mind, I would like to run 1 media show as a main loop and when it sees a GPIO line change state, run another show, which would be a single shot and not loop, after which it returns to run the main loop. Monitoring multiple i/o to trigger multiple shows would be good and an action to change the state of an i/o line as part of a media list would be really good.

I quess this is close to a museum app with a screen showing a main media display with a row of push buttons that run seperate shows and can trigger working displays. I see it does have child shows but not sure if it would do this...

Thanks for a great app - it's got loads of potential.

Noel
Posts: 2
Joined: Fri Jan 18, 2013 1:53 pm
by KenT » Sun Jan 27, 2013 11:40 am
Azizar wrote:Thanks! I found a solution for the pointer.
Code: Select all
apt-get install unclutter
maybe this can be of some help.


I have been staring at Pi Presents screens for the last few months and never noticed the pointer!

I thought I could remove the cursor by using a Tkinter function but I can't so Unclutter will be the solution. It will be built into the next version, thanks.
Pi Presents - A toolkit to produce multi-media interactive displays for museums, visitor centres, and more
Download from http://pipresents.wordpress.com
Posts: 600
Joined: Tue Jan 24, 2012 9:30 am
Location: Hertfordshire, UK
by KenT » Sun Jan 27, 2013 11:58 am
>For the application I have in mind, I would like to run 1 media show as a main loop and when it sees a GPIO line change state, run another show, which would be a single shot and not loop, after which it returns to run the main loop.

I think you can do this with a mediashow which has a one shot mediashow as a child-show. Use the 'Play' GPIO line to do the triggering.

> an action to change the state of an i/o line as part of a media list would be really good.

GPIOPlayer definitely going to happen sometime.

>Monitoring multiple i/o to trigger multiple shows would be good .....

This sounds like what I call an Event Show; definitely going to happen, triggers will include time of day as well as GPIO.

>I quess this is close to a museum app with a screen showing a main media display with a row of push buttons that run seperate shows and can trigger working displays. I see it does have child shows but not sure if it would do this...

Hadn't ever thought of this one but it will be very useful.This sounds like a mediashow with multiple child-shows, perhaps that is how I should implement the Eventshow. The mediashow could just display a blank screen or a single track if you did not want the slideshow. I like it :D

>Thanks for a great app - it's got loads of potential.

Thanks for the ideas, it's just what I need to move forward.

Ken
Pi Presents - A toolkit to produce multi-media interactive displays for museums, visitor centres, and more
Download from http://pipresents.wordpress.com
Posts: 600
Joined: Tue Jan 24, 2012 9:30 am
Location: Hertfordshire, UK
by Azizar » Sun Jan 27, 2013 3:25 pm
Glad to be of use :D Still finding a way for library employees/volunteers to make their own slideshows without the linux editor. Renaming of files 'works' with a pre-existing play-list (like picture1.jpg movie1.avi picture2.jpg) although all files on the play-list must be accounted for. A ''play all files from usb'' function would be nice, but i remember that's on the ''to do'' list, so i will patiently wait for this option.

Thijs
Posts: 31
Joined: Sat Jan 19, 2013 12:02 pm
by KenT » Sun Jan 27, 2013 7:12 pm
No need for patience, what you want (version 1.1.1 including liveshow) was sent to Github an hour ago. It needs very final testing just to check I've done the upload correctly but its worth a try. :)
Pi Presents - A toolkit to produce multi-media interactive displays for museums, visitor centres, and more
Download from http://pipresents.wordpress.com
Posts: 600
Joined: Tue Jan 24, 2012 9:30 am
Location: Hertfordshire, UK
by KenT » Sun Jan 27, 2013 8:11 pm
Version 1.1.1 is now on Github

https://github.com/KenT2/pipresents

Major improvements are:
- Editor now works on Windows (tested only on Windows 7)
- Liveshow capability which allows tracks to be remotely changed while a show is playing.
- Configuration file for on screen administrative messages to improve internationalization.

Thanks for all your ideas, help and comments.

Enjoy
Ken
Pi Presents - A toolkit to produce multi-media interactive displays for museums, visitor centres, and more
Download from http://pipresents.wordpress.com
Posts: 600
Joined: Tue Jan 24, 2012 9:30 am
Location: Hertfordshire, UK
by Azizar » Mon Jan 28, 2013 12:17 pm
Great! As soon as i'm home from work i'll try the new version! Is it possible to indicate for how many seconds pictures should ''screen'' using liveshow?

Thijs
Posts: 31
Joined: Sat Jan 19, 2013 12:02 pm
by KenT » Mon Jan 28, 2013 4:30 pm
Yes it's in the liveshow show.

I have just found a couple of bugs in the editor, fixed them and 1.1.1a will be on Github soon:
Tracks>add from dir does not compute the location correctly, add from file is OK
Medialists don't save every time on Windows, odd one this it worked 7 out of 8 times for the same file in the same piece of code. Hopefully I've fixed it
Pi Presents - A toolkit to produce multi-media interactive displays for museums, visitor centres, and more
Download from http://pipresents.wordpress.com
Posts: 600
Joined: Tue Jan 24, 2012 9:30 am
Location: Hertfordshire, UK
by Azizar » Tue Jan 29, 2013 2:22 pm
Mr KenT

The new version with the live-show works fantastically well :D . The only issue i have is scaling of images. Is it possible to auto-scale to the monitor/display resolution?. Many thanks!

Thijs
Posts: 31
Joined: Sat Jan 19, 2013 12:02 pm
by KenT » Tue Jan 29, 2013 4:41 pm
Azizar wrote:Mr KenT

The new version with the live-show works fantastically well :D . The only issue i have is scaling of images. Is it possible to auto-scale to the monitor/display resolution?. Many thanks!

Thijs


Glad you like liveshow.

Scaling of images is difficult as it takes a second or two for the Raspberry Pi to scale an image, much more if the image is over about 1 megapixel.. I'm going to look at using the GPU for this and for fading but I will have to learn opengl es for this.

I scale the images before using them, see Section 7 of the manual. I have just prepared a 200 slide show using Fastone Resizer and it works well by scaling the height to 1080 pixels.
Pi Presents - A toolkit to produce multi-media interactive displays for museums, visitor centres, and more
Download from http://pipresents.wordpress.com
Posts: 600
Joined: Tue Jan 24, 2012 9:30 am
Location: Hertfordshire, UK