Digital Window Six Pack Sign: Difference between revisions
(Created page with "= 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...") |
|||
Line 5: | Line 5: | ||
= Raspberry Pi = | = Raspberry Pi = | ||
== Chat GPT Recommends == | == Chat GPT Recommends == | ||
'''Note:''' ChatGPT didn't specify a distro to use. Since it recommends fbi, which does not need an X server, I'm using Pi OS Lite 32 from here: https://www.raspberrypi.com/software/operating-systems/ | |||
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 | 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 <code>cron</code>. | ugh the process step-by-step, and also provide a method to schedule screen blanking using <code>cron</code>. |
Latest revision as of 04:47, 27 April 2024
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
Note: ChatGPT didn't specify a distro to use. Since it recommends fbi, which does not need an X server, I'm using Pi OS Lite 32 from here: https://www.raspberrypi.com/software/operating-systems/
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.