ESP32s, Jetsons, desktops, and cloud instances discover each other and share resources. A Jetson sees its connected ESP32s as "rooms" with sensor capabilities. Star, mesh, and hierarchical topologies detected automatically.
Part of the Plato ecosystem.
- FleetNode — device representation with capabilities, status, metadata
- Device types — ESP32, Jetson, Desktop, Server, Cloud, DGX
- Capability matching — find the best node for a task by required capability
- ESP32-as-room — sensors become rooms the agent can navigate
- Topology detection — star, mesh, hierarchical layout
- Resource summaries — distributed resource tracking across the fleet
use plato_fleet::*;
let local = FleetNode::new("jetson-1", DeviceType::Jetson, "Jetson Hub");
let mut fleet = Fleet::new(local);
let esp = FleetNode::new("esp-kitchen", DeviceType::ESP32, "Kitchen")
.with_capabilities(NodeCapability {
sensor_types: vec!["temperature".into(), "motion".into()],
..Default::default()
});
fleet.register(esp);
// Discover nodes
let nodes = fleet.discover();
// Find best node for a task
let best = fleet.best_node_for("run inference");
// View ESP32s as rooms
let rooms = fleet.as_rooms("jetson-1");
// Resource summary
let summary = fleet.resource_summary();The backbone of the edge computing story. openconstruct-esp32 nodes register here; openconstruct-jetson runs the hub. plato-shell uses fleet discovery to present sensor nodes as navigable rooms.
[dependencies]
plato-fleet = "0.1"MIT