559caead36
Public community release. The complete working system — DSP + decoders (scripts/), web dashboard + API (dashboard/), container stack (docker/), config templates (config/) — plus APOCALYPSE-EDITION.md, the full build guide for a human or a coding agent. GPLv3 (PyEOT dependency). Scrubbed of all secrets, internal IPs, hostnames, and location detail. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.3 KiB
2.3 KiB
iSTRAIN — build stages
Primary goal: detect a train blocking your crossing, from passive RF alone. Secondary: capture and learn — radios, trains, hardware, software. Not a toy. This file renders in the dashboard's checklist panel; edit it to track your own build. Full instructions: APOCALYPSE-EDITION.md.
The plan · two radios, two bands
- Radio A (a Blog V4 is ideal) → rail VHF voice 160–162 MHz — RTLSDR-Airband demodulates your pinned road/detector channels at once (your subdivision's AAR channel is the mission).
- Radio B (any RTL-SDR) → EOT-system UHF hop — 452.9375 (head/BOT) ⇄ 457.9375 (EOT/tail), retune-in-place; ±12.5 kHz DPU neighbors watched inside each dwell.
Stage 0 · Host & dongles
- Linux host with Docker; base tools installed (rtl-sdr, ffmpeg, python3-numpy)
- DVB driver blacklisted on the host (
config/blacklist-rtl-sdr.conf);lsmod | grep dvbempty - Dongles serialized (
rtl_eeprom -s …) so services pick them by name - NOAA weather RX proves the antenna→dongle→software chain end to end
Stage 1 · Your crossing
- Railroad + subdivision identified; road channel + neighbors found (cross-checked on 2 sources)
- Nearby defect-detector mileposts noted (your early-warning tripwires)
config/istrain.confedited with YOUR voice channels
Stage 2 · Bring-up
- DSP selftests pass (
iq_hop.py --selftest,iq_channelize.py --selftest) - Stack builds and runs (
docker compose --profile radio --profile radio1001 up -d) level.jsonrefreshing; clips landing; dashboard live at:3456- First EOT decode on a real train (unit ID + brake psi + motion) 🎉
Stage 3 · Ears & polish
- Whisper transcription wired (comms band-pass first, VAD on — see APOCALYPSE §7)
- Squelch tuned to your noise floor (not a textbook number — APOCALYPSE §8)
- Standing carriers (fixed wayside boosters) identified and carded, not chased
Stage 4 · If you expose it publicly
- Read APOCALYPSE §10 (security): presentation-node read-only mode, no PUSH_KEY, proxy auth
- Antenna moved high and away from your computers — the #1 range lever
The habit that makes it work
- Keep one append-only, numbered observations log. Record findings AND retractions.