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:
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
Please see README.md for further information on, and use of, this content.
Review the LICENSE and USAGE guidelines
Please see PIOT-DOC-LIC for license and usage information.
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.
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.
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.
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
MqttClient
withinMqttClientConnector
for this test.CDA specific instructions
GDA specific instructions
Integration specific instructions - AFTER completing Lab Module 10
MqttAsyncClient
withinMqttClientConnector
for this test.Commit and merge your Lab Module 10 branches for both the CDA and GDA