Quickstart¶
This quickstart walks you through the essential steps required to bring up your first DaaS-IoT node and understand the minimal workflow needed to operate inside a DaaS-IoT overlay network.
The goal is not to cover every feature, but to help you reach a working and consistent system as quickly as possible.
1. Select Your Environment¶
Start by choosing the combination of Platform SDK and Language Binding that best fits your deployment.
DaaS-IoT currently supports:
- Operating Systems: GNU/Linux, Windows, macOS, Android
- Languages: native C++, Python, Qt/C++, Java
For a complete and up-to-date compatibility overview, refer to the
Environment Matrix.
2. Install the SDK¶
Each platform and language binding provides its own installation procedure.
Platform SDKs¶
- GNU/Linux C++ SDK → Installation
- Windows C++ SDK → Installation
- macOS C++ SDK → Installation
- Android SDK → Installation
Language Bindings¶
- Python → Installation
- Qt C++ → Installation
- Java → Installation
Each installation page contains platform-specific instructions, including package managers, bindings, and source-based builds where applicable.
3. Run Your First Node¶
Before a node can participate in a DaaS-IoT network, a minimal configuration must be defined.
A node can be started in two ways:
- Cold start — create a new node from scratch
- Warm start — restore a node from a previously saved configuration
Option A — Create a New Node (Cold Start)¶
When creating a fresh node, the following elements must be defined explicitly:
-
SID (System Identifier)
Defines the network domain the node belongs to.
Nodes can discover each other, synchronize, and exchange DDOs only if they share the same SID. -
DIN (DaaS Identifier)
Uniquely identifies the node within the SID.
It is used for addressing, routing, topology mapping, and DDO delivery. -
Communication Drivers
At least one driver must be enabled (e.g. INET4, Bluetooth, or any other platform-supported link layer).
Drivers define how packets are physically exchanged between nodes.
Once these parameters are defined, the node can:
- initialize the runtime
- join the overlay network
- validate connectivity through discovery
- enter the time synchronization phase (dATS)
Option B — Restore an Existing Node (Warm Start)¶
If a configuration file from a previous session is available, the node can be restored directly.
In this case:
- the stored SID, DIN, driver configuration, and timing parameters are automatically loaded
- only initialization and join operations are required
This approach is recommended for persistent devices and stable deployments.
4. Explore the Official Examples¶
Each SDK includes a set of official examples covering common usage patterns, such as:
- Overlay initialization
- Driver configuration
- Discovery and autonomous networking
- Time synchronization (dATS)
- Sending and receiving DDOs
- Working with typesets
- Handling frisbees
Examples are organized by platform and language:
Platform SDK Examples¶
Language Examples¶
The full examples directory is also available on GitHub:
👉 https://github.com/sebyone/daasiot-sdk/tree/main/examples
5. Next Steps¶
Once you are comfortable with the basics, continue with:
Core Concepts¶
SDK Guides¶
API References¶
DaaS-IoT is designed to be predictable, modular, and cross-platform: start small, then integrate features progressively.