試してみたブログ

AI関連・iPhone/Pixelなどのガジェット・音声入力・サーマルプリンタなど興味をある事をどんどん試してみた際の記録

CO2モニタをブラウザ表示できる様にした

tameshitemita.blog

  • 昨日のエントリでCO2モニタをmacに繋いでデータを取得出来る様にした
  • ブラウザで別のmacから参照出来る様にした

  • 湿度は取得出来ないので別の速度計が接続出来れば表示する予定

    バックエンド

    • Python (3.13)
    • FastAPI — Webフレームワーク
    • Uvicorn — ASGIサーバー(port 8080)
    • SSE (Server-Sent Events) — リアルタイムデータ配信 (/api/stream)

    フロントエンド

    • 単一HTMLファイル (templates/dashboard.html) — SPA的な構成
    • Chart.js v4 (CDN) — CO2/温度/湿度のグラフ描画
    • 素のCSS — フレームワークなし、ダークテーマのカスタムスタイル
    • 素のJavaScript — フレームワークなし、EventSource APIでSSE受信

    データフロー

    1. CO2-miniセンサー → HIDデバイス読み取り(バックグラウンドスレッド)
    2. FastAPI /api/history で履歴取得、/api/stream でリアルタイム更新
    3. ブラウザ側でChart.jsにプロット