このプロジェクトは、requestsディレクトリからJSON形式の設定ファイルを読み込み、MQTTブローカーにメッセージを発行するモックパブリッシャーです。テスト目的のために様々なメッセージ発行シナリオをシミュレートするように設計されています。
requestsフォルダの中を編集して,mainブランチにgit commit & pushしたら自動でxr-mock.jn.sfc.keio.ac.jpの方で更新がかかるようになってます.(MQTTサーバは1883ポートで開いてます)- ユーザ&パスワード認証が必要です.忘れたらask dang0.
- ちょっと反映まで時間かかるかもしれないので3分くらい待って下さい.(GitHubのトップページに赤い×印がついてたらビルド失敗してるのでask dang0)
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にテンプレートがあるので,