-#!/usr/bin/env python
+#!/usr/bin/env python3
import time
import colorsys
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
+from fonts.ttf import RobotoMedium as UserFont
import logging
logging.basicConfig(
# PMS5003 particulate sensor
pms5003 = PMS5003()
+time.sleep(1.0)
# Create ST7735 LCD display class
st7735 = ST7735.ST7735(
# Set up canvas and font
img = Image.new('RGB', (WIDTH, HEIGHT), color=(0, 0, 0))
draw = ImageDraw.Draw(img)
-path = os.path.dirname(os.path.realpath(__file__))
-font = ImageFont.truetype(path + "/fonts/Asap/Asap-Bold.ttf", 20)
-smallfont = ImageFont.truetype(path + "/fonts/Asap/Asap-Bold.ttf", 10)
+font_size_small = 10
+font_size_large = 20
+font = ImageFont.truetype(UserFont, font_size_large)
+smallfont = ImageFont.truetype(UserFont, font_size_small)
x_offset = 2
y_offset = 2
draw.rectangle((0, 0, WIDTH, HEIGHT), (0, 0, 0))
column_count = 2
row_count = (len(variables)/column_count)
- for i in xrange(len(variables)):
+ for i in range(len(variables)):
variable = variables[i]
data_value = values[variable][-1]
unit = units[i]
message = "{}: {:.1f} {}".format(variable[:4], data_value, unit)
lim = limits[i]
rgb = palette[0]
- for j in xrange(len(lim)):
+ for j in range(len(lim)):
if data_value > lim[j]:
rgb = palette[j+1]
draw.text((x, y), message, font=smallfont, fill=rgb)
# Tuning factor for compensation. Decrease this number to adjust the
# temperature down, and increase to adjust up
-factor = 1.95
+factor = 2.25
cpu_temps = [get_cpu_temperature()] * 5