DaaS-IoT SDK – Developer Technical Manual
Version: 1.0
Date: October 2025
Author: Sebyone Srl
License: Mozilla Public License 2.0
Project: DaaS-IoT SDK (Linux)
—
Table of Contents #
- 1. Introduction
- 2. Architecture
- 3. Directory Structure
- 4. Build & Installation
- 5. API Overview
- 6. Usage Example
- 7. Contact
—
1. Introduction #
This manual provides a technical overview of the DaaS-IoT SDK for Linux, based on the static library libdaas.a.
The SDK provides a lightweight, portable wrapper that simplifies integration of the DaaS communication layer into third-party systems, command-line tools, and embedded applications.
The SDK uses CMake FetchContent to automatically download the precompiled static library and headers from the official DaaS-IoT release server.
2. Architecture #
+---------------------------+
| Application |
+---------------------------+
|
v
+---------------------------+
| DaaS Wrapper (C++) |
+---------------------------+
|
v
+---------------------------+
| libdaas.a (C++ core) |
+---------------------------+The wrapper exposes a clean API to initialize nodes, configure drivers, map remote nodes, and exchange DDOs (Data Delivery Objects).
3. Directory Structure #
daas-sdk-linux/ ├── contrib/hardware/ # Hardware documentation or HAL ├── daasiot/ │ ├── include/ # Public headers and wrapper definitions │ ├── src/ # C++ source code │ ├── lib/ # Precompiled libdaas.a │ └── CMakeLists.txt # Static wrapper build configuration ├── examples/ │ └── DAASCLI/ # CLI example for basic testing ├── CMakeLists.txt # Root build configuration
4. Build & Installation #
Prerequisites #
- GCC/G++ >= 9
- CMake >= 3.20
- Linux x86_64 (also tested on aarch64)
1) Get MD5 checksum #
Download the .md5 file from:
https://daasiot.com/releases/libdaas/v-0.20.01/linux/gcc/libdaas-0201-linux-gcc.tar.gz.md5
Copy the hash value.
2) Configure with CMake #
cmake -S . -B build -DDAAS_VERSION=0.20.01 -DDAAS_FILETAG=0201 -DDAAS_MD5=<paste_the_md5_here> -DCMAKE_BUILD_TYPE=Release
Parameters:
– DAAS_VERSION — LibDaaS release version (e.g. 0.20.01)
– DAAS_FILETAG — short tag used in the filename (e.g. 0201)
– DAAS_MD5 — checksum value from the .md5 file
3) Build #
cmake --build build --config Release
The static library and headers will be automatically fetched and linked during the build.
4) Upgrading to a new version #
When a new LibDaaS release is available, simply update:
- DAAS_VERSION
- DAAS_FILETAG (if changed)
- DAAS_MD5 (copied from the new .md5 file)
No other changes are required.
5. API Overview #
Constructor #
DaasWrapper(const char* config_path, IDaasApiEvent* handler);
Core Functions #
daas_error_t doInit(din_t sid, din_t din); daas_error_t doPerform(performs_mode_t mode); daas_error_t enableDriver(link_t link, const char* uri); daas_error_t map(din_t din, link_t link, const char* uri); daas_error_t push(din_t din, DDO& ddo); daas_error_t pull(din_t din, DDO** inbound); const char* getVersion();
6. Usage Example #
#include "daas_wrapper.h"
class MyEventHandler : public IDaasApiEvent {
public:
void dinAcceptedEvent(din_t din) override {
std::cout << "DIN accepted!" << std::endl;
}
};
int main() {
MyEventHandler handler;
DaasWrapper wrapper(nullptr, &handler);
wrapper.doInit(100, 102);
wrapper.doPerform(PERFORM_CORE_THREAD);
wrapper.doEnd();
return 0;
}7. Contact #
- Sebyone Srl
- Email: info@sebyone.com
- Project: DaaS-IoT SDK
- License: Mozilla Public License 2.0
---
© 2025 Sebyone Srl. All rights reserved.
Last updated: Ottobre 23, 2025 at 1:53 PM