Device SDKs¶
The FlexGalaxy device platform ships device-side SDKs in four languages so firmware teams implement the DDI-1 wire contract without hand-rolling mTLS, protobuf, provisioning, and MQTT plumbing.
Note
These are the on-device SDKs (firmware ↔ platform), distinct from the backend-integration SDKs (your factory service ↔ the cloud API). This page is for firmware engineers.
Languages¶
SDK |
Target |
Covers |
|---|---|---|
Python |
Linux edge devices, gateways, prototyping, virtual devices |
Full DDI-1 (§3 provisioning + §4 MQTT) |
Android / Java |
Android-based robots + tablets |
Full DDI-1 (§3 + §4) |
C |
Constrained / RTOS / bare-metal firmware |
DDI-1 device client (§3 + §4); provisioning per platform |
C++ |
Robotics stacks (ROS-adjacent), performance-sensitive firmware |
Full DDI-1 (§3 + §4) |
Every SDK conforms to the same frozen DDI v1.0 contract, so a device built against any of them passes the same conformance suite.
What the SDK does for you¶
A device SDK implements the full onboarding + steady-state flow so your firmware calls a handful of methods instead of the raw wire:
Identify + provision — presents the factory attestation token, runs the CSR provisioning pattern (on-device keypair, private key never leaves the device), and stores the returned device certificate + CA chain (§3.1–§3.2).
Secure transport — establishes mTLS for both HTTPS and MQTT using the device cert; handles reconnection + resubscription (§1, §4).
Telemetry + attributes + events — encodes payloads as
fgai.device.v1protobuf and publishes on the right topics + QoS (§4).Commands — subscribes, surfaces inbound commands to your handler, and acks over HTTPS (§4 + §3.7).
Rotation + lifecycle — rotates the certificate before expiry and surfaces revocation / blacklist as terminal states (§2.3, §5).
Onboarding flow (language-agnostic)¶
factory burn ──► identify ──► provision (CSR) ──► mTLS established
│
┌────────────────────────────────────────────┤
▼ ▼ ▼ ▼
publish telemetry report attributes receive rotate cert
+ heartbeat (§4) + ack shared (§4) commands before expiry
(§4 + §3.7) (§3.3)
Getting the SDKs¶
Device SDK access is provisioned through your integration contact as part of factory onboarding. Pin to a released SDK version and track the DDI-1 versioning policy: the contract is frozen at v1.0, so a released SDK stays wire-compatible until a future major (DDI v2).