Local connectivity to an edge device running AWS IoT Greengrass allows FreeRTOS devices to continue communicating, collecting data, and taking actions without a cloud connection. FreeRTOS devices can connect to the local network via Wi-Fi and Ethernet using local connectivity libraries such as Wi-Fi management. The Wi-Fi management library implements an abstraction layer for Wi-Fi features such as setup, configuration, provisioning, security, and power management.
Additionally, FreeRTOS devices can connect to AWS IoT Core via Cellular LTE-M connectivity or through a mobile device using Bluetooth Low Energy connectivity. Bluetooth Low Energy support in FreeRTOS enables you to use the standard Generic Access Profile (GAP) and Generic Attributes (GATT) profiles through a standardized API layer to create Bluetooth Low Energy applications, and use companion Android and iOS SDKs to integrate with AWS IoT functionality.
Once FreeRTOS devices are connected to the local network they can easily connect to a local edge device, like AWS IoT Greengrass Core devices, on the same local network using the AWS IoT Greengrass Discovery API. FreeRTOS makes it easy for devices to initiate the discovery process and to connect to the desired AWS IoT Greengrass Core. Local connectivity enables devices to communicate with each other at the edge, for example a security system in an office building that unlocks the door when you swipe a badge.
Cloud connectivity allows you to easily collect data and take actions on microcontroller-based devices for use in IoT applications and with other AWS cloud services. You can connect FreeRTOS devices to AWS IoT Core using MQTT-based messaging or HTTP. MQTT is a lightweight protocol with a small footprint, enabling efficient communication for constrained, microcontroller-based devices. FreeRTOS facilitates easy onboarding with standard, vendor-independent library interfaces. MQTT is a lightweight protocol with a small footprint, enabling efficient communication for constrained, microcontroller-based devices. Cloud connectivity allows devices like smart electricity meters to send back information on consumption and analyze that data with other AWS services like AWS IoT Analytics.
Support for AWS IoT features and services
Support for AWS IoT Core Device Shadows
FreeRTOS also supports the AWS IoT Core Device Shadow API with a Device Shadow library. Device Shadows create a persistent, virtual version, or “shadow,” of each device that includes the device’s latest state so that applications or other devices can read messages and interact with the device. Microcontroller-based devices, like a temperature controlled fan, can benefit from a device shadow by saving the latest state in the cloud, such as “rotating,” and then update the state to “stop,” so when the device is back online, it implements the action to stop.
Support for AWS IoT Device Defender
FreeRTOS provides an AWS IoT Device Defender library. The integration with AWS IoT Device Defender makes it easy to report on device-side metrics to detect anomalies when these metrics deviate from expected behavior. AWS IoT Device Defender also continuously audits the IoT configurations associated with your FreeRTOS devices to make sure that they comply with security best practices.
Secure device, connection, and updates
FreeRTOS comes with libraries for security, including secure cloud connection, certificate authentication, key management, and a code signing feature.
FreeRTOS manages a secure connection to the cloud using Transport Layer Security (TLS v1.2). The TLS library implements an abstraction layer for the TLS protocol which provides privacy and data integrity between two communicating applications. In order to connect to the AWS IoT Core MQTT broker, TLS client certificate authentication is required. FreeRTOS provides an abstraction layer for cryptographic object management and private key signature operations as a key management feature. Cryptographic objects are kept either in dedicated storage or in the flash memory of the main microcontroller if dedicated storage is not available. You can use the AWS IoT Device Management console with FreeRTOS devices for code signing. The code signing feature will verify the signed image on the device to ensure your device code is not compromised during deployment and updates.
You can use AWS IoT Device Management with FreeRTOS devices for an integrated OTA update solution. FreeRTOS makes deploying OTA updates for microcontroller-based devices less memory intensive by communicating those updates over a single TLS connection, shared with other AWS IoT Core communications. You provide a firmware image, select the devices to update, select a code-signing method, and schedule the update, all within the AWS IoT Device Management console. You can use OTA updates to deploy security updates, bug fixes, and new firmware updates to devices in the field.
The AWS Partner Device Catalog lists devices that fully support FreeRTOS and its features and capabilities. You can easily and quickly find supported development kits as well as off-the-shelf devices such as gateways, edge servers, sensors, and cameras for immediate project integration. It offers development kits and embedded systems to build new devices, as well as off-the-shelf-devices such as gateways, edge servers, sensors, and cameras for immediate IoT project integration.
FreeRTOS Long Term Support
With FreeRTOS Long Term Support (LTS) releases, you can rely on a FreeRTOS version that provides feature stability, and security updates and critical bug fixes for two years. This makes it easier to identify and include only recommended changes to the FreeRTOS kernel and libraries, without adding risk of introducing updates that could break an existing application. FreeRTOS LTS includes the FreeRTOS kernel and IoT libraries – FreeRTOS+TCP, coreMQTT, coreHTTP, corePKCS11, coreJSON, AWS IoT OTA, AWS IoT Jobs, AWS IoT Device Defender, AWS IoT Device Shadow. To learn more about FreeRTOS LTS libraries, please click here.
You can get started quickly by using the console to configure and download source code specific to the qualified microcontroller and use case. It contains a project file download that is tailored to your chipset, integrated development environment (IDE), and compiler. You can select only the libraries you need, saving space on your device. To learn more about getting started, visit our getting started page.
You can select the FreeRTOS OTA update job within the AWS IoT Device Management console.
AWS IoT Device Tester for FreeRTOS
AWS IoT Device Tester for FreeRTOS is a test automation tool for development boards. It provides tests to validate if AWS cloud connectivity, over-the-air-updates (OTA), and security libraries function correctly on your development boards. You can use Device Tester for FreeRTOS to easily perform testing to determine if your device will run FreeRTOS and interoperate with AWS IoT services. You can also download signed qualification reports from Device Tester and submit reports to AWS Partner Central to qualify and list devices in the AWS Partner Device Catalog.
To learn more and get started, visit the Device Tester technical documentation.