Posted On: Jul 21, 2022

The AWS IoT Device Client is a free, open-source, and modular device-side reference implementation written in C++ that you can compile and install on IoT devices. It allows device developers to access AWS IoT Core, AWS IoT Device Management, and AWS IoT Device Defender features with minimal device side code. The Device Client works on devices with common microprocessors (x86_64 and ARM architectures), and common Embedded Linux software environments (e.g. Debian, Ubuntu, and RHEL).

The latest version of the AWS IoT Device Client (v1.7) is now available for download. This new version makes four new capabilities available to you by default: provisioning with Secure Elements, connecting to AWS IoT from behind an HTTP Proxy, publishing sensor data over MQTT, and compatibility with IoT Core Named Shadows.

  • First, the AWS IoT Device Client now provides support for cryptographic hardware with the PKCS#11 interface. You can use it to provision IoT devices that come with inbuilt Secure Elements (SEs) like Hardware Security Modules (HSMs) or Trusted Platform Modules (TPMs). The client currently offers a reference integration with SoftHSM which can be replaced with any compatible PKCS#11 library at runtime.
  • Second, the device client now provides an optional configuration where you can specify your HTTP proxy server details and authentication credentials. This enables your IoT device to connect to AWS IoT from within your secure network through an HTTP Proxy.
  • Third, with the Device Client’s new Sensor Publish feature, you can now connect a sensor to your IoT device, define a configuration (e.g. a sampling frequency, a source UNIX domain socket, and a destination MQTT topic), and stream that sensor’s data directly to AWS IoT Core on an MQTT topic of your choice.
  • Lastly, you can now also use the Device Client’s Named Shadows feature to report and remotely manage your device properties, configuration or state from the cloud. The reference implementations provided with the Device Client are pre-built to work with AWS IoT Core Named Shadows on the cloud.

To get started on your device, download the AWS IoT Device Client source code from GitHub. Take advantage of our guided workshop to create a quick Proof-of-Concept and explore select AWS IoT features with the AWS IoT Device Client. To connect, manage, or secure your IoT devices on AWS, log in to the AWS IoT Management Console or use CLI. To learn more about AWS IoT Core, AWS IoT Device Management, and AWS IoT Device Defender, visit our developer guide.