IOT Course Outline
Audience
College students with a background in Python.
Materials
Each student will be provided with:
- A Raspberry Pi Pico "W"
- A USB cable
- A 1/2 size breadboard
- A 128x64 OLED display
- A Time-of-flight sensor
-
Various wires
-
Each student must provide a laptop with a USB port.
- Students must run the Thonny Python IDE or similar.
- Each student must have an account on GitHub.
- Knowledge of Markdown formats is helpful but not required
We will also provide examples of GPT-4 prompts that can be used to create, extend and debug your IoT code. A generative AI account is encouraged but not required.
Content
Week 1: Introduction to IoT and Raspberry Pi Pico "W"
- Overview of IoT concepts and applications
- Case study: home health monitoring
- Introduction to Raspberry Pi Pico "W": Specifications, capabilities
- Setting up the Raspberry Pi Pico "W" environment
- Basic programming with MicroPython
- Hands-on Project: WiFi Clock
Week 2: MicroPython and the Pico Deep Dive
- Detailed exploration of MicroPython
- Differences between MicroPython and Python
- MicroPython vs. C
- Pico vs. the ESP-32
- Using multiple cores
- Basic control structures in MicroPython
- Interfacing with the Raspberry Pi Pico "W" hardware
- Tips on using generative AI to write, extend and debug
- Hands-On Project: WiFi Weather Station
Week 3: Sensors and Data Acquisition
- Overview of sensors used in IoT (temperature, motion, light, etc.)
- Interfacing sensors with Raspberry Pi Pico "W"
- The I2C Bus and sensors
- The SPI Bus and displays
- Reading and interpreting Time-of-Flight sensor data from an I2C
- Hands-on project: Reporting distance
Week 4: Networking and IoT Protocols
- Introduction to IoT communication protocols
- Connecting Raspberry Pi Pico "W" to a network via WiFI
- Sending and receiving data over the network
- Basics of network security in IoT
- The MQTT protocol for managing events
- The Matter Smart Home Standard
- Hands-on project: Web server
Week 5: Edge Computing Concepts
- Understanding edge computing in the context of IoT
- Benefits and challenges of edge computing
- Implementing basic edge computing tasks with Raspberry Pi Pico "W"
- Case studies of edge computing in IoT
- TinyML
- Hands-on project: Distance data logger
Week 6: Cloud Computing and IoT
- Introduction to cloud-computing in IoT
- Cloud platforms for IoT (AWS IoT, Azure IoT, etc.)
- Sending data from Raspberry Pi Pico "W" to the cloud
- Analyzing sensor data in the cloud
Week 7: Data Analysis at the Edge vs. Cloud
- Tradeoffs between edge and cloud data processing
- Efficiency, latency, and privacy considerations
- Architecture tradeoff analysis
- Real-world scenarios comparing edge and cloud analytics
- Group discussion and case study analysis
Week 8: Building an IoT Project (Part 1)
- Planning and designing a comprehensive IoT project
- Selecting appropriate sensors and communication protocols
- Purchasing parts: Sparkfun, Adafruit, and EBay
- Developing the edge component of the project
Week 9: Building an IoT Project (Part 2)
- Developing the cloud component of the project
- Integrating edge and cloud components
- Data analysis and interpretation
- Troubleshooting and optimizing the IoT system
Week 10: Project Presentations and Course Wrap-up
- Presentation of IoT projects by students
- Feedback sessions and group discussions
- Review of key concepts from the course
- Future trends and opportunities in IoT