If you're a student of Connected Devices, clone this repository so you can capture the documentation artifacts for each Lab Module exercise you'll implement as part of this course.
If you're reading Programming the Internet of Things, whether as a student of my IoT course or for fun, you can also use this repository to help track your progress with the exercises using the simple Markdown checklists provided in each sub-directory.
Each sub-directory maps to a specific Lab Module, which also aligns to the exercises listed in Programming the Internet of Things. Within each sub-directory are the Markdown files that correlate to the documentation you can fill out related to each Chapter's exercise, as follows:
- CDA-REQ-CHECKLIST.md: Use this to check off the CDA-specific (Constrained Device App) exercise tasks for the named Lab Module. This file will only exist if there are CDA-specific tasks to complete.
- GDA-REQ-CHECKLIST.md: Use this to check off the GDA-specific (Gateway Device App) exercise tasks for the named Lab Module. This file will only exist if there are GDA-specific tasks to complete.
- CSF-REQ-CHECKLIST.md: Use this to check off the CSF-specific (Cloud Service Functions) exercise tasks for the named Lab Module. This file will only exist if there are CSF-specific tasks to complete.
- README-CDA.md: Use this to document your CDA-specific design. This file will only exist if there is CDA-specific documentation to complete.
- README-GDA.md: Use this to document your GDA-specific design. This file will only exist if there is GDA-specific documentation to complete.
- README-CSF.md: Use this to document your CSF-specific design. This file will only exist if there is CSF-specific documentation to complete.
- README-PROJECT-PROPOSAL.md: Use this to document your Semester Project Proposal. This file only exists as part of Lab Module 12.
- README-PROJECT-FINAL.md: Use this to document your Semester Project Final Write-up. This file only exists as part of Lab Module 12.
If you're reading this Markdown page, you may be asking yourself, "do I need to complete this documentation?". If...
- You're in my Connected Devices class, yes - these are required as part of each Lab Module submission.
- You're reading Programming the Internet of Things, it's completely up to you.
- Neither of the above apply to you, it's completely up to you.
Please see the following links to access exercises, errata / clarifications, and the e-book:
You can review the specific exercises for each Lab Module using the Kanban project board I setup at the following link: Programming the IoT Kanban Board
Here's the breakdown of each:
- Lab Module 01: Setup
- Lab Module 02: Create Initial Apps
- Lab Module 03: Data Simulation
- Lab Module 04: Hardware Emulation
- Lab Module 05: Data Management
- Lab Module 06: MQTT Client - CDA
- Lab Module 07: MQTT Client - GDA
- Lab Module 08: CoAP Server
- Lab Module 09: CoAP Clients
- Lab Module 10: Edge Integration
- Lab Module 11: Cloud Integration
- Lab Module 12: Semester Project
In general, PR's are disabled, at least while the codebase and documentation are being developed.
Much of the tasks and issues representing requirements within this repository will continue to evolve, so you may want to check back regularly for potential updates. Please note that this repository is still under active development - you'll likely find typos and other errata.
This README.md File - Usage and License
- The following files are © 2020 - 2022 by Andrew D. King and licensed under CC BY-NC-SA 4.0
- README.md
All {prefix}-CHECKLIST.md and Additional README-{postfix}.md Files - Usage and License
- The following template files are © 2020 - 2022 by Andrew D. King and licensed under CC BY 4.0
- CDA-REQ-CHECKLIST.md
- GDA-REQ-CHECKLIST.md
- CSF-REQ-CHECKLIST.md
- README-CDA.md
- README-GDA.md
- README-CSF.md
- README-PROJECT-PROPOSAL.md
- README-PROJECT-FINAL.md