Raspberry Pi as a clock
Task: Display clock on the Raspberry Pi display
Implementation with 'epd' library:
1. Create python application (main.py) to display date and time:
import epd2in7 import datetime from PIL import Image from PIL import ImageFont from PIL import ImageDraw def main(): epd = epd2in7.EPD() epd.init() font = ImageFont.truetype('/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf', 42) font42 = ImageFont.truetype('/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf', 80) image = Image.new('1', (epd2in7.EPD_WIDTH, epd2in7.EPD_HEIGHT), 255) # Time HH:MI text = datetime.datetime.today().strftime("%H:%M") img_txt = Image.new('L', font42.getsize(text), 255) draw_txt = ImageDraw.Draw(img_txt) draw_txt.text((0, 0), text, font = font42, fill = 0) t = img_txt.rotate(90, expand=1) image.paste(t, (10, 10)) # Date YYYY/MM/DD text = datetime.datetime.today().strftime("%Y/%m/%d") img_txt = Image.new('L', font.getsize(text), 255) draw_txt = ImageDraw.Draw(img_txt) draw_txt.text((0, 0), text, font = font, fill = 0) t = img_txt.rotate(90, expand=1) image.paste(t, (110, 5)) # Draw epd.display_frame(epd.get_frame_buffer(image)) if __name__ == '__main__': main()
2. Create run.sh script to run python application:
cd /home/ubuntu/bin/clock sudo python3 main.py
3. Add library files:
epd2in7.py epdif.py main.py run.sh
4. Add run it every minute by crontab job:
* * * * * root /home/ubuntu/bin/clock/run.sh
Result:
Have a fun.
Thank you for another informative website. Where else could I get that type of information written in such a perfect way? I have a project that I’m just now working on, and I’ve been on the look out for such information.