cargo test 运行,完全不需要 Python。
这个 crate 是 Lager Box API 的纯 HTTP/JSON 客户端。它覆盖:
- 电源、电池仿真器、电子负载和太阳能仿真器
- GPIO、ADC、DAC、热电偶、功率计和能量分析仪
- SPI、I2C、USB 集线器端口、机械臂、摄像头和路由器
- 流式 UART
- Box 级别的能力:Box 自带的 BLE 适配器、WiFi 接口,以及 BluFi ESP32 配网
该包在 crates.io 上以
lager-net 名义发布,因为 lager 这个名字已被一个无关的 crate 占用。库目标的名称仍然是 lager,所以您的代码写的是 use lager::LagerBox;。完整的 API 参考在 docs.rs/lager-net。快速上手
把这个 crate 加到您固件工程的 dev-dependencies 中:LagerBox::connect("hostname-or-ip") 同样可用,也接受 host:port 或完整 URL。
Feature
两种客户端执行的是完全相同的请求构造器和响应解析器,因此这两条传输路径不会各自跑偏。
错误
所有调用都返回lager::Result<T>,配套单一的 Error 枚举:
要求
- 一台软件足够新、能提供
POST /net/command的 Lager Box —— 请检查lager.status()?.capabilities.net_command,或者运行lager update。 - Rust 1.75 或更高版本。
示波器 / 逻辑分析仪的工作流尚未在 Box HTTP API 上开放,因此
Scope 以有文档记录的占位实现发布,它的方法返回 Error::NotSupportedByBox。Box API 支持之后这里就会跟上;端点草案记录在该 crate 的 MISSING_ENDPOINTS.md 中。参考
入门
固件与调试
电源与仿真
测量
I/O 与通信
实用工具
指南
- 用 cargo test 做测试 —— 组织测试套件、并行度、CI
- 认证 —— 位于认证网关之后的 Box
- 异步客户端 ——
AsyncLagerBox,以及它与阻塞客户端的差异

