This IoTConnect C SDK is intended for standard operating systems Linux/Windows/MacOS.
The SDK can be integrated with Azure IoT C SDK or Paho MQTT C Client.
The Paho MQTT implementation does not support TPM authentication.
Note that the following build options are configured by default and can be toggled with cmake flags:
- IOTC_USE_PAHO=ON - Builds with Paho MQTT Client instead of Azure IoT C SDK by default.
- IOTC_TPM_SUPPORT=ON - Adds TPM Support for Azure IoT C SDK. Requires IOTC_USE_PAHO=OFF.
The project depends on curl openssl libraries and uuid library (uuid required for for Azure C SDK flavor onl) .
Both the shared libraries and the C source headers are required to be present on the build host for building. Curl and openssl shared libraries must be present on the device when running the project.
The project uses the following dependent projects as git submodules:
- cJSON v1.7.13
- iotc-c-lib v2.0.2
- azure-iot-sdk-c lts_01_2021
- paho.mqtt.c v1.3.9
This project has git submodules that need to be pulled before building. You can either:
- Download this project from the GitHub Releases or Actions
- or Clone this repo or download and perform the following steps:
- Follow the instructions for your OS:
- Edit samples/basic-sample/config/app_config.h to reflect your account and device's configuration.
- If using CA Certificate based authentication, follow the instructions in the iotc-c-lib/tools/ecc-certs repo and create the identify for your device. Place the device certificate and private key into certs/client-crt.pem and certs/client-key.pem in the basic-sample project.
- Build or re-build the project after editing the app_config.h file.