Skip to content

Latest commit

 

History

History
129 lines (77 loc) · 4.27 KB

ubuntu-acp-1104-c.md

File metadata and controls

129 lines (77 loc) · 4.27 KB
platform device language
ubuntu
acp-1104
c

Run a simple C sample on ACP-1104 device running Ubuntu


Table of Contents

Introduction

About this document

This document describes how to connect ACP-1104 device running Ubuntu with Azure IoT SDK. This multi-step process includes:

  • Configuring Azure IoT Hub
  • Registering your IoT device
  • Build and deploy Azure IoT SDK on device

Step 1: Prerequisites

You should have the following items ready before beginning the process:

Step 2: Prepare your Device

Step 3: Build and Run the sample

3.1 Build SDK and sample

  • Open a PuTTY session and connect to the device.

  • Install the prerequisite packages for the Microsoft Azure IoT Device SDK for C by issuing the following commands from the command line on your board:

    sudo apt-get update
    
    sudo apt-get install -y curl libcurl4-openssl-dev build-essential cmake git
    

    Note: This setup process requires cmake version 2.8.12 or higher.

    You can verify the current version installed in your environment using the following command:

    cmake --version
    

    This library also requires gcc version 4.9 or higher. You can verify the current version installed in your environment using the following command:

    gcc --version 
    

    For information about how to upgrade your version of gcc on Ubuntu 14.04, see http://askubuntu.com/questions/466651/how-do-i-use-the-latest-gcc-4-9-on-ubuntu-14-04.

  • Download the Microsoft Azure IoT Device SDK for C to the board by issuing the following command on the board::

     git clone --recursive https://github.com/Azure/azure-iot-sdks.git
    
  • Verify that you now have a copy of the source code under the directory ~/azure-iot-sdks.

  • Edit the following file using any text editor of your choice:

    For AMQP protocol:

    azure-iot-sdks/c/iothub_client/samples/iothub_client_sample_amqp/iothub_client_sample_amqp.c
    

    For HTTP protocol:

    azure-iot-sdks/c/iothub_client/samples/iothub_client_sample_http/iothub_client_sample_http.c
    

    For MQTT protocol:

    azure-iot-sdks/c/iothub_client/samples/iothub_client_sample_mqtt/iothub_client_sample_mqtt.c
    
  • Find the following place holder for IoT connection string:

    static const char* connectionString = "[device connection string]";
    
  • Replace the above placeholder with device connection string you obtained in Step 1 and save the changes.

  • Build the SDK using following command.

    sudo ./azure-iot-sdks/c/build_all/linux/build.sh | tee LogFile.txt
    

3.2 Send Device Events to IoT Hub:

  • Run the sample by issuing following command:

    For AMQP protocol: Run sample iothub_client_sample_amqp

    ~/cmake/iothub_client/samples/iothub_client_sample_amqp/iothub_client_sample_amqp
    

    For HTTP protocol: Run sample iothub_client_sample_http

    ~/cmake/iothub_client/samples/iothub_client_sample_http/iothub_client_sample_http
    

    For MQTT protocol: Run sample iothub_client_sample_mqtt

    ~/cmake/iothub_client/samples/iothub_client_sample_mqtt/iothub_client_sample_mqtt
    
  • See Manage IoT Hub to learn how to observe the messages IoT Hub receives from the application.

3.3 Receive messages from IoT Hub

  • See Manage IoT Hub to learn how to send cloud-to-device messages to the application.

Tips

  • If you just want to build the serializer samples, run the following commands:

    cd ./c/serializer/build/linux
    make -f makefile.linux all