Browse Source

quotes api

Tobias Simetsreiter 4 năm trước cách đây
mục cha
commit
825284db98
5 tập tin đã thay đổi với 35 bổ sung16 xóa
  1. 3 2
      Makefile
  2. 1 0
      bin/image.py
  3. 29 13
      bin/nametag.py
  4. 0 0
      bin/simpi.py
  5. 2 1
      bin/test.py

+ 3 - 2
Makefile

@@ -7,8 +7,9 @@ test:
 deply: bcmlib wiringpi pythonlib
 
 update: wavesharelib
-	rsync -ai bin Makefile pi@${RASPI_IP}:raspi-zero-waveshare/
-	rsync -ai wavesharelib/RaspberryPi\&JetsonNano/python/ pi@${RASPI_IP}:raspi-zero-waveshare/lib/
+	rsync -ai --delete bin/ pi@${RASPI_IP}:raspi-zero-waveshare/bin/
+	rsync -ai --delete lib/ pi@${RASPI_IP}:raspi-zero-waveshare/lib/
+	rsync -ai --delete wavesharelib/RaspberryPi\&JetsonNano/python/ pi@${RASPI_IP}:raspi-zero-waveshare/wavesharelib/
 
 run/%:
 	ssh pi@${RASPI_IP} "cd raspi-zero-waveshare;./bin/${*}.py ${ARGS}"

+ 1 - 0
bin/image.py

@@ -5,6 +5,7 @@ import os
 pydir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'lib')
 picdir = os.path.join(pydir, 'pic')
 libdir = os.path.join(pydir, 'lib')
+libdir = os.path.join(pydir, 'wavesharelib')
 print(picdir)
 print(libdir)
 if os.path.exists(libdir):

+ 29 - 13
bin/nametag.py

@@ -2,20 +2,22 @@
 # -*- coding:utf-8 -*-
 import sys
 import os
-pydir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'lib')
-picdir = os.path.join(pydir, 'pic')
-libdir = os.path.join(pydir, 'lib')
-print(picdir)
-print(libdir)
-if os.path.exists(libdir):
-    sys.path.append(libdir)
+pydir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
+picdir = os.path.join(pydir, "wavesharelib",'pic')
+libdirs = [
+    os.path.join(pydir, 'lib'),
+    os.path.join(pydir, 'wavesharelib','lib'),
+]
+for d in libdirs:
+    if os.path.exists(d):
+        sys.path.append(d)
 
 import logging
 from waveshare_epd import epd2in13_V2
 import time
-from PIL import Image,ImageDraw,ImageFont
+from PIL import Image,ImageDraw
+from simpilib import wrapText,loadFontSize
 
-font = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), int(sys.argv[1]))
 
 epd = epd2in13_V2.EPD()
 logging.info("init and Clear")
@@ -24,12 +26,26 @@ epd.Clear(0xFF)
 image = Image.new('1', (epd.height, epd.width), 255)
 draw = ImageDraw.Draw(image)
 
-text = "\n".join(sys.argv[2:])
+try:
+    import requests
+    import json
+    import random
+    r = requests.get('https://type.fit/api/quotes')
+    r = r.json()
+    r = random.choices(r)[0]
+    text = r["text"] + " - " + r["author"]
+except Exception as ex:
+    text = str(ex)
 
-h, w = draw.textsize(text, font=font)
+fontpath = os.path.join(picdir, 'Font.ttc')
+
+text, longline = wrapText(text)
+font = loadFontSize(text, draw, image, fontpath)
+
+w, h = draw.textsize(text, font=font)
 center = (
-    int((epd.height-h)/2),
-    int((epd.width-w)/2)
+    int((epd.height-w)/2),
+    int((epd.width-h)/2)
 )
 
 print(center, (w, h), (epd.width, epd.height))

+ 0 - 0
bin/simpi.py


+ 2 - 1
bin/test.py

@@ -5,13 +5,14 @@ import os
 pydir = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'lib')
 picdir = os.path.join(pydir, 'pic')
 libdir = os.path.join(pydir, 'lib')
+libdir = os.path.join(pydir, 'wavesharelib')
 if os.path.exists(libdir):
     sys.path.append(libdir)
 
 import logging
 from waveshare_epd import epd2in13_V2
 import time
-from PIL import Image,ImageDraw,ImageFont 
+from PIL import Image,ImageDraw,ImageFont
 from PIL.ImageOps import invert
 
 import traceback