Digital Window Six Pack Sign
Purpose
The goal of the Six Pack Sign is to have an always on (except maybe from midnight to 6 AM) sign that shows people the six easiest ways to dip their toe in the pool with HeatSync Labs. It will be a 3x2 static display with QR codes.
The other existing signs are great for what they do, but require some dwell time by the passer-by. The Six Pack is to try to capture people who are impatient.
Raspberry Pi
Chat GPT Recommends
Setting up your Raspberry Pi to display a single image full-screen as a digital signboard upon boot, and allowing for image updates via SSH followed by a reboot, is a straightforward project. I’ll guide you thro
ugh the process step-by-step, and also provide a method to schedule screen blanking using cron
.
Step 1: Prepare Your Raspberry Pi
Ensure your Raspberry Pi OS is updated and that you have SSH access configured:
sudo apt update
sudo apt upgrade
sudo raspi-config
In raspi-config
, enable SSH if it’s not already enabled. Choose Interfacing Options
, select SSH
, and then choose Yes
.
Step 2: Install Required Software
You’ll need to install a lightweight image viewer that can display images full-screen. fbi
(Frame Buffer Image viewer) is a great tool for this because it can run without X server:
sudo apt install fbi
Step 3: Configure Your Image Display Script
- Upload your initial image to the Raspberry Pi, e.g.,
/home/pi/image.jpg
. - Create a script that will run at boot to display this image. Open a text editor:
sudo nano /home/pi/show_image.sh
- Add the following lines to the script:
#!/bin/bash
# Script to display an image full-screen using fbi
# Turn off screen blanking
setterm -blank 0 -powerdown 0
# Use fbi to display the image
sudo fbi -T 1 -noverbose -a /home/pi/image.jpg
- Make the script executable:
chmod +x /home/pi/show_image.sh
Step 4: Setup Autostart Using Crontab
Edit the crontab
to run your script at boot:
sudo crontab -e
Add this line at the end of the file to execute the script at boot:
@reboot /bin/bash /home/pi/show_image.sh
Bonus: Schedule Screen Blanking
If you want to blank the screen from midnight to 6 AM, you can add additional cron jobs to turn the HDMI output off and on:
# Turn off HDMI at midnight
0 0 * * * /usr/bin/tvservice -o
# Turn on HDMI at 6 AM
0 6 * * * /usr/bin/tvservice -p && sudo chvt 6 && sudo chvt 7
This uses tvservice
to control the HDMI output, and chvt
to refresh the tty after turning HDMI back on, which is necessary to make the display reappear correctly.
Step 5: Reboot Your Raspberry Pi
Now, reboot your Raspberry Pi to see the changes:
sudo reboot
Managing Image Updates via SSH
Whenever you want to change the displayed image: 1. SSH into your Raspberry Pi. 2. Replace the image at /home/pi/image.jpg
with your new image. 3. Reboot the Raspberry Pi to display the new image.
This setup gives you a simple, effective digital signboard with optional screen blanking. You can update the image anytime via SSH, and the Raspberry Pi will handle the rest automatically upon reboot.