The NixCore X1 is a certified Azure IoT device, verfied by Microsoft and included in their IoT catalog.

Building the SDK

Information on how to build the Azure SDK can be found on the “Get Started” tab of the product page.

Linking the SDK

Once the Azure SDK is compiled into a library it can be linked into an application. Here are some Makefile lines to link the SDK to a binary using GCC


AZURE_PATH = ../path/to/azure_sdk
AZURE_CLIENT_INC = -I $(AZURE_PATH)/iothub_client/inc/
AZURE_UTIL_INC = -I $(AZURE_PATH)/c-utility/inc/
AZURE_CERTS = -I $(AZURE_PATH)/certs/

AZURE_UTIL_LIB = $(AZURE_PATH)/cmake/iotsdk_linux/c-utility/
AZURE_MQTT_LIB = $(AZURE_PATH)/cmake/iotsdk_linux/umqtt/
AZURE_CLIENT_LIB = $(AZURE_PATH)/cmake/iotsdk_linux/iothub_client/

AZURE_INCLUDE = $(AZURE_UTIL_INC) $(AZURE_CLIENT_INC) $(AZURE_CERTS)
AZURE_LIBS =  -L $(AZURE_UTIL_LIB) -L $(AZURE_CLIENT_LIB) -L $(AZURE_MQTT_LIB)
AZURE_LDFLAGS = -l:libiothub_client.a -l:libiothub_client_mqtt_transport.a
AZURE_LDFLAGS += -l:libumqtt.a -l:libaziotsharedutil.a 
AZURE_LDFLAGS += -lm -lcurl -lcrypto -lssl -lpthread
AZURE_FLAGS = -std=gnu99

# Example usage
$(CC) $(AZURE_FLAGS) $(AZURE_INCLUDE) $(OPENWRT_RFS_INC) -c main.c -o main.o
$(CC) $(AZURE_FLAGS) main.o -o main.bin $(OPENWRT_RFS_LIBS) $(AZURE_LIBS) $(AZURE_LDFLAGS)