跳转至

工程与版本

仓库工程导航

本仓库包含多个独立 ESP-IDF 工程。下面的 Core / Bench-Orch 对比保留了早期文档的两种框架分类;它不是当前目录的完整清单,也不代表每个工程启动时都执行全部算法。

工程 角色
CODE/AIoTNode-TinySHM Core:基础框架
CODE/AIoTNode-TinySHM-Bench-Orch 数据注册与流程编排
CODE/AIoTNode-TinySHM-DEMO 演示工程
CODE/AIoTNode-TinySHM-WSN 按 NODE_ROLE 配置角色
CODE/AIoTNode-TinySHM-WSNGATEWAY 网关变体
CODE/AIoTNode-TinySHM-WSNLEAFNODE 叶子节点变体
DEMO/AIoTNode-TinySHM-LiveStreaming 新增流式演示
AIoTNode-TinySHM-LiveStreaming 同步时与上方副本一致
THESIS-TEST/TESTBED-OK 论文试验入口
THESIS-TEST/AIoTNode-TinySHM-WSN-GATEWAY-520 另一试验工程

本地工作区另有 CODE/AIoTNode-TinySHM-Manifold 开发副本,目前未纳入 Git;其入口执行专用边缘链路测试,不能作为云端已发布版本引用。

执行状态需按入口核对。 Bench-Orch 主程序中部分工具绑定 _stub_* 空回调,框架可以注册与编排这些名称,但实际信号处理需接入真实工具。TESTBED-OK 当前启动路径执行 tiny_sysid_example_run() 后进入循环;新增表 4.10 基准函数的定义不等于已经执行该基准。

早期页面中的 Bench 约 2 KB、Orch 约 4 KB 为未附构建条件的估计,不能用作当前固件的测量值。请对所选工程核对链接映射、堆峰值和工作区。

构建与验证步骤

TinySHM — 两个代码版本,满足不同需求

TinySHM 框架分为两个演进轨迹。根据是否需要运行时编排来选择。


版本概览

下方比较 CODE/ 中两个主要框架工程,共享相同的硬件驱动和核心中间件,区别在于编排层。

  • AIoTNode-TinySHM


    核心框架 — 包含所有信号处理、系统识别和损伤评估模块。

    中间件: TinyToolbox · TinyMath · TinyDSP · TinyAI · TinyMeasurement · TinySysid · TinyDamage

    适用场景: 独立边缘节点,执行数据采集、板载模态分析和损伤检测。

  • AIoTNode-TinySHM-Bench-Orch


    完整框架 — 核心版全部功能,加上 TinyBench 和 TinyOrch 实现运行时编排。

    中间件: 核心版 + TinyBench · TinyOrch

    适用场景: 多智能体系统、通过 MQTT 远程编排工作流、需要运行时数据/工具发现的场景。


架构对比

层级 TinySHM TinySHM-Bench-Orch
应用层 measurement, sysid, damage TinyOrch + TinyBench + measurement, sysid, damage
中间件 TinyToolbox, TinyMath, TinyDSP, TinyAI TinyToolbox, TinyMath, TinyDSP, TinyAI, TinyBench, TinyOrch
驱动层 WiFi, MQTT, ADXL355/367, RTC, SD, SPI, I2C, LED, RGB, ESP-NOW, Timer, RNG, Exit 完全相同
硬件层 ESP32-S3 (LiftNode) 完全相同

模块清单

模块 TinySHM TinySHM-Bench-Orch 说明
TinyToolbox ✅ ✅ 平台适配与工具(TIME)
TinyMath ✅ ✅ 向量、矩阵、分解、特征值
TinyDSP ✅ ✅ 卷积、相关、FFT、FIR、IIR、DWT、ICA
TinyAI ✅ ✅ 板载训练与推理
TinyMeasurement ✅ ✅ 在线/离线/实时三种采集
TinySysid ✅ ✅ PP, FDD, EFDD, ITD, ERA, SSI
TinyDamage ✅ ✅ 检测、定位、评估
TinyBench ❌ ✅ 运行时数据与工具命名注册表
TinyOrch ❌ ✅ 处理流程编排引擎

如何选择

  • 专用数据记录仪

    → TinySHM — 单节点采集、系统识别、损伤检测。不需要编排。

  • 多节点监测系统

    → TinySHM-Bench-Orch — TinyBench 实现跨节点运行时数据/工具发现;TinyOrch 支持远程定义和更新处理流水线。

  • 内存受限的边缘节点

    → TinySHM — 省去 Bench (~2 KB) 和 Orch (~4 KB) 的代码/内存开销。

  • 智能体驱动的自主运行

    → TinySHM-Bench-Orch — 智能体通过 BENCH,DATA / BENCH,TOOLS / ORCH,CREATE 等 MQTT 命令远程发现和编排工作流。


快速开始

以下是早期环境的命令记录,get_idf6 是当时的本地别名,并非通用 ESP-IDF 命令。当前构建步骤见快速开始。

cd CODE/AIoTNode-TinySHM-Bench-Orch
get_idf6
idf.py set-target esp32s3
idf.py menuconfig
idf.py build flash monitor
cd CODE/AIoTNode-TinySHM
get_idf6
idf.py set-target esp32s3
idf.py build flash monitor

更新亮点

Bench-Orch (最新版)

  • 新增: tiny_bench — 运行时数据槽与工具的命名注册表
  • 新增: tiny_orch — 基于步骤的处理流水线编排
  • 新增: MQTT 命令 BENCH,TOOLS、BENCH,DATA、ORCH,CREATE、ORCH,GO
  • 新增: tiny_bench_example.c — put/register/list/info 演示
  • 更新: AIoTNode.cpp — 将 Bench + Orch 集成到主事件循环
  • 基准: 保留 TinySHM 核心版的所有功能

TinySHM Core (稳定版)

  • 所有现有模块:Toolbox、Math、DSP、AI、Measurement、Sysid、Damage
  • 在 ESP32-S3 + ADXL355 加速度计上验证通过
  • 支持 MQTT 远程命令与控制
  • 三种采集模式:在线、离线、实时处理
  • 六种 OMA 方法:PP、FDD、EFDD、ITD、ERA、SSI