Device SDK Overview
The Spotflow Device SDK is an open-source 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
The source code of the Device SDK is available on GitHub under the MIT license. The repository also contains the description of the architecture and the instructions for compilation and test execution.