Getting started with IoTivity* on Intel Devices

Introduction

As more IoT devices are deployed into the marketplace, there is a desire to have devices that are intelligent and able to connect with each other in a common standardized way.  IoTivity is a step in this direction providing a framework that is cross platform, architecture independent, and is an open source solution for developers to use with their IoT devices.  This tutorial shows how to get started setting up a host build system, building the framework, and running a client/server example.

Prerequisites

01:  Download and Install Ubuntu* 16 - http://www.ubuntu.com

02:  Learn more about IoTivity - https://www.iotivity.org/documentation

Tutorial

01:  Install Host Packages

sudo apt-get install \
build-essential git scons libtool autoconf \
valgrind doxygen wget unzip \
libboost-dev libboost-program-options-dev libboost-thread-dev \
uuid-dev libexpat1-dev libglib2.0-dev libsqlite3-dev libcurl4-gnutls-dev

02:  Clone Repositories

git clone https://github.com/iotivity/iotivity.git
git clone https://github.com/01org/tinycbor.git extlibs/tinycbor/tinycbor -b v0.4.1
git clone https://github.com/ARMmbed/mbedtls.git extlibs/mbedtls/mbedtls -b          

03:  Build IoTivity for Intel Devices

scons TARGET_PLATFORM=x86

04:  Run the Simple Client/Server Example

            04a:  Open a new Terminal and run the Server        

export LD_LIBRARY_PATH=~/iotivity/out/linux/x86_64/release 
cd ~/iotivity/out/linux/x86_64/release/resource/examples
./simpleserver

Deploying the Simple Server

 

          04b:  Open a new Terminal and run the Client

export LD_LIBRARY_PATH=~/iotivity/out/linux/x86_64/release 
cd ~/iotivity/out/linux/x86_64/release/resource/examples
./simpleclient

Running the Simple Client that discovers the server resources

 

Summary

This tutorial got you started using the IoTivity framework on Intel Devices.  It was described how to setup the host build environment, how to build the source code, and run a client and server example project.  You are now ready to work with the framework examples and APIs for your next IoT project. 

About the Author

Mike Rylee is a Software Engineer at Intel Corporation with a background in developing embedded systems and apps for Android*, Windows*, iOS*, and Mac*.  He currently works on Internet of Things projects.        

Notices

You may not use or facilitate the use of this document in connection with any infringement or other legal analysis concerning Intel products described herein. You agree to grant Intel a non-exclusive, royalty-free license to any patent claim thereafter drafted which includes subject matter disclosed herein.

No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.

Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.

This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps.

The products and services described may contain defects or errors known as errata which may cause deviations from published specifications. Current characterized errata are available on request.

Copies of documents which have an order number and are referenced in this document may be obtained by calling 1-800-548-4725 or by visiting www.intel.com/design/literature.htm.

Intel, Intel RealSense, Intel Edison. and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.

*Other names and brands may be claimed as the property of others

© 2017 Intel Corporation.            

For more complete information about compiler optimizations, see our Optimization Notice.