Skip to content

Add feature list to readme file #626

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

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 32 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,15 @@
# AWS IoT Device SDK for Java v2

This document provides information about the AWS IoT device SDK for Java V2. This SDK is built on the [AWS Common Runtime](https://docs.aws.amazon.com/sdkref/latest/guide/common-runtime.html)
The **AWS IoT Device SDK for Java v2** is a rewrite of SDK v1 with some great new features. It includes many updates,
such as support for new [AWS IoT Core services](#supported-aws-iot-core-services), more detailed information about client
status, and an offline operation queue control. You can use this SDK using Maven or any build system that supports
MavenCentral as an artifact source.

*__Jump To:__*

* [Installation](#installation)
* [Using SDK](#using-sdk)
* [Features](#features-in-v2)
* [Building from source](#building-from-source)
* [Android](./documents/ANDROID.md)
* [Samples](samples)
* [Mac-Only TLS Behavior](#mac-only-tls-behavior)
Expand All @@ -14,7 +19,7 @@ This document provides information about the AWS IoT device SDK for Java V2. Thi
* [MQTT5 User Guide](./documents/MQTT5_Userguide.md)
* [Migration Guide from the AWS IoT SDK for Java v1](./documents/MIGRATION_GUIDE.md)

## Installation
## Using SDK

### Minimum Requirements

Expand All @@ -24,13 +29,6 @@ This document provides information about the AWS IoT device SDK for Java V2. Thi

[Step-by-step instructions](./documents/PREREQUISITES.md)

### Requirements to build the AWS CRT locally
* C++ 11 or higher
* Clang 3.9+ or GCC 4.4+ or MSVC 2015+
* CMake 3.1+

[Step-by-step instructions](./documents/PREREQUISITES.md)

### Consuming IoT Device SDK from Maven in your application

Consuming this SDK via Maven is the preferred method of consuming it and using it within your application. To consume the Java V2 SDK in your application, add the following to your `pom.xml` dependencies:
Expand All @@ -43,13 +41,34 @@ Consuming this SDK via Maven is the preferred method of consuming it and using i
</dependency>
```

Replace `1.25.0` in `<version>1.25.0</version>` with the latest release version for the SDK.
Look up the latest SDK version here: https://github.com/aws/aws-iot-device-sdk-java-v2/releases
## Features in v2

* All operations are non-blocking.
* MQTT5 protocol.
* First-class support for AWS IoT Core services.

### Build IoT Device SDK from source
#### Supported AWS IoT Core services

* The [AWS IoT Device Shadow](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html) service adds
shadows to AWS IoT thing objects.
* The [AWS IoT Jobs](https://docs.aws.amazon.com/iot/latest/developerguide/iot-jobs.html) allows to define a set of remote
operations that can be sent to and run on one or more devices connected to AWS IoT.
* [Fleet Provisioning](https://docs.aws.amazon.com/iot/latest/developerguide/provision-wo-cert.html) (also known as Identity
Service) is another AWS IoT service that the v2 SDK provides access to. By using AWS IoT fleet provisioning, AWS IoT can
generate and securely deliver device certificates and private keys to your devices when they connect to AWS IoT for the
first time.

## Building from source

Requirements to build the AWS CRT locally
* C++ 11 or higher
* Clang 3.9+ or GCC 4.4+ or MSVC 2015+
* CMake 3.1+

[Install Maven and Set PATH](https://maven.apache.org/install.html)

See [step-by-step instructions](./documents/PREREQUISITES.md) for more details on configuring required tools.

``` sh
# Create a workspace directory to hold all the SDK files
mkdir sdk-workspace
Expand Down
Loading