10000 GitHub - zdev-astor/Hermes-Link: Ice blue mink
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

zdev-astor/Hermes-Link

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

⛓️ Hermes-Link

Hermes-Link is a lightweight Rust utility that bridges a microcontroller’s serial output directly to your machine — logging raw data line-by-line to disk.

No formatting. No schema. No GUI.
Just a bare-metal pipe from signal to file.


🎯 Use Case

Hermes-Link is built for hardware developers, prototyping engineers, and anyone working at the intersection of human and machine — like:

  • 🦾 Prosthetics & sensor-based limbs
  • 🧠 Wearables & motion tracking
  • 🔧 Embedded firmware testing

⚙️ What It Does

  • Connects to a microcontroller (e.g., STM32, NodeMCU, ESP32) that's interfacing with sensors, serial devices, or other peripherals
  • Streams all serial output from the microcontroller to a timestamped local log file
  • Optionally takes input from the computer and relays it to the microcontroller over the same serial connection (e.g., control commands, trigger signals)

It acts as a clean, secure, minimal bridge between your embedded system and the host — no transformation, just transfer.


💡 Example Workflow

Your microcontroller (e.g., STM32 or ESP32) is connected to sensors or serial peripherals and streams data via UART.

Start logging:

hermes-link --port /dev/ttyUSB0 --baud 115200

This creates:

logs/2025-06-17.log

Which fills with output like:

sensor=12.91,accel=3.9
sensor=13.01,accel=3.8
event=calibrate_start
...

To send a command from the host to the device, use:

hermes-link --port /dev/ttyUSB0 --baud 115200 --send "__move::step"

This relays the raw string __move::step over serial to the microcontroller.


🧰 Features

  • ✅ Simple CLI (port, baud rate, log path)
  • ✅ Daily/hourly log rotation
  • ✅ Optional input stream from host → device
  • ✅ Works fully offline, no dependencies beyond Rust

🚧 Roadmap

✅ Core MVP

  • Serial connection: select port & baud rate
  • Read from microcontroller line-by-line
  • Write to timestamped local log files
  • Graceful shutdown on interrupt (Ctrl+C)

📦 Logging System

  • Configurable log folder
  • Daily or hourly log rotation
  • Include timestamp prefix (optional toggle)
  • Optional log format: raw / JSON-wrapped

🔁 Host → Device Command Support

  • --send "<command>" flag to write from host to device
  • Optionally log sent commands with timestamp
  • Prevent echo conflicts if microcontroller echoes back

🧪 Reliability & Edge Cases

  • Auto-reconnect if port drops (optional)
  • Handle malformed lines, encoding errors
  • Catch device unplug + reconnect
  • OS-level compatibility testing (Linux/macOS/Windows)

📦 Extras (Post-MVP)

  • Config file (hermes.toml) support
  • Device whitelist / auto-detect by USB ID
  • Optional split logs by tag (e.g., sensor, event)
  • Built-in test mode (mock serial stream)

🧠 Why It Matters

Projects that link hardware to the body — prosthetics, wearables, gesture tools — need clean logging to prototype effectively. Hermes-Link keeps the human in the loop, not hidden behind abstraction.


🤝 Contribute

PRs welcome. Even small refactors. Hermes-Link should stay minimal, reliable, and offline-first.


About

Ice blue mink

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0