#!/usr/bin/python # -*- coding:utf-8 -*- import sys import os picdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'pic') libdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'lib') if os.path.exists(libdir): sys.path.append(libdir) import logging from waveshare_epd import epd2in13b_V3 import time from PIL import Image,ImageDraw,ImageFont import traceback logging.basicConfig(level=logging.DEBUG) #Define Display epd = epd2in13b_V3.EPD() epd.init() #Set fonts font12 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 12) font14 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 14) font16 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 16) font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18) #Init Image HBlackimage = Image.new('1', (epd.height, epd.width), 255) # 298*126 HRYimage = Image.new('1', (epd.height, epd.width), 255) # 298*126 ryimage: red or yellow image drawblack = ImageDraw.Draw(HBlackimage) #drawry = ImageDraw.Draw(HRYimage) import time import datetime import locale loc = locale.getlocale() print (loc) from datetime import datetime, timedelta, date # Zwei datetime-Objekte erstellen # from datetime import date start_time = date.today() print(start_time.strftime("%d.%m.%Y")) ruhestand = date(2025, 6, 10) # Zeitdelta berechnen duration = ruhestand - start_time print(duration) # Ausgabe: 9 Tage, 2:30:00 def init_monitor(): logging.info("epd2in13b_V3 Demo") #epd = epd2in13b_V3.EPD() #epd.init() #epd.Clear() # Drawing on the image #logging.info("Drawing") #font16 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 16) #font18 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 18) # Drawing on the Horizontal image logging.info("1.Drawing on the Horizontal image...") drawblack.text((4, 0), 'Lieber Reinhold, in: ' + str(duration.days) + " Tagen", font = font12, fill = 0) drawblack.text((4, 13), 'Oder ' + str(round(duration.days / 7,2)) + " Wochen", font = font14, fill = 0) drawblack.text((4, 28), 'Oder ' + str(round(duration.days / 30,2)) + " Monate", font = font14, fill = 0) drawblack.text((4, 43), 'Oder ' + str(duration.days * 24) + " Stunden", font = font14, fill = 0) drawblack.text((4, 58), 'Oder ' + str(round(duration.days / 365,2)) + " Jahre", font = font14, fill = 0) drawblack.text((4, 73), "Bis du am: " + str(ruhestand.strftime("%d.%m.%Y")), font = font14, fill = 0) drawblack.text((4, 88), "einem: " + str(ruhestand.strftime("%A")) + " in den Ruhestand gehen!", font = font14, fill = 0) epd.display(epd.getbuffer(HBlackimage), epd.getbuffer(HRYimage)) #logging.info("Clear...") #epd.init() #epd.Clear() print(drawblack) logging.info("Goto Sleep...") epd.sleep() def run(): try: init_monitor() except IOError as e: logging.info(e) except KeyboardInterrupt: logging.info("ctrl + c:") epd2in13b_V3.epdconfig.module_exit() exit() if __name__ == '__main__': run()