Lab Bench Studios

Design, Build, Learn

Connected Devices

Programming the Internet of Things: Part IV, Chapter 11, Figure 11-5.

About the Course

Programming the Internet of Things: Part IV, Chapter 11, Figure 11-5.

This course is all about making the IoT ‘work’, and as such, involves substantial software development using Python, Java, Git source code management, and Linux shell scripting.

Connected Devices assignments are different than what you might normally see in a course. Each assignment serves as the basis for the next one, so it’s VERY IMPORTANT that you start working on each as soon as possible, as they get progressively more difficult and can take many days to implement.

Although specialized device hardware (e.g., an SBC with attached sensors and actuators) is NOT required for the course, you will need a modern computing workstation or laptop for software development and application execution. While not required, we have used the Raspberry Pi 3 or 4 as the hardware platform for testing in the past, so it’s an option for you as well. All required lab modules can technically be developed and run on a single system running Windows 11 (WSL 2), macOS, or Linux; I’ll mostly be teaching and demonstrating code using either Windows 11 / WSL 2 or macOS. That said, one of the optional lab module exercises is specific to Raspberry Pi SBC’s, although it is not required for the course. Lastly, the emulator in Lab Module 04 is generally easier to run in a native Linux environment, as are the exercises in Lab Modules 08 and 09.

See Programming the IoT – README for the Lab Module roadmap.

Course Organization and Syllabus (subject to change)

WEEKPARTTOPICTYPE
1 01Foundational Concepts and DevOps: IoT Systems ConceptsLecture/Lab
2 IoT Architectures and Edge Computing BasicsLecture/Lab
3 Quiz No. 1 (Part 01)Lecture/Quiz
402Data Simulation and
Data Emulation
Lecture/Lab
5 Data Management and IntegrationLecture/Lab
6 Quiz No. 2 (Part 02)Lecture/Quiz
703MQTT Client – Part 01 of 02Lecture/Lab
8 MQTT Client – Part 02 of 02Lecture/Lab
9 CoAP ServerLecture/Lab
10 CoAP ClientLecture/Lab
11 Edge IntegrationLecture/Lab
12 Quiz No. 3 (Part 03)Lecture/Quiz
1304Cloud IntegrationLecture/Lab
14 Quiz No. 4 (Part 04)Lecture/Quiz
15 Final Project Completion and PresentationProject Presentations