コンテンツにスキップ

Xignage Project — Home

Xignage は、Jetson/Raspberry Pi をサイネージ端末化し、クラウドから安全に制御・配信するためのフルスタックです。
このページは システム側の総合入口として、全体像/主要リポジトリ/CI/モバイルアプリへの導線をまとめます。

全体像(System Overview)

flowchart LR
  classDef cloud fill:#eaf2ff,stroke:#4a90e2,color:#0b3d91
  classDef device fill:#eaffea,stroke:#34a853,color:#0b5b14
  classDef user fill:#fff6e5,stroke:#f5a623,color:#6b4e00
  classDef obs fill:#fff0f5,stroke:#d63384,color:#6b113a

  subgraph Cloud["Cloud (AWS)"]
    CloudAPI["EC2: Cloud API (signage-aws-nodejs)"]:::cloud
    RDS["RDS (PostgreSQL)"]:::cloud
    S3["S3 (media/logs)"]:::cloud
    IoTCore["IoT Core"]:::cloud
    CloudWatch["CloudWatch Logs/Metrics"]:::obs
  end

  Admin["Admin UI (signage-admin-ui, Adalo/Browser)"]:::user
  Device["Device (signage-server)"]:::device

  Admin -- "HTTPS" --> CloudAPI
  Device -- "HTTPS/WSS" --> CloudAPI
  CloudAPI -- "Socket.IO" --> Device

  CloudAPI -- "SQL" --> RDS
  CloudAPI -- "presign" --> S3
  Admin -- "HTTPS PUT" --> S3
  Device -- "HTTPS GET" --> S3

  Device -- "MQTT/HTTPS" --> IoTCore
  CloudAPI -- "logs/metrics" --> CloudWatch

TODO:

  • Cognito の適用範囲(WebRTC API 認証の本番有効化など)は未確認: xignage-infra-aws/lib/webrtc-api.ts

データフロー要約と設計原則の詳細は → Architecture / Overview を参照。

Note

事業面のビジョン/ユースケースは後日追記予定です。まずはシステム運用に必要な情報から整備します。

何から始める?(Quick Start)

  1. 端末セットアップsignage-jetson
    Openbox+Chromium キオスク、ネットワーク/APフォールバック、更新基盤の導入。
  2. 端末バックエンドsignage-server
    再生・プレイリスト・端末ローカルAPI/Socket.IO を提供。
  3. クラウド制御signage-aws-nodejs
    アップロード/一覧/設定/電源/バージョン等を HTTP/Socket.IO で制御。
  4. ブラウザ管理 UIsignage-admin-ui
    VITE_API_BASE で接続先を切替。
  5. エッジ検知(任意)xignage-edge-detection
    YOLOX による人物検知。最新結果を JSON にアトミック書き込み
  6. モバイル運用Mobile Apps(Adalo)
    スマホからのアップロード/操作。まずは招待制の Android / iOS で試験運用。
  7. ハード要件の確認Hardware / System Composition

パッケージと役割(Overview)

  • signage-jetson:端末の初期化・運用基盤(冪等スクリプト/分割フェーズ)
    docs
  • signage-server:端末ローカルの再生サーバ(Express + Socket.IO)
    docs
  • signage-aws-nodejsクラウド側バックエンド(REST + Socket.IO + Upload)
    docs
  • signage-admin-ui:ブラウザの管理 UIVITE_API_BASE で API 接続先を指定)
    docs
  • xignage-edge-detection人物検知パイプライン(YOLOX、将来 OpenFace 連携)
    docs

ハードウェア(Hardware)

システムを支える 筐体・電気設計・製造 の情報を集約します。
Rev 管理・BOM・CAD への導線をまとめ、ソフト要件(電源・熱・固定)との整合を確認できます。

以降、Electrical(電源/配線/BOM)、Mechanical(フレーム/CAD/組立)、Manufacturing(DFM/DFA/公差/ねじ)、Revisions(Rev A/B)を順次拡張予定。

Release Snapshot(対応バージョン)

リポジトリ 最新リリース
signage-jetson jetson release
signage-server server release
signage-aws-nodejs aws release
signage-admin-ui aws release
xignage-edge-detection edge release

より詳細な一覧は → パッケージ一覧

CI / Automation(ハブ)

各リポの CI は fmt/lint/test を基本に、ライセンス検査/Release 配布/バッジ更新を自動化。
運用ポリシー・ワークフローのカタログは → CI / Automation 概要

Tip

Release バッジは Gist の release.json を更新して Shields.io で表示します(PAT は gist 限定スコープ)。

運用チェックリスト(初期)

  • 端末接続:/api/status?deviceId=...接続中 を返す
  • メディア:/api/uploads/image|video → 一覧/サムネ API が整合
  • プレイリスト:/api/playlist(add/move/remove/thumbnail)が往復(ACK)で成功
  • 設定:/api/deviceSettings/:deviceIdget/update
  • バージョン/パッチ:/api/version/versions / api/patchMigState が 5s タイムアウト内に応答
  • 管理 UI:signage-admin-ui から API へアクセスできる(VITE_API_BASE

変更履歴 / リリース

  • 各リポの Release は vMAJOR.MINOR.PATCH(プレリリースは既定で除外)
  • 配布物:端末スクリプト(tar.gz), サーバ(tar.gz), ほか
  • バッジ反映:Release 公開時に Update Release Badge が自動更新

プレースホルダ(後日差し替え)

  • Vision / Business:プロダクトの狙い・導入価値・KPI(準備中
  • Operations:監視・アラート・SLO / SLA(準備中

ナビゲーション