Quality RTOS & Embedded Software

LIBRARIES
WHAT'S NEW
FreeRTOS SMP:
FreeRTOS security certification:
Embedded World track keynote:
FreeRTOS formal verification:

AWS IoT Device Shadow Library

Introduction

The AWS IoT Device Shadow library enables you to store and retrieve the current state (the "shadow") of every IoT device registered in your AWS IoT account. The device's shadow is a persistent, virtual representation of your IoT device that you can interact with in your applications even if the device is offline. The device state captured as its "shadow" is itself represented as a JSON document. You can send commands to the AWS IoT Device Shadow service over MQTT or HTTP to query the latest known device state, or to change the state. Each IoT device's shadow is uniquely identified by the name of the corresponding "thing". A "thing" is a representation of a specific IoT device or logical entity in the AWS Cloud. See Managing Devices with AWS IoT for more information. More details about shadows can be found in AWS IoT documentation.

AWS IoT Device Shadow library is written in C and designed to be compliant with ISO C90 and MISRA C:2012. It has no dependencies on additional libraries other than the standard C library. It also doesn't have any platform dependencies, such as threading or synchronization. It can be used with any MQTT library and any JSON library. This library has proofs showing safe memory use, and does not perform any dynamic memory allocation, making it suitable for IoT microcontrollers, but also fully portable to other platforms.

The AWS IoT Device Shadow library can be freely used and is distributed under the MIT open source license.

 

Code Size of AWS IoT Device Shadow (example generated with GCC for ARM Cortex-M)
FileWith -O1 OptimizationWith -Os Optimization
shadow.c1.2K0.7K
Total estimates1.2K0.7K
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.