Lab Modules

Individual Module Overview

There are various modules to complete in this workshop. Each module has a specific set of objectives to complete, with the overall goal of the workshop being for you to build, program, and be able to dispense a drink. Each module is laid out in a similar manner:

  • ObjectiveA short explanation of what you will be accomplishing, and why.
  • StepsBoth high-level steps to complete the module, and a twirl-down with specific step-by-step instructions
  • CheckpointA completed list of what comes from the objectives that needs to be validated before moving on to the next steps.
  • Outcomes (optional)Depending upon the module, this section describes how the steps taken above help for the workshop or general AWS IoT development patterns.

Workshop Module List

These are the labs to complete in order:

  • 1. Architecture Overview
  • Objectives In this initial lab, we will go through the overall architecture of the CDD. At the end of the lab, you will come away with the understanding of: The cloud components for interacting with the dispenser How user accounts, things, and database entries are interrelated How the dispenser updates local status ands responds to dispense commands Steps to Complete 1. Overall Cloud Architecture When interacting with the cloud, the architecture utilizes two main paths, AWS IoT Core for MQTT communication and then a dispenser app with authentication to interact with the device and supporting databases.

  • 2. Laptop Setup
  • Objectives In this lab you will configure your laptop for the workshop. By the end of the module you will: Have a local directory or folder to hold all the files required for your dispenser Have installed and tested a device driver to communicate with the microcontroller Downloaded a command line utility to program (flashed) the microcontroller Have an open terminal or command prompt ready to issue commands, and verified that the microcontroller appears as a serial device The microcontroller is programmed, or flashed, via a USB serial connection from a computer or laptop.

  • 3. Create Account/Resources
  • ObjectivesThis lab module will walk though creation of user and account resources, and how to access your unique resources. By the end of the module you will have: Created and verified a user accountUnderstood what takes place during account creationKnow where to navigate in order to download and access your specific resources such as certificate and private key, and access other user details.Been introduced to UML sequence diagrams used to illustrate operations.

  • 4. MCU Setup & Test
  • Objectives This lab module will walk you through connecting the components to test the operation of the dispenser without having to build the entire dispenser at this time. By the end of this module you will: Have installed all the components needed to test the operation of the dispenser firmware with the cloud backend Have an understanding of what each component does Be able to communicate with the microcontroller via your laptop Building the dispenser takes up a lot of room.

  • 5. Cloud9 Dev Environment
  • Objectives This lab module will walk you through how to launch the Cloud9 IDE and download the device firmware source code. By the end of the module you will have: Installed the toolchain needed to compile and link the source code for the dispenser. Cloned the workshop repository which includes the dispenser firmware source code. Installed the supporting tools needed to compile. The AWS Cloud9 Integrated Development Environment (IDE) is a service that runs on EC2 and provides a interactive and consistent development environment.

  • 6. Develop, Flash, & Test MCU
  • Objectives In this lab module, you will complete the configuration of the dispenser firmware, download the compiled files to your laptop, and then use the tools to flash the microcontroller. At that point, the main components of the dispenser with the exception of the motor, will be fully operational. By the end of the module you will have: Modified the base firmware code to work with your specific account Compiled and downloaded the code files to your laptop Flashed the microcontroller with the compiled code on your laptop Verified it is communicating with AWS IoT by turning on and off the LED Steps to Complete Follow each step in order and use the Click to open for detailed step-by-step instructions if required.

  • 7. Review Cloud Architecture
  • ObjectivesThis lab module will walk through how the dispenser, dispenser app, and coupled services interact. It will go into level of detail specific for the workshop. If you would like to review more details, please reference the Setting Up the Workshop documentation for deeper insights. By then end of this module you will have: An understanding of the relationship between the dispenser (Thing), your Cognito user, and the DynamoDB database tables that track and log dispenser activity and state.

  • 8. Build Dispenser
  • Objectives This module provides necessary steps to build and test your drink dispenser Steps to Complete Follow each step in order and use the Open for detailed step-by-step instructions if required. Bill of Materials Verify that you have all the necessary parts. Some parts may already be installed from the previous labs, such as the 9V battery lead and ESP32-DevKitC development board into the controller board. - Base plate - 1/2" PVC Cap (white) - 1/2"x1' PVC pipe (orange) - Top, middle (with LED ring), and bottom plates for top assembly - 8 M3-6mm 25mm standoffs - 9 M3 Cap nylon nuts - 4 M3-6mm nylon screws - 4 M3-8mm nylon screws - 2 M3-12mm stainless steel screws - 1 M3 hex nut - Pump motor - 9V battery - 9v battery clip with JST-2 connector - Electronics controller board - ESP32-DevKitC development board Consult with image below for the material list: !

  • 9. Dispense a Drink!
  • Objectives Okay, this is the moment of truth. You have: Setup your laptop to flash the dispenser. From Cloud9 compiled the firmware specific for your dispenser. Flashed the microcontroller and tested the cloud capabilities and built up enough credits to operate. Optionally built the dispenser and are ready to test. With all that completed, let’s dispenser a real liquid drink. Steps to Complete Follow each step in order and use the Click to open for detailed step-by-step instructions if required.

Copyright © 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.