49 lines
1.2 KiB
Protocol Buffer
49 lines
1.2 KiB
Protocol Buffer
syntax = "proto3";
|
||
|
||
package sensor_stream;
|
||
|
||
// 传感器数据推送服务 —— Rust 端作为 gRPC client 推送实时帧
|
||
service SensorPush {
|
||
rpc Upload (stream SensorFrame) returns (UploadResponse);
|
||
}
|
||
|
||
// 导出后处理服务 —— Rust 导出 CSV 后将路径发给 Python 做梯度过滤
|
||
service ExportProcessor {
|
||
rpc ProcessFile (ProcessRequest) returns (ProcessResponse);
|
||
}
|
||
|
||
// 一帧传感器数据
|
||
message SensorFrame {
|
||
uint64 seq = 1;
|
||
uint64 timestamp_ms = 2;
|
||
uint32 rows = 3;
|
||
uint32 cols = 4;
|
||
repeated uint32 matrix = 5;
|
||
double resultant_force = 6;
|
||
uint32 dts_ms = 7;
|
||
}
|
||
|
||
// 上传确认响应
|
||
message UploadResponse {
|
||
bool ok = 1;
|
||
uint64 frames_received = 2;
|
||
string message = 3;
|
||
}
|
||
|
||
// 导出处理请求
|
||
message ProcessRequest {
|
||
string csv_path = 1; // 导出的 CSV 文件路径
|
||
bool save_as_xlsx = 2; // 是否以 xlsx 保存(删除源 CSV)
|
||
}
|
||
|
||
// 导出处理响应
|
||
message ProcessResponse {
|
||
bool ok = 1;
|
||
string output_path = 2; // 输出文件路径
|
||
uint32 groups_used = 3; // 分组数
|
||
double mean_value = 4; // 均值
|
||
double threshold = 5; // 梯度阈值
|
||
uint32 rows_total = 6; // 原始行数
|
||
uint32 rows_kept = 7; // 保留行数
|
||
string message = 8;
|
||
} |