Home
420-302-VA_A25
The public course repository for 420-302-VA Internet of Things - Introduction to Python Programming for the Fall of 2025.
Access the material through the public website ↗ or the repository ↗.
Activities:
-
Class 1 (August 25): Lab 1: Installing Ubuntu Desktop on a Computer
-
Class 2 (September 8):
- Lab 2: Raspberry Pi OS SD Card Preparation
- Discussion on / Introduction to Python
- Assignment 1: GitHub distribution
-
Class 3 (September 15):
- Lab 3: Python Web Application
-
Class 4 (September 22):
- Questions about the Python Web Application from last class
- Lab 4: Activity of the Raspberry Pi: Intro to Python in Context - Variables, Function, Classes, Objects, Lists, Libraries, GPIO
-
Class 5 (September 29):
- Questions on Intro to Python in Context from last class
- Theory: The Client-Server Communication Model and HTTP
- Lab 5 : ESP32 MicroPython Web Server
- Term Project: Homework : Read the Term Project definition, compose teams and complete your first Term project proposal brainstorming
-
Class 6 (October 6):
- Term Project: Project Kickoff - Introduction to the project and discussion of project guidelines; start coding the Python IoT Controller framework.
- Lab 6: Telemetry with ESP32, MQTT, and Raspberry Pi
-
October 10: Term Project: Deliverable 1: Project Proposal and Basic System Schematic - Students should complete their project proposal, including a schematic representation of the system’s interconnections, and obtain teacher approval.
-
October 13: Thanksgiving, no classes
-
Thursday, October 16: Monday schedule, class cancelled
-
Class 7 (October 20):
-
Class 8 (October 27):
- Lab 7: Python IoT Controller: MQTT-Based Home Automation System CONTINUED… We previously implemented simple rule execution and needed to add mechanisms for composite rule execution as well as message logging and filtering to avoid infinite looping. -Lab 8: Python IoT Historian: Logging MQTT Data to SQLite
- Term Project: Deliverable 2: System Analysis - Teams should provide a detailed analysis of the system’s requirements, stating:
- which applications will handle which tasks
- which conditions will lead to which results
- etc.
-
Class 9 (November 3):
- Lab 8 continued
- Lab 9: Python Flask Interactive Web MQTT Data Visualization Dashboard
-
November 7: Distribution of Assignment 2
- due December 11, 11:55PM.
-
Class 10 (November 10):
- Lab 10: Access Control for Python Flask IoT Dashboard
- Work on Assignment 2 as time permits
- Term Project: Deliverable 3: Algorithm Development - Present pseudocode outlining the system’s operation.
-
Class 11 (November 17):
-
Class 12 (November 24):
- Lab 12: Production Deployment - Running IoT Services as Linux System Services
- Term Project: Deliverable 4: 50% Implementation Checkpoint - Teams should demonstrate 50% completion of the project.
November 26: Published HOW-TO: MQTT to SMS Relay Service for information purposes. If you were to use this program, consider building a service file and enabling it to provide these services on bootup.
November 27: Published HOW-TO: Raspberry Pi SSH and VNC Setup and Use to show how to set up a connection from your laptop to your Raspberry Pi avoiding the need for extra keyboard, mouse and screen.
-
Class 13 (December 1): Project debugging lab
-
Class 14 (December 8): Project presentations
- Term Project: Deliverable 5: 100% Implementation Demonstration - Teams should demonstrate the completed project. This will be the final project presentation.