microchip-pic-avr-solutions / microchip-iot-developer-guides-for-aws

Microchip IoT Developer Guides for AWS is a set of tutorials tailored to get started with your IoT Design, from embedded to cloud. Starting with the sandbox, you can play around with sending and receiving data to the cloud with almost no setup.
34 stars 6 forks source link

Microchip IoT Developer Guides for AWS

AVR-IoT and PIC-IoT board splash art

The Survival Guide for Your Embedded to Cloud Journey

Connecting an embedded design to the cloud can bring a wealth of benefits, such as advanced data insights and remote monitoring. But all too often, embedded designers who start off on their journey to the cloud don't make it. They fall into time sinks, succumb to skirmishes with pythons, or worst of all, they forget about security.

Your embedded to cloud journey shouldn’t be stressful. It should be an adventure – you should enjoy it, learn a lot, end up in the right place, and you should be done before lunch.

In the Microchip IoT Developer Guides for AWS, we have mapped out an ideal embedded to cloud journey so that you can quickly learn the basics and start designing your own deployable cloud-connected IoT application.

Let the adventure begin.

Technical Journey

Overview

Microchip IoT Developer Guides for AWS is a set of hands-on tutorials and technical articles curated to help you get started with integrated IoT design. You will start at the sandbox, where you can explore sending and receiving data to the cloud with almost no setup. When you are ready, you will securely connect the node to your own AWS account and build an example application. All of the tutorials, as well as the recommended reading path, can be seen in the Map of Resources. A short description of each tutorial can also be found in the List of Tutorials section.

Hardware Requirements

These tutorials use the AVR-IoT WA and PIC-IoT WA Boards, although the discussed concepts are applicable to most IoT Designs.

Pro Tip: if you have an AVR-IoT WG or PIC-IoT WG board, you can convert it to the AWS variant (WA) by following the instructions in this video.

Software Requirements

Embedded projects use MPLAB® X IDE and the XC8 (AVR-IoT) or XC16 (PIC-IoT) compiler.

Note that newer versions of the XC8 compiler might lead to the program not being able to fit within the program memory due to changes in the standard library. Please use version 2.32 of the XC8 compiler if this problem occurs.

The AWS Command Line Interface is required for the Connect the Board to your AWS Account tutorial.

Map of Resources

Map of resources

List of Tutorials

Access the Sandbox

An introductory tutorial that demonstrates how to connect the IoT boards to the internet in 30 seconds flat, provides real-time plotting of the board's sensor data and guides you through your first encounter with the board's firmware.

Connect the Board to your AWS Account

An introductory tutorial explaining how to securely connect either an AVR-IoT WA or PIC-IoT WA to Amazon Web Services® (AWS) through the AWS IoT Core Module. Introduces the IoT Provisioning Tool, a tool to provision the board without the need to know complex cryptography.

Your First Application - Sending and Receiving Data

A tutorial teaching you how to create a cloud-based application for the PIC-IoT and AVR-IoT Development Boards using Amazon Web Services® and the MQTT messaging protocol. You will learn how to communicate with AWS IoT Core by publishing and subscribing to custom MQTT topics, and the tutorial will also cover the embedded side of the application development.

Crash Course in Cryptography and X.509

A crash course in basic public-key cryptography, and their use in the X.509 standard. Discusses the concepts of key-pairs, encryption, signing, certificates, and how to achieve confidentiality and authenticity. Recommended for readers who desire a deeper understanding of device provisioning.

A More Thorough Look into the Provisioning Process

Explores what happens when a board is provisioned through MAR (Multi-Account Registration) and JITR (Just In Time Registration) using the IoT Provisioning Tool. The JITR method uses an AWS Lambda function to register devices and certificates in the cloud during the first connection, while the MAR method is based around pre-registered devices and certificates. Recommended for readers who desire to understand the details of how devices are authenticated.

An Introduction to Device Shadows and AWS Lambda

A tutorial demonstrating how Amazon Web Services® can be used with the PIC-IoT and AVR-IoT Development Boards to perform serverless cloud computing and to keep track of local state variables using AWS Lambda and the Device Shadow service in AWS IoT Core. The tutorial covers important aspects of both embedded and cloud development.

Visualizing Sensor Data in Jupyter Notebooks

A tutorial where sensor data from the PIC-IoT and AVR-IoT Development boards are used to construct data sets that can be visualized using the Jupyter Notebook environment in Amazon Web Services®. The tutorial covers configuration of a wide range of services, such as AWS IoT Core, AWS Lambda, AWS IoT Analytics and Amazon Sagemaker - providing a flexible platform for data exploration.

Device Monitoring in Amazon CloudWatch

A tutorial showcasing how sensor data from the PIC-IoT and AVR-IoT Development Boards can be visualized in near real-time with Amazon Web Services®. AWS IoT Core and AWS Lambda are used to route the sensor data to Amazon CloudWatch, where it is used to generate a continuously updating plot of the temperature and light level measured by the device.

Feedback and questions