programming-the-iot / book-exercise-tasks

This repo is for issues / tasks ONLY. All programming and related exercises for each chapter of 'Programming the Internet of Things' are listed here.
Other
11 stars 12 forks source link

PIOT-DOC-P03-SUMMARY: Edge Connectivity #176

Open labbenchstudios opened 3 years ago

labbenchstudios commented 3 years ago

Part 03: Edge Device Connectivity


About Part 03 (O'Reilly Book Link)


Part 03 explores the connectivity aspects of the IoT, with a focus on integrating the CDA and GDA using one or more messaging protocols.

This content summarizes the lab module exercises as a companion to the content in the following book sections and chapters from Programming the Internet of Things. They are intended to be used together:

It's comprised of five Lab Modules:


Part 03 Summary (O'Reilly Book Link)


Key Learning Activities

1) Overall: Learn the basics IoT edge device integration using one or more messaging protocols, specifically MQTT and CoAP.

2) System Design: Learn how messaging layer / protocol abstractions can be used to define integration approaches across multiple edge tier applications, and set the stage for cloud integration, without major refactoring.

3) Message Processing: Learn how to process data from the CDA within the GDA, make relevant decisions for the system, and pass specific instructions back to the CDA for processing.

Review the README

Review the LICENSE and USAGE guidelines


Part 03 Lab Module Overview


Lab Module 06

Lab Module 06 - MQTT Client - Part 1 is focused on building an MQTT client as part of the CDA's functionality.

CDA specific instructions


Lab Module 07

Lab Module 07 - MQTT Client - Part 2 is focused on building an MQTT client as part of the GDA's functionality.

GDA specific instructions


Lab Module 08

NOTE: Choose either the GDA or CDA for the CoAP Server. This will be the other way around for your Lab Module 09 CoAP Client (e.g., if you choose the GDA for your CoAP Server, choose the CDA for your CoAP Client, and vice versa).

Lab Module 08 - CoAP Server(s) is focused on building a CoAP server within either the CDA or GDA. Although the instructions center on the GDA as the CoAP server (for reasons discussed in class), the CDA can be used as the CoAP server instead.

CDA specific instructions

GDA specific instructions


Lab Module 09

NOTE: Choose either the GDA or CDA for the CoAP Client. This will be the other way around for your Lab Module 08 CoAP Server (e.g., if you choose the GDA for your CoAP Server, choose the CDA for your CoAP Client, and vice versa).

Lab Module 09 - CoAP Client(s) is focused on building a CoAP client within either the CDA or GDA. Although the instructions center on the CDA as the CoAP client (for reasons discussed in class), the GDA can be used as the CoAP client instead.

CDA specific instructions

GDA specific instructions


Lab Module 10

Lab Module 10 - Edge Integration - CDA and GDA is focused on passing messages between the CDA and GDA using CoAP and / or MQTT, as well as testing performance of these two protocols. There's also a short introduction to the use of encryption for MQTT connectivity, which will be required for portions of this lab module as well as Lab Modules 11 and 12.

Create Lab Module 10 branches for both the CDA and GDA

Integration specific instructions - BEFORE implementing Lab Module 10

CDA specific instructions

GDA specific instructions

Integration specific instructions - AFTER completing Lab Module 10

Commit and merge your Lab Module 10 branches for both the CDA and GDA