annnvv / smart-mirror-diy

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Smart Mirror DIY

Status: In Progress (Version 0 Complete, probably needs refactoring)

Inspiration: This project is inspired by a DIY smart mirror Youtube video and its corresponding repo.

Purpose: The purpose of this repo is to house the code to generate an interface for a smart mirror.

The smart mirror will display:

  • [DONE] Greeting
  • [DONE] Day of Week, Date
  • [DONE] Time of day
  • [DONE] Weather information
    • Temperature, feels like, high, low, and current weather icon
    • TODO: weather image
  • [DONE] Air Quality Information
  • [DONE] WMATA next train information
  • [ON HOLD] DASH next bus information
    • Figure out GFTS feed

Data Sources:

Lessons Learned:

  • Creating a GUI using tkinter
    • Using Frames to create a grid, using pack within Frames
    • .grid() versus .pack() methods
    • Displaying images
    • Using TreeView to display data tabularly (in progress)
    • .after method (in progress)
  • Python Object Orientation
    • instance versus class methods
    • inheritance of classes
  • Decoupling the classes from the GUI (at least attempting to do this, surprisingly challenging)
  • Calling REST APIs using requests

Resources: Event Driven Programming in Python There are some of the resources that I have found helpful in working on this project (not an exhaustive list).

  1. John Elder's Codemy Tkinter YouTube Channel
  2. Python Class vs. Static vs. Instance Methods
  3. tkinter TreeView
  4. tkinter after() practical example at the end !
  5. last answer on SO: StringVar(), .set(), and after()

About

License:MIT License


Languages

Language:Python 100.0%