Giter Site home page Giter Site logo

iot-c's Introduction

C Client SDK

IBM Watson IoT Platform (IoTP) C Client SDK provides libraries to build and develop code for integrating and connecting devices, and applications to IBM Watson IoT Platform. This repository contains source code for IoTP C client libraries and samples. The IoTP C client comprises five shared libraries that supports asynchronous mode of operations:

  • libiotp-as-device.so - for device
  • libiotp-as-gateway.so - for gateway
  • libiotp-as-application.so - for application
  • libiotp-as-managedDevice.so - for managed device
  • libiotp-as-managedGateway.so - for managed gateway

Dependencies

\Note IoTP C client SDK build process automatically downloads and builds the dependent Paho MQTT C library. Ensure OpenSSL development package and Doxygen (if building documentation) is installed.

Build instructions

The provided GNU Makefile includes the following build steps:

  • Download Paho MQTT C source and build
  • Build IoT client libraries
  • Build IoT client samples
  • Build IoT client library tests and run tests
  • Build Documentation

From the client library base directory run:

make
sudo make -C paho.mqtt.c install
sudo make install

This will build Paho MQTT C libraries and IoTP client libraries and install the libraries.

To uninstall:

sudo make uninstall
sudo make -C paho.mqtt.c uninstall

To build the samples:

make samples

To build and run tests, and to get test execution summary:

make tests
make run-tests
make get-test-summary

To build the documentation:

make builddocs
make buildreference

Documentation

https://ibm-watson-iot.github.io/iot-c/

Supported Platforms

The client libraries are built and tested on the following platforms:

  • Linux
  • OSX

Supported Features

Feature Supported? Description
Device connectivity Yes Connect device(s) to Watson IoT Platform
Gateway connectivity Yes Connect gateway(s) to Watson IoT Platform
Application connectivity Yes Connect application(s) to Watson IoT Platform
MQTT Protocol Yes Enable clients to send events and receive commands using MQTT v3.1.1 or MQTT v5
HTTP Protocol No In a future release
TLS Support Yes Enable clients to connect securely using TLS
Client side certificate based authentication Yes Connect clients using client certificate
Auto reconnect Yes Auto reconnect
Device Management Yes Connect device as managed device to Watson IoT Platform
Gateway Management Yes Connect gateway device as managed gateway to Watson IoT Platform
Device Management Extension No Device Management Extensions. In a future release
Logging and Tracing Yes Supports custom log handler to receive client log and trace messages

iot-c's People

Contributors

durera avatar rdasgupt avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.