/mbed-client-for-aws

AWS IoT SDK port for Mbed OS

Primary LanguageC++Apache License 2.0Apache-2.0

AWS IoT SDK port for Mbed OS

This library provides the port of the AWS IoT SDK for Mbed OS. It can be used to connect devices running Mbed OS to the AWS IoT Core service over MQTT.

An example demonstrating the use of this library has been provided as part of the official Mbed OS examples here.

Summary:

  1. This library depends on:
    1. AWS IoT device embedded-C SDK available here.
    2. tinycbor library available here.
  2. This SDK port follows the steps listed in AWS' developer guide found here.
  3. The "Config header" and the "Platform Types" requirements can be found in the library under mbed/include/
  4. The "Platform layer" port can be found under mbed/src/ . As a minimum, a system clock, mutex, semaphore, network implementation and an optional thread implementation are required. More details on this are provided here. The thread implementation is optional and needed for synchronization between threads while using traces for debug messages.

Note on the IoT Defender service

For now, the IoT Defender service is disabled in this port library. If you need to enable it for your project:

  • Open .mbedignore and change

    -aws-iot-device-sdk-embedded-c/libraries/aws/defender/*
    +aws-iot-device-sdk-embedded-c/libraries/aws/defender/test/*
  • Implement IotClock_SleepMs, IotSemaphore_TryWait and IotMetrics_GetTcpConnections in your application, as the Defender module depends on them. For their API requirements, search for them in the source code of aws-iot-device-sdk-embedded-c

Related Links

License and contributions

The software is provided under Apache-2.0 license. Contributions to this project are accepted under the same license.

This project contains code from other projects. The original license text is included in those source files. They must comply with our license guide.