test.py 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!/usr/bin/env python3
  2. # -*- coding:utf-8 -*-
  3. import sys
  4. import os
  5. pydir = os.path.join(os.path.dirname(os.path.realpath(__file__)), 'lib')
  6. picdir = os.path.join(pydir, 'pic')
  7. libdir = os.path.join(pydir, 'lib')
  8. libdir = os.path.join(pydir, 'wavesharelib')
  9. if os.path.exists(libdir):
  10. sys.path.append(libdir)
  11. import logging
  12. from waveshare_epd import epd2in13_V2
  13. import time
  14. from PIL import Image,ImageDraw,ImageFont
  15. from PIL.ImageOps import invert
  16. import traceback
  17. logging.basicConfig(level=logging.DEBUG)
  18. try:
  19. logging.info("epd2in13_V2 Demo")
  20. font24 = ImageFont.truetype(os.path.join(picdir, 'Font.ttc'), 24)
  21. epd = epd2in13_V2.EPD()
  22. logging.info("init and Clear")
  23. epd.init(epd.FULL_UPDATE)
  24. epd.Clear(0xFF)
  25. # read bmp file
  26. logging.info("2.read bmp file...")
  27. image = Image.open(os.path.join(picdir, '2in13.bmp'))
  28. draw = ImageDraw.Draw(image)
  29. epd.displayPartBaseImage(epd.getbuffer(image))
  30. time.sleep(2)
  31. logging.info("4.show time...")
  32. image = Image.new('1', (epd.height, epd.width), 255)
  33. draw = ImageDraw.Draw(image)
  34. epd.init(epd.FULL_UPDATE)
  35. epd.displayPartBaseImage(epd.getbuffer(image))
  36. epd.init(epd.PART_UPDATE)
  37. draw.text((120, 60), " ".join(sys.argv[1:]), font = font24, fill = 0)
  38. num = 0
  39. while (True):
  40. draw.rectangle((120, 80, 220, 105), fill = 255)
  41. draw.text((120, 80), time.strftime('%H:%M:%S'), font = font24, fill = 0)
  42. epd.displayPartial(epd.getbuffer(image.rotate(180)))
  43. num = num + 1
  44. if(num == 10):
  45. break
  46. time.sleep(2)
  47. logging.info("Goto Sleep...")
  48. epd.sleep()
  49. epd.Dev_exit()
  50. except IOError as e:
  51. logging.info(e)
  52. except KeyboardInterrupt:
  53. logging.info("ctrl + c:")
  54. epd2in13_V2.epdconfig.module_exit()
  55. exit()