Projects and versions¶
Repository projects¶
This repository contains several independent ESP-IDF projects. The earlier Core / Bench-Orch comparison below describes two framework variants; it is not the complete directory inventory or evidence that every entry point executes every algorithm.
| Project | Role |
|---|---|
CODE/AIoTNode-TinySHM | Core framework |
CODE/AIoTNode-TinySHM-Bench-Orch | Registry and orchestration |
CODE/AIoTNode-TinySHM-DEMO | Demonstration |
CODE/AIoTNode-TinySHM-WSN | Configurable NODE_ROLE |
CODE/AIoTNode-TinySHM-WSNGATEWAY | Gateway variant |
CODE/AIoTNode-TinySHM-WSNLEAFNODE | Leaf variant |
DEMO/AIoTNode-TinySHM-LiveStreaming | Streaming demonstration |
AIoTNode-TinySHM-LiveStreaming | Identical copy at synchronization |
THESIS-TEST/TESTBED-OK | Thesis testbed |
THESIS-TEST/AIoTNode-TinySHM-WSN-GATEWAY-520 | Additional experiment project |
The local workspace also contains an untracked CODE/AIoTNode-TinySHM-Manifold development copy with specialized edge-chain tests. It should not be cited as a published remote version.
Check execution at the entry point. Some Bench-Orch registrations bind _stub_* no-op callbacks. Registration and orchestration work, but real processing requires real tool bindings. The current TESTBED-OK startup runs tiny_sysid_example_run() and then loops; defining the new Table 4.10 benchmark function does not establish that it ran.
The earlier approximate 2 KB Bench / 4 KB Orch figures have no recorded build conditions. Measure the selected project's link map, peak heap and workspaces before using memory figures in a deployment decision.
TinySHM — Two Code Versions for Different Needs
The TinySHM framework evolves in two tracks. Choose based on whether you need runtime orchestration.
Version Overview¶
The comparison below covers two principal ESP-IDF projects in CODE/, both sharing the same hardware drivers and core middleware. The difference is in the orchestration layer.
-
AIoTNode-TinySHM
Core framework — all signal processing, system identification, and damage assessment modules.
Middleware: TinyToolbox · TinyMath · TinyDSP · TinyAI · TinyMeasurement · TinySysid · TinyDamage
Best for: Standalone edge nodes performing data acquisition, on-device modal analysis, and damage detection.
-
AIoTNode-TinySHM-Bench-Orch
Full framework — everything in the core version, plus TinyBench and TinyOrch for runtime orchestration.
Middleware: Core + TinyBench · TinyOrch
Best for: Multi-agent systems, remote workflow orchestration via MQTT, and environments where runtime data/tool discovery is required.
Architecture Comparison¶
| Layer | TinySHM | TinySHM-Bench-Orch |
|---|---|---|
| APPLICATION | measurement, sysid, damage | TinyOrch + TinyBench + measurement, sysid, damage |
| MIDDLEWARE | TinyToolbox, TinyMath, TinyDSP, TinyAI | TinyToolbox, TinyMath, TinyDSP, TinyAI, TinyBench, TinyOrch |
| DRIVERS | WiFi, MQTT, ADXL355/367, RTC, SD, SPI, I2C, LED, RGB, ESP-NOW, Timer, RNG, Exit | Identical |
| HARDWARE | ESP32-S3 (LiftNode) | Identical |
Module Checklist¶
| Module | TinySHM | TinySHM-Bench-Orch | Description |
|---|---|---|---|
| TinyToolbox | ✅ | ✅ | Platform adaptation & utilities (TIME) |
| TinyMath | ✅ | ✅ | Vector, matrix, decomp, eigenvalues |
| TinyDSP | ✅ | ✅ | Conv, corr, FFT, FIR, IIR, DWT, ICA |
| TinyAI | ✅ | ✅ | On-device training & inference |
| TinyMeasurement | ✅ | ✅ | Online/offline/RT sensing |
| TinySysid | ✅ | ✅ | PP, FDD, EFDD, ITD, ERA, SSI |
| TinyDamage | ✅ | ✅ | Detection, localization, severity |
| TinyBench | ❌ | ✅ | Runtime named data & tool registry |
| TinyOrch | ❌ | ✅ | Processing pipeline orchestration |
When to Use Which¶
-
Dedicated data logger
→ TinySHM — acquisition, sysid, and damage on a single node. No orchestration needed.
-
Multi-node monitoring system
→ TinySHM-Bench-Orch — TinyBench enables runtime data/tool discovery across the network; TinyOrch lets you define and update processing pipelines remotely.
-
Memory-constrained edge node
→ TinySHM — saves the RAM/code footprint of Bench (~2 KB) and Orch (~4 KB).
-
Agent-driven autonomous operation
→ TinySHM-Bench-Orch — agents use
BENCH,DATA/BENCH,TOOLS/ORCH,CREATEMQTT commands to discover and orchestrate workflows at runtime.
Quick Start¶
get_idf6 in these earlier commands is a local environment alias, not a standard ESP-IDF command. See getting started for current instructions.
Changelog Highlights¶
Bench-Orch (Latest)¶
- New:
tiny_bench— runtime named registry for data slots and tools - New:
tiny_orch— step-based processing pipeline orchestration - New: MQTT commands
BENCH,TOOLS,BENCH,DATA,ORCH,CREATE,ORCH,GO - New:
tiny_bench_example.c— demonstration of put/register/list/info - Updated:
AIoTNode.cpp— integrates Bench + Orch into the main event loop - Baseline: All features from TinySHM core
TinySHM Core (Stable)¶
- All existing modules: Toolbox, Math, DSP, AI, Measurement, Sysid, Damage
- Proven on ESP32-S3 with ADXL355 accelerometer
- Supports MQTT remote command & control
- Three acquisition modes: online, offline, real-time processing
- Six OMA methods: PP, FDD, EFDD, ITD, ERA, SSI