Skip to main content

Device SDK Overview

The Spotflow Device SDK is a library that enables you to connect your Devices to the Spotflow IoT Platform. The Device SDK provides the following features:

  • Simple interface: Instead of manually calling the Platform API and communicating via MQTT, you can use the provided libraries for Python, C, and Rust.
  • Data persistence: All the Messages are temporarily stored in a local database file until they are successfully sent to the Platform. Therefore, you don't have to worry about losing data if connection fails or the Device restarts.
  • Connection handling: The Device SDK automatically reconnects to the Platform in the case of an Internet connection failure.

Requirements

In general, it should be possible to compile the Device SDK for any operating system that supports the following:

  • File system: The local database file is essential for ensuring data persistence.
  • Threading: Multiple threads handle the connection in the background, making the public interface of the Device SDK simple.

The requirements of the Python and C libraries list the specific combinations of operating systems and CPU architectures for which we currently compile the Device SDK. Contact us if you need the Device SDK for a different combination.

The documentation of the Rust crate lists all the combinations of operating systems and CPU architectures for which we regularly test that it can be compiled. However, you should be able to compile it for a different combination if you install the corresponding Rust toolchain.

Source Code

Although we distribute the Rust crate as a source code package, the source code for the Python and C libraries is not yet available. We're working on making the whole Device SDK open-source. If you want early access to the source code, contact us and describe your use case.