0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Grafana + InfluxDBでリアルタイム可視化しよう!【とりあえずやってみる】

Last updated at Posted at 2024-12-10

シリーズ

あくまで予定ですが,こんな感じで書いていこうかなーと思ってます.

  1. 【とりあえずやってみる】編 <- イマココ
  2. 【自分好みに作りたい】編 <- (2024/12/17公開予定)
  3. 【リアルタイム可視化機能を作った背景】編 <- (未着手)
  4. 【技術について理解する】編 <- (未着手)

本来は背景を先に書くべきですが,都合上HowToの部分を先に示します.

背景

CanSatチームFUSiONMission-5では,「宇宙でも使えるOBCを使ったCanSat」というコンセプトのもと,開発を行い2024種子島ロケットコンテストに参加し,ベストプレゼンテーション賞をいただくことができました.
FUSiON では(一部未完成のSubSystemを除いて)GitHubにてソフトウェア等を公開しています.

目的

今回解説するのはMission-5の地上局の使い方です.
本記事では地上局のセットアップとしてとりあえずサンプルを動かすというところをやってもらおうと思います!
また、本記事はゆる募 Advent Calendar 2024/12/10として書いていたりしますー
※あくまで利用法の一つの記事であり,GrafanaやInfluxDBの公式記事ではありません.

対象者層

  • リアルタイムでデータを可視化したい人
    • センサデータの時間履歴
    • ローバ等のGNCデータのリアルタイム表示
    • 常微分方程式を解くようなシミュレータの結果のリアルタイム表示

元はCanSatや宇宙機の地上局の簡易版として作ったものですが,結果的に様々な用途が考えられると思うのでとりあえず動かせる環境がPCにあるといろいろ便利な気はします!

可能な限り丁寧に説明しているつもりなのでぜひご覧ください.

GrafanaとInfluxDBについて

これらは,可視化ツールと時系列データベースという関係になっています.
Appendeixにそれぞれの公式HPといい感じの記事とかを載せますが,見るのは環境構築終わった後でいいです.
最初は以下のイメージが理解できていればOk!

  • Grafana:データベースから参照して時系列データを可視化するツール
  • InfluxDB:可視化ツールの参照先となる時系列データベース

環境構築・サンプルの実行

さっそく内容に入っていきます!
ダミーデータを可視化してみましょー!
(今回はWindowsを前提としていますが,WSL2上での実行を確認しています.やろうと思えばAWS等にもデプロイできるかと思います。)

1.Dockerの導入

2.ローカルに地上局リポジトリをclone

  • 自分のPCの好きな場所に可視化のための環境を構築しましょう!

  • git cloneできれば何でもいいですが,GitBashでのやり方を紹介します!

  • お好みのディレクトリに移動できたら

~/お好みのディレクトリ
git clone [お好みの方法で]

3.システム起動

  • DockerDesktopの立ち上げ

    • シンプルに動かし始めればok!
      スライド5
  • ターミナル立ち上げ

    • こちらもシンプルに動かし始めればok!
      スライド6
  • cloneしたリポジトリのパスを開いてください

    • cd [path/mission5-ground-station]という感じでうまいこと開いてください.
    • これまたcd と打ち込んでからmission5-ground-stationフォルダをドラッグ&ドロップしても問題ない
      スライド7
  • Docker立ち上げ

~/mission5-ground-station
docker compose up -d

スライド8

これで立ち上げは完了です!動作確認していきましょー

4.システム動作確認

  • とりあえずGrafanaにアクセスしてみましょう!
    • webブラウザの検索窓にhttp://localhost:8085/dashboardsと入れてみてください
      スライド9

      • 上の感じでGrafanaにログインを求められますので,以下のように入力してください
        • UserName:admin
        • Password:admin
      • これらの変更を推奨されますがひとまずskipで問題ないです
    • InfluxDBにデータが入っていないのでNoDataになっているかと思います.
      スライド10

  • InfluxDBにデータを投入
    • /mission5-ground-stationのフォルダをワークスペースとしてVSCodeを開きます!
      • VSCodeが入っていない人は,こんな感じでVScodeを入れてください
      • Python環境がVSCodeにない人も,上のリンクを参考に導入してください
      • エクスプローラーからドラッグ&ドロップで開けます.
        スライド11
    • client/debug_rand_dummy_client.pyを開いてください.
      スライド12
    • 続いて,Pythonのパッケージをインストールします
    • VS Codeの右上らへんにあるやつをクリックしてVSCodeのターミナルを開きましょう.
      スライド13
    • requirements.txtに必要なpipを入れておいたのでこんな感じでパッケージをインストールできます!
      pip install -r requirements.txt
      
    • サーバーにダミーデータを送りつけます.
      • client/debug_rand_dummy_client.pyを実行してください
    • http://localhost:8085/dashboardsのwindowを確認
      • client/debug_rand_dummy_client.pyが吐き出すデータを可視化しています!

動画

https://drive.google.com/file/d/1ud4kk-sb2rYAekw7J_Cjiwoekocd4igI/view?usp=drive_link
(動画埋め込みの具合が悪いのでとりあえずURLを貼っておきます.)
スクリーンショット 2024-12-10 213925.png
こんな感じで可視化されるはずです!

以上で動作確認が完了しました。

次回は【自分好みに作りたい】編 です.InfluxDBに入るデータ構造の作り方や,好みのダッシュボードの作り方について解説していきます!

さいごに

不明点等あったらGitHubhttps://github.com/CanSat-FUSiON/mission5-ground-stationの方でissue立ててもらってもいいですし、ここに質問してくれてもいいです。
 

謝辞

Mission-5で「Grafana + InfluxDB」という構成で地上局を動かすことができたのは,以下のメンバーのおかげです.
https://github.com/MayaAbe
https://github.com/Ka-Sou
https://github.com/771-8bit
詳細な経緯等についてはシリーズ3番目の【リアルタイム可視化機能を作った背景】編にて書かせていただきます.

Appendix

Grafanaとは?

InfluxDBとは?

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?