Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PIOT-DOC-P04-SUMMARY: Cloud Integration #192

Open
labbenchstudios opened this issue May 9, 2021 · 0 comments
Open

PIOT-DOC-P04-SUMMARY: Cloud Integration #192

labbenchstudios opened this issue May 9, 2021 · 0 comments
Labels
documentation Documentation specific requirement

Comments

@labbenchstudios
Copy link
Contributor

labbenchstudios commented May 9, 2021

Part 04: Cloud Connectivity and Final Project


About Part 04 (O'Reilly Book Link)


Part 04 is the final exercise section, and explores the cloud integration aspects of the IoT, with a focus on pulling all the pieces together to build an end-to-end IoT solution.

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 two Lab Modules:


Part 04 Summary (O'Reilly Book Link)


Key Learning Activities

  1. Overall: Learn how to connect the GDA to one or more cloud services using MQTT, and how to enhance the value of your edge tier solution using a very simple cloud-based analytics service.

  2. System Design: Learn how to integrate your GDA with one or more cloud-based IoT environments to scale your system by using the existing connection design patterns established in Part 03.

  3. Simple Analytics: Learn how to use a simple analytics service hosted within one or more cloud services to add value to your overall IoT design, finally connecting all the dots to create your end-to-end IoT solution.

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.

Part 04 Lab Module Overview


Lab Module 11

Lab Module 11 - Cloud Integration is focused on configuring your cloud service functionality and updating the GDA to support integration with the cloud service provider's MQTT service.

  • PIOT-INF-11-001: An overview of this lab module.
  • PIOT-STU-11-001: A summary of lab module and assignment submission instructions for students of Connected Devices.
  • PIOT-CFG-11-001: A summary of configuration instructions for this lab module.

GDA specific instructions

  • PIOT-GDA-11-000: Git branching instructions.
  • PIOT-GDA-11-001: Update MqttClientConnector to support the use of custom configuration sections, protected calls to publish / subscribe / unsubscribe, and the IConnectionListener callback. The latter will eventually be used to notify a listener (e.g., CloudClientConnector) when the connect / disconnect calls complete.
  • PIOT-GDA-11-002: Create the ICloudClient interface. This will be used to provide a common set of method signatures for the DeviceDataManager to use for interacting with the cloud client.
  • PIOT-GDA-11-003: Implement CloudClientConnector. This involves a significant amount of work, although much of the connectivity logic will be delegated to a locally instanced MqttClientConnector. CloudClientConnector will implement ICloudClient as well as IConnectionListener and will need to pass incoming messages back to DeviceDataManager via the IDataMessageListener interface.
  • PIOT-GDA-11-004: This exercise centers on wiring up the interactions between DeviceDataManager, CloudClientConnector, and MqttClientConnector via their various interfaces. It will involve some asynchronous message processing and may require throttling messages to the cloud service.
  • PIOT-GDA-11-005: This OPTIONAL exercise is focused on generalization of cloud client connection logic via the base class BaseCloudClient (which will implement ICloudClient). Much of the functionality contained within CloudClientConnector can be migrated to this base class. The CloudClientFactory can then be used to create a specific instance of ICloudClient via the DeviceDataManager as per the implementation details in PIOT-GDA-11-006 and PIOT-GDA-11-007.
  • PIOT-GDA-11-006: This OPTIONAL exercise is focused on the creation of a Ubidots-specific ICloudClient implementation that's derived from BaseCloudClient.
  • PIOT-GDA-11-007: This OPTIONAL exercise is focused on the creation of an AWS-specific ICloudClient implementation that's derived from BaseCloudClient.
  • PIOT-GDA-11-100: Git merge and commit instructions.

CSF specific instructions (OPTIONAL)

  • PIOT-CSF-11-000: Git branching instructions (OPTIONAL - only needed if implementing CSF requirements).
  • PIOT-CSF-11-001: This OPTIONAL exercise is focused on creation of an AWS-specific Lambda function in Python using some of the existing CDA components for data parsing.
  • PIOT-CFG-11-002 This OPTIONAL configuration exercise is focused on the creation of an AWS-specific ZIP file to be used with PIOT-CSF-11-001.
  • PIOT-CSF-11-100: Git merge and commit instructions (OPTIONAL - only needed if implementing CSF requirements).

Lab Module 12

Lab Module 12 - Semester Project is focused on completing the requirements for the Semester Project. This will involve updates to your cloud services configuration / implementation, along with new functionality added to both your GDA and CDA.

  • PIOT-INF-12-001: An overview of this lab module.
  • PIOT-STU-12-001: A summary of lab module and assignment submission instructions for students of Connected Devices (Part 1 of 2).
  • PIOT-STU-12-002: A summary of lab module and assignment submission instructions for students of Connected Devices (Part 2 of 2).

CDA specific instructions

GDA specific instructions

CSF specific instructions

  • PIOT-CSF-12-001: A summary of the requirements for your cloud services configuration / implementation.
@labbenchstudios labbenchstudios added the documentation Documentation specific requirement label May 9, 2021
@labbenchstudios labbenchstudios changed the title PIOT-DOC-P04-SUMMARY PIOT-DOC-P04-SUMMARY: Cloud Integration Jan 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Documentation specific requirement
Projects
Programming the IoT - Exercises Kanba...
  
PIOT - Part 04 - Summary
Development

No branches or pull requests

1 participant