You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.6 KiB
54 lines
1.6 KiB
from PIL import Image, ImageDraw, ImageFont, ImageOps
|
|
import re
|
|
import time
|
|
#import widgets.widget as widget
|
|
import argparse
|
|
import os
|
|
import toml
|
|
|
|
import requests
|
|
from io import BytesIO
|
|
|
|
try:
|
|
import drivers.epd7in5b
|
|
testMode = False
|
|
except:
|
|
testMode = True
|
|
|
|
canvas_url_black = 'http://0.0.0.0:5000/display'
|
|
|
|
mydir = os.path.dirname(os.path.abspath(__file__))
|
|
|
|
parser = argparse.ArgumentParser(description="NotiFrame display")
|
|
parser.add_argument('-t', '--test', help='enable test mode', action='store_true')
|
|
args = parser.parse_args()
|
|
if args.test:
|
|
testMode = True
|
|
|
|
print("RUNNING IN TESTMODE: "+str(testMode))
|
|
if not testMode:
|
|
epd = drivers.epd7in5b.EPD()
|
|
epd.init()
|
|
|
|
def render(index):
|
|
while(True):
|
|
print("requesting display image")
|
|
try:
|
|
blk = requests.get(canvas_url_black)
|
|
#ylw = requests.get(urlylw)
|
|
image_black = Image.open(BytesIO(blk.content))
|
|
image_yellow = None
|
|
#image_yellow = Image.open(BytesIO(ylw.content))
|
|
#draw_black.rectangle(xy=((0,0), image_black.size), fill=255)
|
|
#draw_yellow.rectangle(xy=((0,0), image_yellow.size), fill=255)
|
|
if not testMode:
|
|
epd.display_frame(epd.get_frame_buffer(image_black.rotate(180)),epd.get_frame_buffer(image_yellow.rotate(180)))
|
|
else:
|
|
image_black.save(os.path.join(mydir, 'test/imgBlackDisplayClient.bmp'))
|
|
#image_yellow.save(os.path.join(mydir, 'test/imgYellow.bmp'))
|
|
except:
|
|
print("failed to load display image")
|
|
i =+ 1
|
|
time.sleep(20)
|
|
i = 0
|
|
render(i) |