🏗️
设备建模
灵活的物模型定义,支持属性、事件、动作、子模型和组件化 Slot 扩展,轻松描述复杂设备。
四大产品协同,覆盖设备管理、文件存储、数字孪生与仿真全链路
设备建模与管理,物模型定义,属性双向同步,支持海量设备接入与毫秒级响应。
文件上传与管理,MCAP 日志录制,预签名安全传输,自动轮转与断点续传。
数字孪生引擎,3D 实时可视化,场景记录与回放,支持浏览器端运行。
仿真平台,物理模拟与场景测试,与 Anima 深度集成,加速开发验证流程。
实测数据 · Intel i7 / 32GB RAM / SSD
安装 SDK
[dependencies]
astra-faber = { version = "0.1", features = ["vera", "arca"] }
tokio = { version = "1", features = ["full"] }上报设备属性
use astra_faber::{ThingsClient, ThingsConfig, PropertyValue};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let config = ThingsConfig::builder()
.server_addr("http://127.0.0.1:50051")
.model_id("temperature_sensor")
.device_id("sensor-001")
.build()?;
let client = ThingsClient::new(config).await?;
client.connect().await?;
// 上报属性
client.report("temperature", 23.5f64).await?;
client.report("humidity", 65.0f64).await?;
// 读取云端期望值
if let Some(desired) = client.get_desired("temperature") {
println!("期望温度: {}", desired.to_string_repr());
}
Ok(())
}