Using AWS IoT Device Tester for FreeRTOS - FreeRTOS

Using AWS IoT Device Tester for FreeRTOS

You can use AWS IoT Device Tester (IDT) for FreeRTOS to verify that the FreeRTOS operating system works locally on your device and can communicate with the AWS IoT Cloud. Specifically, it verifies that the porting layer interfaces for the FreeRTOS libraries are implemented correctly. It also performs end-to-end tests with AWS IoT Core. For example, it verifies your board can send and receive MQTT messages and process them correctly. The tests run by IDT for FreeRTOS are defined in the FreeRTOS GitHub repository.

The tests run as embedded applications that are flashed onto your board. The application binary images include FreeRTOS, the semiconductor vendor’s ported FreeRTOS interfaces, and board device drivers. The purpose of the tests is to verify the ported FreeRTOS interfaces function correctly on top of the device drivers.

IDT for FreeRTOS generates test reports that you can submit to AWS IoT to add your hardware to the AWS Partner Device Catalog. For more information, see AWS Device Qualification Program.

IDT for FreeRTOS runs on a host computer (Windows, macOS, or Linux) that is connected to the board to be tested. IDT executes test cases and aggregates results. It also provides a command line interface to manage test execution.

In addition to testing devices, IDT for FreeRTOS creates resources (for example, AWS IoT things, FreeRTOS groups, Lambda functions, and so on) to facilitate the qualification process.

To create these resources, IDT for FreeRTOS uses the AWS credentials configured in the config.json to make API calls on your behalf. These resources are provisioned at various times during a test.

When you run IDT for FreeRTOS on your host computer, it performs the following steps:

  1. Loads and validates your device and credentials configuration.

  2. Performs selected tests with the required local and cloud resources.

  3. Cleans up local and cloud resources.

  4. Generates tests reports that indicate if your board passed the tests required for qualification.

The following diagram shows the test infrastructure setup.

            Flowchart that shows how AWS IoT Core interacts with your computer and the microcontroller.

To run IDT for FreeRTOS, you can use the test resources. There are two types of resources:

  • A test suite is the set of test groups used to verify that a device works with particular versions of FreeRTOS.

  • A test group is the set of individual tests related to a particular feature, such as BLE and MQTT messaging.

For more information, see AWS IoT Device Tester for FreeRTOS test suite versions.