Super thank you. Just loaded it.
Unfortunately, the picture is not sharp, but I think it is due to the ALSA configuration, set it to DSD native
Hey there, thanks for this great project. I managed to get it working, I only have one issue: I can’t force 1920x1080 resolution. My tv is 4k and I can’t get any other resolution. I edited the userconfig.txt according to the 3rd post. Any help would be appreciated. Thanks!
EDIT: got it working eventually, this is how the config files are edited:
/boot/config.txt
framebuffer_width=1920
framebuffer_height=1080
/root/userconfig.txt
disable_overscan=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt 1920 1080 60 3 0 0 0
hdmi_drive=2
Titles and bitrate aren’t still displayed while playing via tidal connect.
Titles and bitrate aren’t still displayed while playing via tidal connect.
!
Small update
Project with PeppyMeter Screensaver Plugin for VOLUMIO v2.9xx and 3.0xx buster - #738 by Gelo5?
Hi … short question … do you find a way with extra oled display and peppymeter working?
When I start my extra python3 script for the oled > peppymeter don’t start anymore …
Any idea? Many thx …
Peppy is a screensaver, running a python script in a while loop prevents the screensaver to become active. Hence Peppy assume your system is active. If you use the plugin MPD_OLED it will work.
ok thx … i will get it a try … thx a lot
Short question: Is there a way to show Temp and CPU from Raspberry?
Short answer: Yes. See in the VOLUMIO plug-ins (system info by @balbuze )
Long answer
If you want to display it on your OLED:
import busio
import adafruit_ssd1306
import gpiozero as gz
import time
import psutil
from board import SCL, SDA
from PIL import Image, ImageDraw, ImageFont
# Create the I2C interface.
i2c = busio.I2C(SCL, SDA)
# Create the SSD1306 OLED class.
# The first two parameters are the pixel width and pixel height.
disp = adafruit_ssd1306.SSD1306_I2C(128, 64, i2c)
# Clear display.
disp.fill(0)
disp.show()
# Create blank image for drawing.
# Make sure to create image with mode '1' for 1-bit color.
width = disp.width
height = disp.height
img = Image.new("1", (width, height))
# Get drawing object to draw on image.
draw = ImageDraw.Draw(img)
# Load fonts.
fontb = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", 12)
fontc = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", 14)
fontd = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", 16)
fontk = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", 30)
def cputemp():
cmd = gz.CPUTemperature().temperature
result = str('{0:.1f}'.format(cmd))
return result
def cpuload():
cmd = psutil.cpu_percent()
return str('{:.1f}'.format(cmd)).zfill(4)
draw.text(( 0, 0), "CPU:" , font=fontb, fill=255)
draw.text(( 40, 0), cputemp() , font=fontk, fill=255)
draw.text((115, 0), "°" , font=fontk, fill=255)
draw.text(( 30, 32), cpuload(), font=fontk, fill=255)
draw.text((110, 40), "%" , font=fontd, fill=255)
disp.image(img)
disp.show()
Marvellous! Just what I’ve been thinking of doing but had no time until after Christmas. Saved me a lot head scratching - thanks!
Speaking of time, that would be my main objective, a simple clock display on the OLED. Any pointers to save me even more time!
Clock won’t work as this can only run in a loop, causing peppy to stop loading.
This is just a snippet of code, untested and as starting point.
from datetime import datetime
from board import SCL, SDA
from PIL import Image, ImageDraw, ImageFont
import adafruit_ssd1306
import busio
WIDTH = 128
HEIGHT = 64
IMGHEIGHT = 64#45
IMGWIDTH = 128#45
rows = 80
# Create the I2C interface.
i2c = busio.I2C(SCL, SDA)
# Create the SSD1306 OLED class.
# The first two parameters are the pixel width and pixel height.
disp = adafruit_ssd1306.SSD1306_I2C(WIDTH, HEIGHT, i2c)
# Clear display.
disp.fill(0)
disp.show()
# Create blank image for drawing.
# Make sure to create image with mode '1' for 1-bit color.
width = disp.width
height = disp.height
img = Image.new("1", (width, height))
# Get drawing object to draw on image.
draw = ImageDraw.Draw(img)
fontb = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", 12)
fontc = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", 24)
def CenterText(inpstr,font,offset,ypos,fill):
draw.text((getXPosCenterStr(inpstr,offset,font), ypos),inpstr, font=font, fill=fill)
def SetTime():
now = datetime.now()
sTime = now.strftime("%H:%M")
sDate = now.strftime("%d-%b-%Y")
CenterText(str(sTime),fontc,0, 17, 255)
CenterText(str(sDate),fontb,0, 52, 255)
SetTime()
disp.image(img)
disp.show()
Thank you.
Great
Many thx !!!
Can someone provide a link to install Peppymeter on x86? I can’t find something😭
there is none
Hi peppy team,
First of all, thanks for the awesome work you do for this great addition to Volumio.
I do have a small issue. Peppy is installed and running fine when I select random or one of the meters in the list. As soon as I select “List”, peppymeter doesn’t start.
The problem occurs with the set of pictures and meters.txt downloaded from post 107 and from a set of pictures I selected from all the 1920x1080 made available in this entire post and modified meters.txt.
The images are uploaded to /data/plugins/miscellanea/peppy_screensaver/peppymeter/custom_4 (1920x1080)
Volumio, latest version 3.378, Pi 4 4GB, Screen is a Waveshare 13.3inch 1920x1080 HDMI LCD IPS Display Capacitive
Touch display plugin is set to 120 seconds screensaver timeout.
Peppymeter 60 seconds screensaver timeout and 60 seconds for the random interval.
@davinci
Can you validate if the list is properly populated with the correct items and that all listed items are available?
@Wheaten,
Yes it is when I select “List”, the different meters are displayed in the same sequence as in meters.txt
That’s strange and all available VU-meters can be manual selected?
As i have only ran into this, due to a missing file or error in meters.txt.