[LINUX] Verwenden Sie das elektronische Papiermodul als Aufgabenliste

Auslösen

I "Kann ich es für ein elektronisches Papiermodul verwenden?" Ich "Ich werde in letzter Zeit eine Menge Dinge vergessen, die zu tun sind. Verwenden wir sie also als ToDo-Liste (so etwas wie ein Memo)."

Was du vorbereitet hast

・ Himbeer Pi 3 Modell B + ・ Elektronisches Papiermodul (4,2-Zoll-E-Paper-Modul) ・ Spacer (wenn Sie möchten)

Verfahren

Bild von so etwas -Brechen und speichern Sie, was zu tun ist (Zeichen) in einer entsprechenden Textdatei (text.txt) -Lesen Sie eine Textdatei mit Python und schreiben Sie sie auf e-Paper

Schreiben Sie Python-Quellcode

write.py


#!/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 epd4in2bc
import time
from PIL import Image,ImageDraw,ImageFont
import traceback
import RPi.GPIO as GPIO
logging.basicConfig(level=logging.DEBUG)




try:
    #erase e-paper
    logging.info("epd4in2bc Demo")
    epd = epd4in2bc.EPD()
    logging.info("init and Clear")
    epd.init()
    epd.Clear()
    time.sleep(1)
    
    #read text file
    f = open('text.txt', 'r')
    memo_text = []
    for line in f:
        memo_text.append(line)
    f.close()
    #print(memo_text)

    
    #make text figure
    im = Image.new("RGB",(400,300),"white")
    draw = ImageDraw.Draw(im)
    fig1 = Image.open('fig.png').convert("RGBA") #Laden Sie das Bild von Irasutoya
    draw.rectangle((0, 0, 399, 299), fill=(255, 255, 255), outline=(0, 0, 0), width=3) #Äußeres Rahmenquadrat
    draw.rectangle((0, 0, 399, 50), fill=(0, 0, 0), outline=(0, 0, 0)) #Gefülltes Quadrat in der Aufgabenliste
    im.paste(fig1, (200, 150),fig1.split()[3])    

    font_path = ImageFont.truetype('/usr/share/fonts/opentype/noto/NotoSansCJK-Light.ttc',30)
    text1 = "Aufgabenliste\n"
    draw.text((10, 10), text1 , fill=(255, 255, 255), font=font_path)
   
    
    font_path = ImageFont.truetype('/usr/share/fonts/opentype/noto/NotoSansCJK-Light.ttc',24)
    i = 0
    w = 0
    while i in range(len(memo_text)):
        draw.text((10, 50 + w), "・" + memo_text[i] , fill=(0, 0, 0), font=font_path)
        w = w + 35
        i = i + 1

    im.save("./../pic/hoge.bmp")


    # Drawing on the image
    logging.info("3.read bmp file")
    HBlackimage = Image.open(os.path.join(picdir, 'hoge.bmp'))
    HRYimage = Image.open(os.path.join(picdir, 'hoge.bmp'))
    epd.display(epd.getbuffer(HBlackimage), epd.getbuffer(HRYimage))
    time.sleep(2)

    logging.info("Goto Sleep...")
    epd.sleep()
    

except IOError as e:
    logging.info(e)

except KeyboardInterrupt:
    logging.info("ctrl + c:")
    epd4in2bc.epdconfig.module_exit()
    exit()

Bearbeiten Sie die Textdatei wie folgt und legen Sie sie im selben Verzeichnis wie "write.py" ab

text.txt


Masterarbeit
Verfahren
Kontaktieren Sie den Immobilienmakler
Trinkparty morgen

Ich versuchte es

Ich fühlte mich surreal, als ich eine Illustration von Irasutoya hinzufügte IMG_3433.jpg

Wenn Sie das angezeigte Element ändern möchten, schreiben Sie text.text neu und führen Sie den Python-Code erneut aus, um das geänderte Element zu aktualisieren.

Recommended Posts

Verwenden Sie das elektronische Papiermodul als Aufgabenliste
Verwenden Sie Remotte als Benutzer
Extrahieren Sie den Wert von dict oder list als Zeichenfolge
Verwenden Sie DynamoDB als Sperrmanager
Verwenden Sie Pymol als Python-Bibliothek
Verwendung des optparse-Moduls
Verwendung des ConfigParser-Moduls
Vorsichtsmaßnahmen bei Verwendung einer Liste oder eines Wörterbuchs als Standardargument
Verwenden Sie youtube_dl als Python-Modul. Anhang) Nico Nico Video HTTP 403 Fehler
Erstellen Sie mit dem Sympy-Modul ein Diagramm
Ändern Sie die Liste in der for-Anweisung
Schieben Sie die Hash-Liste in VT und erhalten Sie das Erkennungsergebnis als Liste
Verwenden Sie BMFont als Schriftart für Pyglet
Ich möchte eine Liste der WebDAV-Dateien im Modul Anfragen anzeigen
Hinweise zum Anpassen der Diktatlistenklasse
Kopieren Sie die Liste in Python
Schreiben Sie einen TCP-Server mit dem SocketServer-Modul
Holen Sie sich nur Unterklassenelemente in eine Liste
Verwenden Sie die Kaggle-API in einem Docker-Container
[Python] Ein grobes Verständnis des Protokollierungsmoduls
Einfache Aufgabenliste, erstellt mit Python + Django
Python Amateur versucht die Liste zusammenzufassen ②
Verwenden Sie das nghttp2 Python-Modul von Homebrew aus pyenvs Python
Als Anfänger habe ich das Verzeichnis / proc durchsucht
Verwenden Sie Flask als nächsten Schritt für SimpleHTTPServer
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 7 Erstellen eines Moduls
Ruft den Variablennamen der Variablen als Zeichenfolge ab.
Verwendung von Raspeye Relay Module Python
[Python] Ruft die Liste der im Modul definierten Klassen ab
Lassen Sie uns eine Todo-App mit dem Django REST-Framework erstellen
Notieren Sie sich die Liste der grundlegenden Verwendungszwecke von Pandas
Todo-App mit Django erstellen ③ Aufgabenlistenseite erstellen
[Blender] Verwenden Sie das Textzeichnungsmodul aus dem Skript heraus
Verwenden wir die Python-Version des Confluence-API-Moduls.
Geben Sie MinGW als den in Python verwendeten Compiler an
Geben Sie das Ausgabeergebnis von sklearn.metrics.classification_report als CSV-Datei aus
Erstellen einer Liste, wenn die Nomenklatur für einen bestimmten Zeitraum gültig ist
Verwenden Sie KNP als Universal Dependency Parser mit spaCy