Skip to content

Next generation AWS IoT Client SDK for C++ using the AWS Common Runtime

License

Notifications You must be signed in to change notification settings

ayla-heguijin/aws-iot-device-sdk-cpp-v2

This branch is 306 commits behind aws/aws-iot-device-sdk-cpp-v2:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ec490c0 · Oct 14, 2020

History

73 Commits
Oct 14, 2020
Jan 9, 2020
Oct 12, 2020
Jun 26, 2020
Jun 26, 2020
Jun 26, 2020
Oct 14, 2020
Jun 26, 2020
Jan 18, 2019
Mar 18, 2019
Sep 30, 2020
Sep 30, 2020
Nov 13, 2018
Nov 13, 2018
Aug 6, 2020
Jun 26, 2020
Sep 30, 2020
Oct 14, 2020
Jun 4, 2019

Repository files navigation

AWS IoT SDK for C++ v2

This document provides information about the AWS IoT device SDK for C++ V2.

If you have any issues or feature requests, please file an issue or pull request.

This SDK is built on the AWS Common Runtime, a collection of libraries (aws-c-common, aws-c-io, aws-c-mqtt, aws-c-http, aws-c-cal, aws-c-auth, s2n...) written in C to be cross-platform, high-performance, secure, and reliable. The libraries are bound to C++ by the aws-crt-cpp package.

Jump To:

Installation

Minimum Requirements

  • C++ 11 or higher
  • CMake 3.1+
  • Clang 3.9+ or GCC 4.4+ or MSVC 2015+

Build from source

Automatically Build and Install AWS Dependencies

mkdir sdk-cpp-workspace
cd sdk-cpp-workspace
git clone --recursive https://github.com/aws/aws-iot-device-sdk-cpp-v2.git
mkdir aws-iot-device-sdk-cpp-v2-build
cd aws-iot-device-sdk-cpp-v2-build
cmake -DCMAKE_INSTALL_PREFIX="<absolute path sdk-cpp-workspace dir>"  -DBUILD_DEPS=ON ../aws-iot-device-sdk-cpp-v2
cmake --build . --target install

Using a Pre-Built aws-crt-cpp (Most useful for development of this package)

mkdir aws-iot-device-sdk-cpp-v2-build
cd aws-iot-device-sdk-cpp-v2-build
cmake -DCMAKE_INSTALL_PREFIX="<absolute path sdk-cpp-workspace dir>"  -DCMAKE_PREFIX_PATH="<absolute path sdk-cpp-workspace dir>" -DBUILD_DEPS=OFF ../aws-iot-device-sdk-cpp-v2
cmake --build . --target install

Building on Windows

Due to maximum path length limitations in the Windows API, we recommend enabling long paths on your development machines, or cloning to a short path like: C:\dev\iotsdk

Mac-Only TLS Behavior

Please note that on Mac, once a private key is used with a certificate, that certificate-key pair is imported into the Mac Keychain. All subsequent uses of that certificate will use the stored private key and ignore anything passed in programmatically. Beginning in v1.7.3, when a stored private key from the Keychain is used, the following will be logged at the "info" log level:

static: certificate has an existing certificate-key pair that was previously imported into the Keychain.  Using key from Keychain instead of the one provided.

Samples

Samples README

Getting Help

Use the following sources for information :

  • Check api and developer guides.
  • Check for similar issues already opened.

If you still can’t find a solution to your problem open an issue

Giving Feedback and Contributions

We need your help in making this SDK great. Please participate in the community and contribute to this effort by submitting issues, participating in discussion forums and submitting pull requests through the following channels.

More Resources

Integration with AWS IoT Services such as Device Shadow and Jobs is provided by code that been generated from a model of the service.

License

This library is licensed under the Apache 2.0 License.

About

Next generation AWS IoT Client SDK for C++ using the AWS Common Runtime

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 93.5%
  • CMake 5.1%
  • Other 1.4%