A few enhancements since my last post:
The time of day scheduler is now programmed by the web based editor instead of the schedule.json file.
An I/O plugin for PN532 RFID tag reader.This allows ‘museum in a box’ type functionality which has been featured on the Raspberry Pi blog.
CEC commands to turn TV on/standby
Ken,
Awesome project! I am having some issues running your Serial Command demo file. When I execute it I get the following errors;
Traceback (most recent call last):
File “/home/pi/pipresents/pipresents.py”, line 882, in
pp = PiPresents()
File “/home/pi/pipresents/pipresents.py”, line 370, in __init__
reason,message=self.ioplugin_manager.init(self.pp_dir,self.pp_profile,self.root,self.handle_input_event)
File “/home/pi/pipresents/pp_iopluginmanager.py”, line 26, in init
status,message=self.init_config(cfgfile,cfgfilepath,widget,callback)
File “/home/pi/pipresents/pp_iopluginmanager.py”, line 63, in init_config
reason,message=instance.init(cfgfile,cfgfilepath,widget,callback)
File “/home/pi/pipresents/pp_io_plugins/pp_serialdriver.py”, line 76, in init
if entry[pp_serialdriver.DIRECTION] == ‘none’:
UnboundLocalError: local variable ‘entry’ referenced before assignment
If I edit pp_serialdriver.cfg and disable the serial it will run. I verified that my USB Serial adapter works and I can send and receive data. I re downloaded your example to make sure it was not corrupt and it gives me the same errors.
Any help would be appreciated!
Thank you!
Andre
Oh dear, I’m not sure how that bug got through testing. Here is an untested solution.
In /pipresents/pp_io_plugins/pp_serialdriver.py
Replace lines 76,77:
if entry[pp_serialdriver.DIRECTION] == ‘none’:
continue
with
if self.config.get(section,’direction’) == ‘none’:
continue
keeping the indentation as it was and using spaces for the indent character.
I corrected the bug in [pipresents-beep] when I converted to python3 but have not had time to backport to gapless. You can see what it should be in that repo. However do not copy the whole file because it is now Python 3
I will update Github soon.
We have ours set up to loop two videos. For some reason after about an hour of playback it goes to a black screen and stops playing the videos. Is the pp_log best place to look?
Maybe this – Have you used the -b command line option to turn off screen blanking.
Otherwise use the -d command line option and look at pp_log.
This is the end of the log after it stops working.
51794.0642729 LiveShow_1955092912: Track to load is: /home/pi/pp_home/pp_live_tracks/Video1.mp4
51794.0644679 VideoPlayer_1955090928: Load track received from show Id: 0 /home/pi/pp_home/pp_live_tracks/Video1.mp4
51794.2684288 OMXDriver_1955153616: Send command to omxplayer: /usr/bin/omxplayer –no-keys –no-osd -o hdmi –vol -6000 –dbus_name ‘org.mpris.MediaPlayer2.omxplayer15555021001’ ‘/home/pi/pp_home/pp_live_tracks/Video1.mp4’
51795.740957 OMXDriver_1955153616: connected to omxplayer dbus after 14 centisecs
WARNING: OMXDriver_1955153616: Failed get duration – dbus exception: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
WARNING: OMXDriver_1955153616: repeat get duration 1
51826.1731279 OMXDriver_1955153616: pause received after load
51826.173352 OMXDriver_1955153616: not paused so send pause after load
WARNING: OMXDriver_1955153616: Failed to send pause – dbus exception: Message did not receive a reply (timeout by message bus)
WARNING: OMXDriver_1955153616: 15555021001 pause after load fail 26382203
WARNING: VideoPlayer_1955090928: /home/pi/pp_home/pp_live_tracks/Video1.mp4
WARNING: VideoPlayer_1955090928: loading – omxplayer ended before starting track with reason: nice_day at 26382203
ERROR: VideoPlayer_1955090928: omxplayer ended before loading track
56654.1115389 VideoPlayer_1955090928: Entering state : load-failed from show Id: 0
56654.1119399 LiveShow_1955092912: Show Id 0 load complete with status: error message: omxplayer ended before loading track
56654.1143479 VideoPlayer_1955092880: >close received from show Id: 0
56654.1168039 VideoPlayer_1955092880: quit video – Send stop to omxdriver
56654.1171579 OMXDriver_1955152752: >stop received and quit sent to omxplayer 4724
56654.213418 VideoPlayer_1955092880: end play signal received with reason: nice_day at: 682269881
56654.213675 VideoPlayer_1955092880: Entering state : closing from show Id: 0
56654.264796 VideoPlayer_1955092880: State machine: closing
56654.46593 VideoPlayer_1955092880: State machine: closing
56654.46629 VideoPlayer_1955092880: <omx process is dead
56654.4664938 VideoPlayer_1955092880: Entering state : closed from show Id: 0
56654.467953 LiveShow_1955092912: liveshow Show Id: 0: Ending Show
56654.468179 ShowManager_1955092720: Exited from show: liveshow 0
56654.4683008 ShowManager_1955092720: Exited with Reason = error
56654.4687409 PiPresents_1955525360: Pi Presents ending with reason: error
56654.5109789 PiPresents_1955525360: Tidying Up
56654.5816798 Animate_1955090576: clear events list
56654.582067 IOPluginManager_1955090480: I/O plugin Tkinter Keys terminated
56654.5822599 PiPresents_1955525360: Pi Presents closing because of error, sorry
The log says its a problem with omxplayer or its interface with PP which some people suffer from and many other don’t. I suspect it actually went wrong earlier but that is difficult to detect if you don’t know what you are looking for. I have been unable to find cause for these failures but checking the following is well worthwhile:
Ensure GPUMEM is at least 256 MB
Ensure you have a good power supply.
Home made videos seem to cause more problems than commercial ones. Pass the video through something like Handbrake to re-render it.
Play the video from the Pi not over a network.
Hello, thanks for making this amazing software. Ive been playing with the RFID show template thats provided. however, cant add more than two tags at the same time. Created my own show but no luck. any guidance will be appreciated. Thanks.
In addition to adding new sections to the .cfg file you need to add to the list of tags in the DRIVER section.
Hello KenT,
Thanks for all of your hard work spent on developing Pipresents. It’s all very appreciated.
If at all possible, i’m in need of some assistance with an loud intermittent white noise audio glitch that occurs when playing .mp4 files. Here are the details of the issue:
– Pipresents profile is a radiobutton show where a GPIO push buttons initiates one of two videos, and the “first track” is a silent video that is a photo slideshow.
– Audio glitch occurs when using example profiles as well.
– Although audio glitch is intermittent, it occurs at the exact same spot during the playback of the push button videos, But at a different spot for each video.
– Audio glitch does not occur during the silent video slideshow, however interestingly enough, the glitch is removed from the push button videos when the “first track” is a still image or a message track instead of the silent video slideshow or any other video file.
I have tried re-rendering all video files to all possible resolutions, frame rates, and H.264 containers to no success. I have also started from scratch a few times with a fresh Raspbian and Pipresents install with the same issues occurring.
Thank you for any help you can provide and your time spent reading/considering this post.
Josh
Are you using HDMI audio?. I think this might be the problem.
There is a limitation of HDMI audio on the Pi that the audio from only one video can be played. To minimise the gap between videos PP starts the second video before ending the first so the audio switches oddly at this time.
I think you can get rid of this by removing Freeze at End on the video tracks, the other way is to move to analog audio.
Which example exhibits the problem. It would be useful to know to confirm my diagnosis.
Hi, can I use Pipresents with touchscreen so the user can click certain area of the screen and go to the desired page/presentation?
Yes
The feature you need to read about is click areas. PP assumes that the touch screen driver produces mouse clicks. Look at the pp_clickareas_1p3 example
Well spotted,it’s fixed now
Ken
Hello! Please check the link on your Download page, the embedded URL points to “next” even though the link text is to “gapless” Thanks! Keep up the great work!