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: 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
02: 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
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
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
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.