By using AWS re:Post, you agree to the Terms of Use
/Whats the difference between AWS IoT Greengrass and AWS IoT Device Client?/

Whats the difference between AWS IoT Greengrass and AWS IoT Device Client?


With the release of AWS IoT Device Client, what is the difference between AWS IoT Greengrass and AWS IoT Device Client? When should customers use Device Client instead of Greengrass and vice-versa?

1 Answers
Accepted Answer

From the FAQ:

In its purpose, the AWS IoT Device Client is similar to FreeRTOS, AWS IoT Greengrass, and the AWS IoT Device SDKs. However, you should choose the device software that is right for your IoT project – based on your hardware choice, software environment, and use case.

  1. If you employ highly constrained devices (typically microcontroller or microprocessor based devices with <16MB RAM),

we recommend that you use FreeRTOS and the AWS IoT Device SDK for Embedded C.

  1. If you wish to use microprocessor powered IoT devices that are capable of running a Linux (Ubuntu / Debian / RHEL) distribution for simple IoT applications, have 100MHz+ compute and 64MB+ RAM, we recommend getting started with

proofs of concept on your devices with the AWS IoT Device Client. The AWS IoT Device Client is a reference implementation that uses the AWS IoT C++ v2 SDK. You will be able to edit and optimize the IoT Device Client for your use case using the support libraries in the AWS IoT v2 Device SDKs. AWS IoT Device SDKs enable you to build and customize your own IoT device code by providing support libraries, developer guides, and samples. You can also use the SDKs when you want to edit the AWS IoT Device Client to for your use case, or when you are adding custom functionality to Greengrass devices.

  1. If you have microprocessor powered IoT devices, want to accelerate the development of your device applications using

pre-built processing and connectivity capabilities, and want to remotely deploy and manage device software at the edge, we recommend using AWS IoT Greengrass. The AWS IoT Greengrass v2 facilitates a “managed device” experience that enables local processing, messaging, data management, and ML inference. It provides an open-source edge runtime that runs on devices with microprocessors (1GHz+ compute, 96MB+ RAM, 60MB persistent memory) that run Linux, MacOS, or Windows. It supports advanced edge capabilities such as (1) prebuilt software components to accelerate and simplify software development, deployment, and management across your device fleets, (2) choice of local execution environment such as Lambda functions, native OS processes, Docker containers and/or bring your own runtime , (3) local messaging and connectivity of leaf devices over MQTT (in the case of a gateway deployment), and (4) support for offline processing and communications in disconnected use cases.

answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions