[LINUX] Utilisez le module de papier électronique comme liste de tâches

Déclencheur

Je "Puis-je l'utiliser pour un module de papier électronique?" «Je vais oublier beaucoup de choses à faire ces derniers temps, alors utilisons-la comme une liste de tâches (quelque chose comme un mémo)»

Ce que vous avez préparé

・ Raspberry Pi 3 modèle B + ・ Module de papier électronique (module de papier électronique de 4,2 pouces) ・ Spacer (si vous le souhaitez)

procédure

Image d'une telle chose -Break et enregistrer ce qu'il faut faire (caractères) dans un fichier texte approprié (text.txt) -Lire un fichier texte avec Python et l'écrire sur e-Paper

Ecrire du code source python

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") #Chargez l'image d'Irasutoya
    draw.rectangle((0, 0, 399, 299), fill=(255, 255, 255), outline=(0, 0, 0), width=3) #Cadre extérieur carré
    draw.rectangle((0, 0, 399, 50), fill=(0, 0, 0), outline=(0, 0, 0)) #Carré plein dans la liste des tâches
    im.paste(fig1, (200, 150),fig1.split()[3])    

    font_path = ImageFont.truetype('/usr/share/fonts/opentype/noto/NotoSansCJK-Light.ttc',30)
    text1 = "Liste de choses à faire\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()

Modifiez le fichier texte comme suit et placez-le dans le même répertoire que write.py

text.txt


La thèse de master
Procédure
Contactez l'agent immobilier
Boire demain

Je l'ai essayé

Je me suis senti surréaliste quand j'ai ajouté une illustration d'Irasutoya IMG_3433.jpg

Si vous souhaitez modifier l'élément affiché, réécrivez text.text, puis exécutez à nouveau le code Python pour mettre à jour l'élément modifié.

Recommended Posts

Utilisez le module de papier électronique comme liste de tâches
Utiliser Remotte en tant qu'utilisateur
Extraire la valeur de dict ou list sous forme de chaîne de caractères
Utilisez DynamoDB comme gestionnaire de verrouillage
Utilisez pymol comme bibliothèque python
Comment utiliser le module optparse
Comment utiliser le module ConfigParser
Précautions lors de l'utilisation d'une liste ou d'un dictionnaire comme argument par défaut
Utilisez youtube_dl comme module python. annexe) Erreur Nico Nico Video HTTP 403
Créer un graphique à l'aide du module Sympy
Changer la liste dans l'instruction for
Poussez la liste de hachage dans VT et recevez le résultat de la détection sous forme de liste
Utilisez BMFont comme police pour pyglet
Je souhaite voir une liste de fichiers WebDAV dans le module Requêtes
Remarques sur la personnalisation de la classe de liste de dict
Copiez la liste en Python
Ecrire un serveur TCP à l'aide du module SocketServer
Obtenir uniquement les éléments de sous-classe dans une liste
Utilisez l'API Kaggle dans un conteneur Docker
[Python] Une compréhension approximative du module de journalisation
Liste de tâches simple créée avec Python + Django
amateur python tente de résumer la liste ②
Utilisez le module Python nghttp2 de Homebrew de Python de pyenv
En tant que débutant, j'ai cherché dans le répertoire / proc
Utilisez Flask comme étape suivante dans SimpleHTTPServer
Conseils aux débutants en Python pour utiliser l'exemple Scikit-image pour eux-mêmes 7 Comment créer un module
Obtenez le nom de la variable sous forme de chaîne de caractères.
Comment utiliser Raspeye Relay Module Python
[python] Récupère la liste des classes définies dans le module
Essayez de créer une application Todo avec le framework Django REST
Prenez note de la liste des utilisations de base de Pandas
Créer une application Todo avec Django ③ Créer une page de liste de tâches
[Blender] Utilisez le module de dessin de texte à partir du script
Utilisons la version Python du module API Confluence.
Spécifiez MinGW comme compilateur utilisé dans Python
Afficher le résultat de sortie de sklearn.metrics.classification_report sous forme de fichier CSV
Créer une liste lorsque la nomenclature est pour une certaine période de temps
Utiliser KNP comme analyseur de dépendances universel avec spaCy