Skip to content

sfvのXRチーム用mock MQTTスクリプト:ローカルに一定間隔でpublishをかけるモック用スクリプト

Notifications You must be signed in to change notification settings

nkzwlab/sfv-mock-mosquitto-auto

Repository files navigation

SFV Mock Mosquitto 自動パブリッシャー

このプロジェクトは、requestsディレクトリからJSON形式の設定ファイルを読み込み、MQTTブローカーにメッセージを発行するモックパブリッシャーです。テスト目的のために様々なメッセージ発行シナリオをシミュレートするように設計されています。

使用方法

  • requestsフォルダの中を編集して,mainブランチにgit commit & pushしたら自動でxr-mock.jn.sfc.keio.ac.jpの方で更新がかかるようになってます.(MQTTサーバは1883ポートで開いてます)
  • ユーザ&パスワード認証が必要です.忘れたらask dang0.
  • ちょっと反映まで時間かかるかもしれないので3分くらい待って下さい.(GitHubのトップページに赤い×印がついてたらビルド失敗してるのでask dang0)

JSON設定ファイルの形式

requestsディレクトリ内の各JSONファイルは、パブリッシングスレッドの設定を定義します。形式は次の通りです:

{
  "topic": "<MQTT_トピック>",
  "message": ["<メッセージ1>", "<メッセージ2>", ...],
  "type": "<発行タイプ>",
  "send_interval": <発行間隔(ミリ秒)>
}

新しいのを作るときはファイルを作って突っ込む感じです.

フィールド

  • topic (文字列): メッセージが発行されるMQTTトピック。
  • message (文字列の配列): 発行されるメッセージのリスト。
    • file:{filepath_from_reffiles}で,reffiles以下のファイル内容をpublishできます.
  • type (文字列, オプション): 発行モード。以下の値を指定できます:
    • random (デフォルト): リストからランダムにメッセージを選択します。
    • sequential: リストに表示されている順序でメッセージを発行します。
  • send_interval (整数): メッセージの発行間隔(ミリ秒)。

以下,github copliotに作らせたREADME 読まなくても支障はない

機能

  • requestsディレクトリからJSON設定ファイルを読み込みます。
  • Paho MQTTライブラリを使用してMQTTブローカーにメッセージを発行します。
  • シーケンシャル(順次)モードとランダムモードの両方に対応しています。
  • メッセージ発行間隔を設定できます。

前提条件

  • Python 3.x
  • Paho MQTTライブラリ(paho-mqtt
  • Docker(オプション、Mosquittoブローカー

{
  "topic": "test/topic",
  "message": ["こんにちは、世界!", "テストメッセージ"],
  "type": "sequential",
  "send_interval": 1000
}

この設定では、1秒ごとに test/topic トピックにメッセージを順番に発行します。 requests.tmp.jsonにテンプレートがあるので,

About

sfvのXRチーム用mock MQTTスクリプト:ローカルに一定間隔でpublishをかけるモック用スクリプト

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published