Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | - | - | ||||
azure-sdk-for-c/ | 11-Mar-2024 | - | ||||
docs/ | 11-Mar-2024 | - | 3,926 | 2,743 | ||
samples/ | 11-Mar-2024 | - | 3,081 | 2,212 | ||
README.md | D | 11-Mar-2024 | 5.6 KiB | 73 | 49 | |
nx_azure_iot.c | D | 11-Mar-2024 | 28 KiB | 808 | 577 | |
nx_azure_iot.h | D | 11-Mar-2024 | 14.5 KiB | 321 | 167 | |
nx_azure_iot_adu_agent.c | D | 11-Mar-2024 | 214.3 KiB | 4,645 | 3,403 | |
nx_azure_iot_adu_agent.h | D | 11-Mar-2024 | 36.1 KiB | 818 | 377 | |
nx_azure_iot_adu_root_key.c | D | 11-Mar-2024 | 8.9 KiB | 119 | 77 | |
nx_azure_iot_hub_client.c | D | 11-Mar-2024 | 138.6 KiB | 3,469 | 2,653 | |
nx_azure_iot_hub_client.h | D | 11-Mar-2024 | 61.6 KiB | 1,008 | 228 | |
nx_azure_iot_hub_client_properties.c | D | 11-Mar-2024 | 17 KiB | 379 | 291 | |
nx_azure_iot_hub_client_properties.h | D | 11-Mar-2024 | 12 KiB | 264 | 36 | |
nx_azure_iot_json_reader.c | D | 11-Mar-2024 | 7.8 KiB | 278 | 205 | |
nx_azure_iot_json_reader.h | D | 11-Mar-2024 | 8.9 KiB | 217 | 52 | |
nx_azure_iot_json_writer.c | D | 11-Mar-2024 | 14.9 KiB | 433 | 333 | |
nx_azure_iot_json_writer.h | D | 11-Mar-2024 | 13 KiB | 306 | 52 | |
nx_azure_iot_provisioning_client.c | D | 11-Mar-2024 | 61.3 KiB | 1,434 | 1,091 | |
nx_azure_iot_provisioning_client.h | D | 11-Mar-2024 | 17.2 KiB | 291 | 98 |
README.md
1# Azure IoT Middleware for Azure RTOS 2 3Azure IoT Middleware for Azure RTOS is a platform specific library that acts as a binding layer between the Azure RTOS and the [Azure SDK for Embedded C](https://github.com/Azure/azure-sdk-for-c). Goals of this layer are following: 4 5* Expose smart client interfaces (IoTHub_Client, DeviceProvisioning_Client) for the customers, to be consumed in their application. 6* Orchestrate the interaction between Embedded C SDK and platform. 7* Provide Azure RTOS platform initialization. 8* [IoT Plug and Play](https://learn.microsoft.com/azure/iot-develop/overview-iot-plug-and-play) support. 9* Security capabilities. 10* Resource limitation aware. 11* Protocol support. 12 13## Getting Started 14 15See the following samples on how to get started on development boards with Azure IoT Middleware for Azure RTOS: 16 17Manufacturer | Device | Samples | 18| --- | --- | --- | 19| STMicroelectronics | [STM32F746GDISCOVERY](https://www.st.com/en/evaluation-tools/32f746gdiscovery.html) | [IAR](https://aka.ms/azrtos-sample/f746g-iar) • [STM32Cube](https://aka.ms/azrtos-sample/f746g-cubeide) 20| STMicroelectronics | [B-L4S5I-IOT01](https://www.st.com/en/evaluation-tools/b-l4s5i-iot01a.html) / [B-L475E-IOT01](https://www.st.com/en/evaluation-tools/b-l475e-iot01a.html) | [GCC/CMake](https://github.com/eclipse-threadx/getting-started/tree/master/STMicroelectronics/STM32L4_L4%2B) • [IAR](https://aka.ms/azrtos-sample/l4s5-iar) • [STM32Cube](https://aka.ms/azrtos-sample/l4s5-cubeide) 21| NXP | [MIMXRT1060-EVK](https://www.nxp.com/design/development-boards/i-mx-evaluation-and-development-boards/mimxrt1060-evk-i-mx-rt1060-evaluation-kit:MIMXRT1060-EVK) | [GCC/CMake](https://github.com/eclipse-threadx/getting-started/tree/master/NXP/MIMXRT1060-EVK) • [IAR](https://aka.ms/azrtos-sample/rt1060-iar) • [MCUXpresso](https://aka.ms/azrtos-sample/rt1060-mcuxpresso) 22| Renesas | [RX65N-RSK-2MB](https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/rx65n-2mb-starter-kit-plus-renesas-starter-kit-rx65n-2mb) | [GCC/CMake](https://github.com/eclipse-threadx/getting-started/tree/master/Renesas/RSK_RX65N_2MB) • [IAR](https://aka.ms/azrtos-samples/rx65n-rsk-2mb-iar) • [E2Studio CCRX](https://aka.ms/azrtos-samples/rx65n-rsk-2mb-ccrx) • [E2Studio GNURX](https://aka.ms/azrtos-samples/rx65n-rsk-2mb-gnurx) 23| Renesas | [RX65N-Cloud-Kit](https://www.renesas.com/us/en/products/microcontrollers-microprocessors/rx-32-bit-performance-efficiency-mcus/rx65n-cloud-kit-renesas-rx65n-cloud-kit) | [E2Studio CCRX](https://aka.ms/azrtos-samples/rx65n-ck-ccrx) • [E2Studio GNURX](https://aka.ms/azrtos-samples/rx65n-ck-gnurx) 24| Microchip | [ATSAME54-XPRO](https://www.microchip.com/developmenttools/productdetails/atsame54-xpro) | [GCC/CMake](https://github.com/eclipse-threadx/getting-started/tree/master/Microchip/ATSAME54-XPRO) • [IAR](https://aka.ms/azrtos-sample/e54-iar) • [MPLAB](https://aka.ms/azrtos-sample/e54-mplab) 25| MXCHIP | [AZ3166](https://aka.ms/iot-devkit) | [GCC/CMake](https://github.com/eclipse-threadx/getting-started/tree/master/MXChip/AZ3166) 26 27## Building 28 29The Azure IoT Middleware for Azure RTOS is built as part of the NetX Duo. Make sure you have defined the following macros in the `CMakeLists.txt` or `nx_user.h` when building it: 30 31Module | Macros | 32| --- | --- | 33| Azure IoT Middleware for Azure RTOS | `NX_ENABLE_EXTENDED_NOTIFY_SUPPORT`<br> `NX_SECURE_ENABLE`<br> `NXD_MQTT_CLOUD_ENABLE` 34 35Follow [`nx_user_sample.h`](https://github.com/eclipse-threadx/netxduo/blob/master/common/inc/nx_user_sample.h) to see how to define these macros in the NetX user header file. 36 37## Features 38 39Azure IoT Middleware for Azure RTOS stays as an addon module for the Azure RTOS NetX Duo. It facilitates the MQTT and TLS stacks that are also as part of NetX Duo addons. 40 41![diagram](./docs/img/diagram.png) 42 43### Basic features 44 45* Connect to Azure IoT Hub via MQTT. 46* Support of IoT Hub primitive data format: [device to cloud (D2C) message](https://learn.microsoft.com/azure/iot-hub/iot-hub-devguide-d2c-guidance), [Device Twins](https://learn.microsoft.com/azure/iot-hub/iot-hub-devguide-device-twins) and [Direct methods](https://learn.microsoft.com/azure/iot-hub/iot-hub-devguide-direct-methods). 47* Support of IoT Plug and Play data format: Telemetry, Properties and Commands. 48* Authentication: SAS Token and X.509 client certificate. 49* JSON parsers. 50 51### Device Update for IoT Hub 52 53[Device Update for IoT Hub](https://learn.microsoft.com/azure/iot-hub-device-update/understand-device-update) is an Azure service that enables you to deploy over-the-air updates (OTA) for your IoT devices. The [Device Update for IoT Hub agent](https://learn.microsoft.com/azure/iot-hub-device-update/device-update-azure-real-time-operating-system) in the IoT Middleware provides simple APIs for device builders to integrate the OTA capability easily. 54 55See the [samples](https://github.com/eclipse-threadx/samples) of semiconductor's hero development boards with detailed guides to learn configure, build and deploy the over-the-air (OTA) updates to the devices. 56 57## APIs 58 59* [nx_azure_iot](./docs/azure_rtos_iot.md) 60* [nx_azure_iot_hub_client](./docs/azure_rtos_iot_hub_client.md) 61* [nx_azure_iot_hub_client_properties](./docs/azure_rtos_iot_hub_client_properties.md) 62* [nx_azure_iot_provisioning_client](./docs/azure_rtos_iot_provisioning_client.md) 63* [nx_azure_iot_json](./docs/azure_rtos_iot_json.md) 64* [nx_azure_iot_adu_agent](./docs/azure_rtos_iot_adu_agent.md) 65 66## Need Help? 67 68Find support channels in the [Resources](https://github.com/eclipse-threadx/netxduo#resources) list. 69 70## Licensing 71 72View [Licensing](https://github.com/eclipse-threadx/netxduo#licensing) of Azure RTOS NetX Duo. 73