factcircuit
FactCircuit: an auditable claim-and-evidence verification loop with immutable provenance, staged checks, bounded retrieval, and reproducible evaluation.
自宅の地震計データをリアルタイムで可視化し、震度を算出・監視する
Translation pending
AI summary · website and README
DataPython · C++GitHub @nna774OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
自宅地震計システム。IIS3DHHC 加速度センサ + ESP32 で 100Hz サンプリングし、 気象庁の計測震度算出法でリアルタイムに揺れを評価する。24時間365日稼働を目標とする。 Qiita記事「地震観測用加速度センサ5種の性能比較」 がきっかけ。 計測震度の算出ロジックは tools/jismo/ を単一の真実として持ち、 detect Lambda はこれを共有する。ファームウェアの C++ 実装(firmware/lib/Shindo)は これに対して数値照合してから使う。 送信基盤(バッチのバッファ・HMAC署名POST・LittleFS退避とバックフィル・NTP同期・ デバイス生存台帳・通知)は地震に依存しないので batch-uplink に切り出し、周波数モニタ Electabuzz と共有している。C++ は firmware/platformio.ini の lib_deps、Python は terraform/build_lambda.sh の UPLINK_VERSION で、いずれもタグで pin する。Read the full README ↗
自宅地震計システム。IIS3DHHC 加速度センサ + ESP32 で 100Hz サンプリングし、 気象庁の計測震度算出法でリアルタイムに揺れを評価する。24時間365日稼働を目標とする。
Qiita記事「地震観測用加速度センサ5種の性能比較」 (https://qiita.com/compo031/items/e62d0a0e1425c5e1efe8) がきっかけ。
[IIS3DHHC] --SPI--> [ESP32]
├─ 測定タスク(Core1): 100Hzポーリング → リングバッファ
├─ 検知タスク: リアルタイム震度を常時計算 → 閾値超えで即時アラート
└─ 送信タスク(Core0): 30秒バッチPOST / NTP / ローカル退避・バックフィル
│ HTTPS (Lambda Function URL, HMAC認証)
v
[ingest Lambda] ─→ S3 raw/YYYY/MM/DD/HH/*.bin (60日でexpire)
│ └─→ DynamoDB devices(最終受信を記録=生存台帳)
│ (非同期起動)
v
[detect Lambda] ─ 直近数分を再計算・検証
├─→ DynamoDB events(重複排除)
├─→ S3 events/<id>/ へ波形コピー(永久保存)
└─→ Slack 通知(Notifier差し替え可能)
[watchdog Lambda] ← EventBridge 定期起動。devices の最終受信からの経過を見て
└─→ 欠測を Slack 通知(1日ごと再送・受信再開で復帰通知)
[dashboard] S3+CloudFront 静的SPA ←→ [api Lambda](波形・イベント・デバイス生存)
| dir | 内容 |
|---|---|
firmware/ | ESP32 ファームウェア (PlatformIO / Arduino core) |
lambda/ | ingest / detect / api の Lambda (Python) |
terraform/ | AWS リソース定義 |
dashboard/ | 波形・イベント可視化 SPA |
tools/ | シリアルキャプチャ・震度計算・バックテスト (Python) |
docs/ | 設計メモ |
計測震度の算出ロジックは tools/jismo/ を単一の真実として持ち、
detect Lambda はこれを共有する。ファームウェアの C++ 実装(firmware/lib/Shindo)は
これに対して数値照合してから使う。
送信基盤(バッチのバッファ・HMAC署名POST・LittleFS退避とバックフィル・NTP同期・
デバイス生存台帳・通知)は地震に依存しないので
batch-uplink に切り出し、周波数モニタ
Electabuzz と共有している。C++ は
firmware/platformio.ini の lib_deps、Python は terraform/build_lambda.sh の
UPLINK_VERSION で、いずれもタグで pin する。
tools/)詳細は docs/design.md と plan.md を参照。 リポジトリの歩き方(各ドキュメントの索引・運用手順)は CLAUDE.md にまとめてある。
MIT (see LICENSE)