Busabase
Busabase는 AI 에이전트를 위한 오픈소스(MIT) 데이터베이스 및 작업 공간입니다
5개의 소형 위성을 실시간 3D 지구본에 표시, 자원봉사 라디오 전압을 햇빛·그림자와 비교
Five small satellites on a live 3D globe: their battery voltages from volunteer radio stations, checked against sunlight and the Earth's shadow.
데이터Go · JavaScriptGitHub @supremeinferno온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
Are small satellites' batteries OK? A live 3D page built from volunteer radio data (SatNOGS), checked against sunlight and the Earth's shadow. Go, RabbitMQ, PostgreSQL, Prometheus, Kubernetes, three.js.
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Are the batteries of small satellites OK? This project listens to their radio messages and tells you, on a live page anyone can open.
Why only five? Most of the ~16,800 active satellites (Starlink, weather, GPS and so on) never make their battery data public. Only about 40 small amateur and university satellites do, in a form anyone can decode, and each one has to be checked by hand; see Satellites.
| Link | What it is |
|---|---|
| Live page | the satellites, their batteries, the 3D Earth |
| status.json | the same data as a file, for anyone to reuse (CC BY-SA 4.0) |
| orbitscreen | the sister project: every satellite in orbit, live, and the close approaches between them |
| How it fits together · Run it · Results | for developers |
The rest of this page is the technical side. The pipeline fetches the satellites' radio frames from SatNOGS, decodes them, stores the battery readings in PostgreSQL, and checks them against the lighting worked out with the SGP4 orbit model from orbitscreen and the Sun's position. Alerts go to Telegram. It runs on Docker Compose or Kubernetes, and a GitHub Action publishes the live page every hour.
The check that matters most, on real data: in the Earth's shadow, UWE-4's battery was never charging (0 of 60 beacons), which is what makes the lighting model trustworthy.
flowchart LR
NET[SatNOGS Network API] --> F[fetch]
DB[SatNOGS DB telemetry API] --> FT[fetch-telemetry]
F --> Q1[(observations queue)]
FT --> Q2[(telemetry queue)]
Q1 --> S[store]
Q2 --> S
S --> PG[(PostgreSQL)]
Q1 -.-> D1[(dead queue)]
Q2 -.-> D2[(dead queue)]
PG --> W[watch]
CT[SatNOGS DB or CelesTrak: orbit data] --> W
F & FT & S & W --> PR[Prometheus]
PR --> AM[Alertmanager] --> N[notify] --> TG[Telegram]
PR --> GR[Grafana]
Measured on real data from 14 to 22 October 2026, unless it says otherwise. The lighting check below is UWE-4's (137 beacons over 5.1 days); the others are newer to the pipeline and have less history.
| Satellites | 5 satellites, 6 batteries: UWE-4 (2 batteries, voltage, current, temperature, charge), CatSat and Sharjahsat-1 (voltage and current), SNUGLITE and GRBBeta (voltage only). 366 distinct beacons stored by 22 October, before GRBBeta was added on the 23rd. |
| Lighting model against the batteries | In the shadow, 0 of 60 beacons were charging. In sunlight, 61 of 77 were. |
| Battery rules on the same history | Replayed at each of the 137 UWE-4 readings, "discharging in sunlight" and "low voltage" never fired. The "below its own baseline" rule gave 14 false alarms in 138 readings with a short baseline and none with the one it has now, but it was only active for about two days of that history: see Battery watch. |
| Same rule on made-up readings | Three in the shadow at -300 mA (what "current is negative" would flag): no alert. Three in sunlight at -120 mA: alert, delivered to Telegram, resolved when removed. |
Failure tests (scripts/chaos.sh) | 6 breakages, 20 checks, 30 to 45 seconds, on Docker Compose and on Kubernetes: store down, RabbitMQ restart, PostgreSQL down, duplicates, a message that is not JSON. |
Throughput of store | 5,400 observations per second with one replica, 8,000 with two, 8,900 with four (draining a 20,000-message queue, Docker Compose on a laptop). See Performance. |
| Time in the pipeline | Published to stored: median 0.1 to 0.7 ms, 99th percentile under 7 ms, at 100 to 2,000 messages per second with one replica. |
| CI | gofmt, vet, tests with the race detector, go.mod, shell scripts, Prometheus and Alertmanager configuration, Kubernetes manifests (kubeconform), Docker image. Dependabot proposes updates to Go modules, GitHub Actions and Docker images. |
| Kubernetes (kind) | 11 pods running without restarts, 5 Prometheus targets up, 10 alert rules loaded. |
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗