Reach RuView sensing hardware from the machine it is attached to — ESP32 CSI nodes (serial + UDP stream), 60 GHz MR60BHA2 / 24 GHz LD2410 mmWave radars, RPLIDAR and iPhone LiDAR — and from other machines over SSH, read-only.
68
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
Hardware tools must run on the host the device is plugged into. A cloud
agent cannot see your USB ports. Run npx @ruvnet/ruview locally, start a
local Claude Code session there (claude remote-control in the repo if you
want to drive it from the Claude app), or add the machine as an SSH host.
npx @ruvnet/ruview doctor --group python,serial,devices,remote
npx @ruvnet/ruview devices # USB VID:PID → likely ESP32 / mmWave / RPLIDAR + confirm command| Device | Command | Confirms |
|---|---|---|
| ESP32 node (USB) | ruview doctor --port <p> --probe, ruview monitor --port <p> | chip id; CSI callbacks in the serial log (the monitor never resets the node; C6/S3 USB-Serial/JTAG builds log on the native USB port) |
| ESP32 / Realtek node (network) | ruview esp32 --seconds 10 [--udp-port 5005] | per-node CSI rate, sequence loss, RSSI, CSI shapes, device vitals; Realtek RAC1 CSI and heartbeat-only senders |
| Realtek RTL8721Dx (USB, PL2303) | ruview monitor --port <p> --baud 1500000 | RUVIEW_CSI: frame # lines in the Ameba log |
| Live CSI → kernel | ruview esp32 --seconds 45 --analyze [--node-id N] [--backend napi] | kernel vitals summary at the measured frame rate (no reference measurement) |
| 60 GHz MR60BHA2 | ruview mmwave --port <p> --model mr60bha2 | valid frames, checksum errors, presence/distance/device HR+BR |
| 24 GHz LD2410 | ruview mmwave --port <p> --model ld2410 | target state and distances |
| RPLIDAR | ruview lidar --source rplidar --port <p> [--baud 115200] | points, revolutions, range, angular coverage |
| iPhone LiDAR | export RUVIEW_LIDAR_TOKEN=…; ruview lidar --source iphone --url ws://HOST:8787/ws/lidar | depth frame rate, confident fraction, median depth |
The UDP capture cannot share port 5005 with a running sensing server; stop the server or have the nodes target another port.
npx @ruvnet/ruview hosts add --name lab-pi --ssh ruv@lab-pi.local
ssh ruv@lab-pi.local true # pin the host key once
npx @ruvnet/ruview hosts run --host lab-pi --tool ruview_devices_scan
npx @ruvnet/ruview hosts run --host lab-pi --tool ruview_mmwave_read --args-json '{"port":"/dev/ttyUSB0"}'Remote hosts run a pinned @ruvnet/ruview and accept only read-only tools.
Flash, train, and calibrate on the host itself.
Device readouts are MEASURED readings, not accuracy results. mmWave
heart/breathing values are the radar's own estimates. Hardware validation
still means a captured log or stream from real silicon, recorded with the
command that produced it.
ruvnet/RuView
a1ca023
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.