Skip to content

Files

Latest commit

 

History

History
124 lines (79 loc) · 3.98 KB

debian-openblocks-iot-bx1g-c.md

File metadata and controls

124 lines (79 loc) · 3.98 KB
platform device language
Debian GNU Linux 7
OpenBlocks IoT BX1G
c

Run a simple C sample on OpenBlocks IoT BX1G device running Debian GNU Linux 7


Table of Contents

Introduction

About this document

This document describes how to connect OpenBlocks IoT BX1G device running Debian GNU Linux 7 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

  • Add following lines in /etc/apt/sources.list

    deb http://cdn.debian.or.jp/debian/ wheezy-backports main
    deb-src http://cdn.debian.or.jp/debian/ wheezy-backports main
    deb http://http.us.debian.org/debian/ testing contrib main 
    

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:

    apt-get update
    apt-get install -y gcc-4.9 g++4.9
    apt-get install -y curl libcurl4-openssl-dev uuid-dev uuid g++ make git unzip openjdk-7-jre
    apt-get -y -t wheezy-backports cmake
    
  • 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
    
  • 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.

    ./azure-iot-sdks/c/build_all/linux/build.sh
    

3.2 Send Device Events to IoT Hub:

  • Run the sample by issuing following command:

    If using AMQP protocol:

    azure-iot-sdks/c/cmake/iotsdk_linux/iothub_client/samples/iothub_client_sample_amqp/iothub_client_sample_amqp
    

    If using HTTP protocol:

    azure-iot-sdks/c/cmake/iotsdk_linux/iothub_client/samples/iothub_client_sample_http/iothub_client_sample_http
    

    If using MQTT protocol:

    azure-iot-sdks/c/cmake/iotsdk_linux/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