A PiPresents pipresents.wordpress.com/ show (we're talking about a Raspberry Pi running Raspbian) can be set to end at a time of day, but it does not have a way to set a day of the week. I have created a workaround for this using the standard Linux cron scheduler and some bash scripts.

Let's take a look at the first script. I think the comments explain it well enough. I named mine pp.sh. Be sure to make the file executable after you create it.

#!/bin/bash

# the name of the profile should be passed to this script
profile=$1

# show a black/blank screen
qiv -fmisC -d 5 /home/pi/media/common/blank.png &
# stop any running PiPresents shows
kill $(ps aux | grep pipresents.py | awk '{ print $2 }')
sleep 3;
# start the new show with the given profile and in the home folder below
python /home/pi/pipresents/pipresents.py -fb -o /home/pi/media -p "${profile}"

Now add an entry in cron to start the show. Run cron from your normal user (pi) in a terminal with crontab -e. The entry below starts a profile named 'myshow' at 8:30 am every sunday.

30 08 * * 0 /home/pi/pp.sh myshow

That's really all there is to it.

However, I also have a script to turn the screen on and off as part of the schedule, which would have a cron entry like this to turn off at 1:00 PM.

30 08 * * 0 /home/pi/screen.sh on; /home/pi/pp.sh myshow
00 13 * * 0 /home/pi/screen.sh off

Screen.sh looks like this.

#!/bin/bash

export XAUTHORITY=/home/pi/.Xauthority
export DISPLAY=":0"
export XAUTHLOCALHOSTNAME=localhost

if [ "$1" == "on" ]; then

  # see if we're already on
  state=$(tvservice -s | grep -oE 'DMT|CEA')
  echo "${state}"
  if [[ $state = "DMT" || $state = "CEA" ]]; then
    exit 0
  fi

  # turn on
  tvservice -p; 
  sleep 1;
  fbset -depth 8
  fbset -depth 16
  xrefresh
  sleep 3;

  # see if we're really on
  state=$(tvservice -s | grep -oE 'DMT|CEA')
  echo "${state}"
  if [[ $state = "DMT" || $state = "CEA" ]]; then
    exit 0
  fi
  exit 1
fi

if [ "$1" == "off" ]; then

  # see if we're already off
  state=$(tvservice -s | grep -o  'off')
  if [[ ${state} == "off" ]]; then
    exit 0
  fi

  # turn off
  tvservice -o;
  sleep 5;

  # see if we're really off
  state=$(tvservice -s | grep -o  'off')
  if [[ ${state} == "off" ]]; then
    exit 0
  fi
  exit 1
fi

Another improvement might be to turn off the PiPresents show when turning off the screen and turn on the screen based on some input.

Installing GBridge on Windows 8, Windows 8.1 and Windows 10

 

Just because I don't want to have to look this up again. Windows 8's driver signing enforcement prevents installing GBridge's network drivers. I posted how to work around that on gbridge.net forums when I was testing the Windows 8 preview, but their forum is offline now.

Windows 8

This method works for Professional or Home versions.

Grape Harvest

 

I finally got a full harvest off of this vine (before birds, etc.) These grapes are pretty sour, if you just pick and eat. And seedy. However, I always thought they might make good jelly or something. So this year, I have lots of grapes to try something.

Basically, the process is:

Raspberry-Vanilla Pudding

We have a picnic on July 4 where we are supposed to bring a dish. An hour before the picnic... what should we bring? We have lots of fresh-picked raspberries and that vanilla pudding I got last week. After a few minutes of Google-searching for things that use those two ingredients (no results, except for baked items and stuff of the wrong kind), I am going to make my own recipe for this.

Five Crunch Mix

 
Five different textures of crunch for a delightful and versatile snack that doesn't leave your taste buds feeling like you drank an ocean of saltwater.
 
Shake together in a container (or snack bag) in the desired proportions....
  • honey nut cheerios
  • pretzels (thin style, broken in pieces)
  • unsalted peanuts
  • Spanish peanuts
  • banana chips
  • raisins
 
I usually go heavy on the cheerios.