Astarte device SDKs

Introduction

Astarte Device SDKs are ready to use libraries that provide communication and pairing primitives. They allow to connect any device to an Astarte instance. While an SDK is not strictly required to connect an application to Astarte using MQTT, it enables rapid development and a pleasant developer experience.

Astarte Device SDKs should not be confused with client SDKs, as they are not meant for client to device communications. If one is interested in an abstraction layer on top of existing APIs instead, an optional Astarte Client SDK (such as astarte-go ) is to be used.

Under the hood Astarte Device SDKs make use of MQTT, BSON, HTTP, persistence and crypto libraries to implement Astarte MQTT v1 Protocol and all the other useful features.

They can be easily integrated into new or existing IoT projects written in any of the supported languages or platforms.

At the moment the following SDKs are available:

Language

Platform

Source code

Documentation

Guide

C

Espressif

GitHub

API docs

Get started

C

Zephyr

GitHub

API docs

Get started

C++

Qt5

GitHub

Get started

C#

GitHub

API docs

Get started

Elixir

GitHub

Get started

Go

GitHub

API docs

Get started

Java

Android/Generic

GitHub

API docs

Get started

Python

GitHub

API docs

Get started

Rust

GitHub

API docs

Get started

Further languages and platforms will be supported in the near future. Requests for new SDKs are welcome.