SebyOne Srl – Solo Logo Centrale

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 #

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

SebyOne Srl - Ultra Compact Footer