Setup C Virtual Device
Minimal code implementing an UniquID node. It can be used to add UniquID functionalities to the AWS IoT C sdk. Please refer to the README in the repo for further informations.
Install Prerequisites
Install these packages on your machine
sudo apt install cmake
sudo apt install libcurl4-openssl-devHow to integrate in the AWS IoT C sdk
Clone the AWS-IoT-sdk
git clone https://github.com/aws/aws-iot-device-sdk-embedded-C.git -b v3.0.1Clone this repository inside the external_libs directory
cd aws-iot-device-sdk-embedded-C/external_libs/ git clone https://github.com/uniquid/uidagent-c.gitClone the uidcore-c library
git clone --recurse-submodules https://github.com/uniquid/uidcore-c.gitClone the mbedtls code
rm mbedTLS/README.txt git clone https://github.com/ARMmbed/mbedtls.git mbedTLS -b mbedtls-2.16.1Apply the provided patch, IoT-sdk.patch
cd .. git apply external_libs/uidagent-c/IoT-sdk.patch cd samples/linux/subscribe_publish_sample make
Run the C device
Copy in the "certs" directory the CA certificates chain to authenticate the aws-mqtt-proxy and the uniquid mqtt broker. The file must be named rootCA.crt
Press tab to find the right caChain file.
Copy the configuration file (example file) **
Run the sample
** The configuration can also be loaded from AWS_AGENT_CONFIG environment variable
The device will try to connect to the proxy every 10 seconds, for this reason an error message will be reported until you create an UniquID Contract between the C device and the AWS-IOT-UNIQUID-AUTHORIZER to bind these two components.
Only when both the components will receive the contract from the blockchain, the device will be able to connect.
Last updated