Expand description
wireband-edge — Lightweight Wire.Band client for IoT gateway hardware.
§Architecture
[MQTT broker] ──► MqttConnector ──► WireBandClient ──► Wire.Band backend
(or serial/BLE) classify+frame ring buffer /iot/v1/ingest/batch
delta filter flush loop
retry+backoff§Minimal example
use wireband_edge::client::{WireBandClient, ClientConfig};
#[cfg(feature = "mqtt")]
use wireband_edge::mqtt::MqttConnector;
#[tokio::main]
async fn main() {
let client = WireBandClient::new(ClientConfig {
backend_url: "http://localhost:8000".into(),
device_id: "factory-rpi4".into(),
..Default::default()
});
client.start();
#[cfg(feature = "mqtt")]
MqttConnector::new("mqtt://localhost:1883", 0.02)
.run(client, vec!["sensors/#".into()])
.await
.unwrap();
}Re-exports§
pub use client::BufferedEvent;pub use client::ClientConfig;pub use client::ClientStats;pub use client::WireBandClient;pub use error::Result;pub use error::WireBandError;
Modules§
- classifier
- MQTT topic classifier and numeric delta filter.
- client
- Wire.Band edge client — ring buffer + HTTP flush loop.
- error
- frame
- Theta frame encoding and decoding.
- mqtt
- MQTT connector — bridges a broker into the Wire.Band compression pipeline.
- symbols
- Theta symbol constants — inlined for zero-dependency edge installs.