Schnellstart: UESPA mit C / C++ (Desktop, Server)

Wrapper: uespa-ffi (C-ABI) · Ziele: Linux, Windows, macOS (x86_64, aarch64)

1. Konto, App-ID und LicenseCert

Lege im Developer-Portal eine App mit der App-ID deiner Anwendung an und stelle ein LicenseCert aus. Das Zertifikat ist 294 Byte groß, wird offline geprüft und gilt nur für genau diese App-ID. Details: Lizenzen, App-IDs & Mandanten.

2. Einbinden

Bibliothek bauen

bash
cargo build -p uespa-ffi --release
# -> target/release/libuespa_ffi.{a,so,dylib} + crates/uespa-ffi/include/uespa.h

3. Initialisieren und senden

c
#include "uespa.h"

static void on_event(void *user, uint32_t kind, const uint8_t *from, const uint8_t *id,
                     const char *topic, const uint8_t *data, size_t len) { /* … */ }

int32_t st;
UespaHandle *h = uespa_engine_new(0, "com.example.desktop", cert, cert_len, seed, &st);
uespa_set_event_callback(h, on_event, NULL);
uespa_bus_subscribe(h, "factory/line1/#");
uespa_bus_publish(h, "factory/line1/temp", (const uint8_t *)"21.5", 4);
for (;;) { uespa_engine_tick(h); usleep(20000); }
uespa_engine_free(h);

Hinweise

  • uespa_version() liefert die Core-Version für Support-Anfragen.
  • Das Gerät leitet immer auch Pakete anderer Apps verschlüsselt weiter (Zwangs-Hop) – zugestellt wird nur im eigenen Namespace.
  • Rendezvous für Internet-P2P: rendezvous.uespa.io:47401 (UDP), Authority: https://uespa.io/v1/authority.