Skip to main content

Crate wireband_edge

Crate wireband_edge 

Source
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.