iot-core
Foundation crate for the iot-protocols SDK. Defines the data model
that every protocol implementation in the workspace agrees on:
- [
thing] — Eclipse-Ditto-styleThing/Feature/Valuedigital twin. - [
path] —PropertyPath, the protocol-agnostic address of a single value. - [
binding] —ProtocolBinding/ThingMapping, the bridge that maps aPropertyPathonto a Modbus register, an MQTT topic, a CoAP URI, or an OPC UA NodeId. - [
error] — the unified [error::IotError] every public API returns. - [
client] — the [client::IotClient] async trait every protocol crate implements alongside its native API.
Feature flags
| Feature | Adds | Default |
|---|---|---|
std |
std::error::Error impls, hashing |
✓ |
alloc |
Thing, Vec, dynamic BTreeMap maps |
✓ |
serde |
serde::{Serialize,Deserialize} derives |
|
validate |
JSON-Schema validation of Thing |
With only alloc (no std) every public type continues to work, which is
the configuration MCU targets compile.