USB setup#
USB is the most direct way to update, inspect, and configure EP01. It is also the starting point for the usual WiFi setup flow.
Verify USB discovery#
enody list
Expected output includes a device identifier and firmware version.
For a more complete view:
enody info
Linux permissions#
On Linux, create a udev rule so non-root users can access the USB device:
sudo tee /etc/udev/rules.d/99-enody-esp32.rules <<'EOF'
SUBSYSTEM=="usb", ATTR{idVendor}=="303a", ATTR{idProduct}=="1001", MODE="0660", GROUP="plugdev", TAG+="uaccess"
EOF
Add your user to plugdev if needed:
sudo usermod -aG plugdev "$USER"
Reload rules:
sudo udevadm control --reload-rules
sudo udevadm trigger
Log out and back in if group membership changed.
Monitor device logs#
enody monitor
This enables SDK log forwarding for attached runtimes. Press Ctrl+C to stop.
Rust discovery#
use enody::environment::Environment;
use enody::usb::UsbEnvironment;
#[tokio::main]
async fn main() -> Result<(), enody::Error> {
let env = UsbEnvironment::new();
for runtime in env.runtimes() {
let host = runtime.host().await?;
println!("{} {}", host.identifier(), host.version());
}
Ok(())
}