クリックしてユーザーガイドビデオを再生すると、ダッシュボード、接続、ウィジェットを作成することができます。

MQTTプロトコルのMqttDeskをMQTTクライアントとして使用するには?

このページでは、MQTTプロトコルで動作するMqttDeskアプリをスムーズに操作するための情報を提供します。

また、MQTTプロトコルについての基本的な理解は、メインウェブサイトのMQTTタブをご利用ください。

MqttDeskをダウンロードして使用する際の注意点です。

  • Windows、macOS、Linuxへのインストール時に、アプリケーションの保存やインストールが安全でないことを示すエラーが発生

    することがあります。

  • MqttDeskのダウンロードと使用は非常に安全ですので、無視してください。

  • ダッシュボードに多くのデータが表示されるのを避けるため、ウィジェットに「#」や「+」を直接使用しないでください。

  • Shared接続のClient Idを別のMQTT Clientに変更して接続します。

  • 特定のウィジェットにのみトピックを購読するための数学関数。

  • JSONを公開・購読するには、標準のJSONフォーマットを使用し、JSONの公開についてはウィジェットの設定を参照してください。

  • MQTTブローカへの接続の機能である自動再接続には、自動再接続のチェックボックスを選択します。

  • 四角いアイコンを使うとダッシュボードが全画面表示になり、エスケープキーを押すと通常のウィンドウで表示されます。

  • 古いバックアップを復元しても、現在の接続設定やダッシュボードなどの設定はすべて引き継がれます。

MqttDeskアプリケーションに関する以下の記事を参考にして、接続を追加し、ダッシュボードを作成し、ダッシュボードに複数のウィジェットを追加して、MQTTプロトコルを通じてIIOTデバイス、スマートホームシステム、ホームオートメーションシステム上のさまざまな構成のパブリッシュおよびサブスクライブされたトピックを監視することができます。

MqttDesk MQTTデスクトップクライアントの機能を理解するための主なポイント。

                      設定方法
                     接続
                     ダッシュボード
                     ウィジェット

1. 設定。アプリケーションの設定」は、MqttDeskアプリケーションの一般的な設定を定義するために使用します。

言語の選択も設定から行うことができます。
テーマは、設定からダークまたはライトを選択できます。
小数点以下の選択」は、アプリ内でモニターできる小数点以下の数を選択するために使用します。

Auto click on Connect – このオプションをクリックして選択すると、接続名をクリックするだけで、自動的にMQTTサーバーに接続されます。

バックアップ&リストアは、MqttDeskアプリケーションのバックアップとリストアに使用され、すべてのダッシュボード、接続、ウィジェットの設定が含まれます。
しかし、バックアップを復元すると、既存の設定が削除され、選択したバックアップだけが復元されます。そのため、既存の設定が重なってしまいます。バックアップには、MQTT Brokerのユーザー名とパスワードが含まれている可能性があります。  公表しないでください。 
 2. 接続 – 接続は MQTT ブローカーに接続するために使用します。MqttDeskは、MQTT v3.1.1およびMQTT v5.0サーバーで動作するように開発されています。MQttDeskはMQTT v3.1.1とMQTT v5.0のサーバーに対応しています。

左のタブの「+」ボタンをクリックして、MQTTブローカーと接続に関連する設定を追加します。

接続の名前は必須です。
クライアントID – クライアントIDを持っていない場合は、空白にしておくことができます。MqttDeskは、この接続用にクライアントIDをランダムに生成します。

ポート – MQTTブローカーに使用するポートを入力してください。TCP/WEBSOCKETまたはSSLベースのTCP/WSに関連しています。

Test.mosquitto.orgまたは192.168.0.101のように、サーバー名またはIPアドレスを入力します。
Protocol – MQTTプロトコルはTCP/TLS/Web socket/Web socket SSLで定義します。
SSL/TLSは、クライアントがMQTTブローカーに安全に接続し、IIOTデバイスを監視・制御するために必要な証明書/キーです。証明書の生成にはopensslを使用します。LinuxやmacOSにはデフォルトでopensslが搭載されていますが、Windowsではインストールする必要があります。

高度な接続設定

              生き続けること

Auto-reconnect or clean session」をクリックします。

MQTTブローカーの選択 MQTT v3.1.1 & MQTT v5.0

                                               右側のヘッダータブには、以下のような接続設定のオプションがあります。

接続のクローン作成 – アプリケーション自体でクローンを作成します。
接続を共有する – MQTT プロトコルを使って、パブリッシュとサブスクライブのオプションで他のクライアントと共有します。
接続の編集 – 任意の接続をクリックして、このオプションから編集します。

接続の削除 – クリックして接続を削除します。

3.  ダッシュボード – Arduino、Raspberry Pi、ESP32がMQTTブローカーに接続されていて、それらに対して1つの接続で別々のダッシュボードを作成できるように、ユーザーは1つの接続に対して「n」個のダッシュボードを作成できます。また、異なるブランドのPLCやIIOTデバイスをMQTTブローカに接続して、すべてのPLCに対してそれぞれ複数のダッシュボードを作成することもできます。

このボタンをクリックして、ダッシュボードの名前とアイコンを追加します。
右側のタブをクリックすると、ウィジェットの追加、ダッシュボードのクローン化、ダッシュボードの削除などのダッシュボードの設定ができます。

ダッシュボードを再構築する時間を節約するために、任意のダッシュボードを異なる接続下の他のダッシュボードにクローンします。

4.  ウィジェット – ダッシュボードセクションの下にあるウィジェットでは、ダッシュボードに複数のウィジェットを追加して、IIOTデバイスを監視することができます。例えば、スマートホームシステム、ホームオートメーションシステム、IIOTデバイスのダッシュボードを作成することができます。

 MQTTプロトコルは、これらのシステムからデータを取得するために使用される唯一のプロトコルです。

ウィジェットは、ドラッグ&ドロップ、サイズ変更、ダッシュボードのロック機能が可能です。

ウィジェットは、MQTTプロトコルで使用されているのと同じ用語を使用しています。

Panel Name – 「ESP32 LM35 Temperature Sensor」のように、ウィジェットに任意の名前を付けることができます。

Topic – ブローカーが公開または購読する際のトピックが必要です。

‘Home/Kitchen/ESP32/LM35’ または ‘homeautomationsystem/Garage/Raspberrypi/Sensor’ のようになります。

大文字小文字を区別するので、トピックの記述には注意が必要です。

ペイロード – データがjsonペイロードで購読されている場合は、jsonpathの下でjsonを解析します。

jsonデータを解析するために使用される標準的なjsonフォーマットです。jsonペイロードの例を示すページの下部を参照してください。 

タイムスタンプ – タイムスタンプとは、トピックが公開または購読された時に、その時間をウィジェットにスタンプすることです。

QOS – 選択されていない場合、デフォルトのQOSはQOS0になります。

単位 – 単位は、「メートル、インチ、摂氏」などの測定値を表示するために使用されるフィールドです。

例えば、「Value」ウィジェットでは、現在の負荷を「Raspberry Pi =30A」で表示することができます。

MqttDeskには、可視化に使用する27種類のウィジェットが用意されています。 

 テキスト – MQTTプロトコルで他のクライアントから数値以外のテキストデータを受信するために使用されます。

例えば、Raspberry pi、ESP32、ArduinoベースのMQTTクライアントは、「Battery failure」や「Battery full charged」などの内部アラームを公開します。

Value – Value ウィジェットは、数値データのみをモニターに登録します。正確な視覚化のために数学関数を使用します。

スライダー – 水平または垂直スライダーは、他のクライアントからのトピックを公開または購読します。  

ユーザーは、ウィジェットで定義された最小および最大ペイロードに従ってアナログ値を送信できます。

0~10000」または「10.10~550.20」の値を任意のMQTTクライアントに公開することができます。

ボタン – 設定したメッセージを他のホームオートメーションシステムに送信するために使用します。

スイッチ – このウィジェットは、あらゆるIIOTやIOTデバイスのスイッチをオン/オフするために使用します。デフォルトはシンプルなスイッチですが、1106種類のアイコンから好きなものを選んでスイッチとして使うことができます。例えば、ESP32、ESP8266、Raspberry Pi、Arduinoなどのコントローラに接続されたLEDを点灯させることができます。

コンボボックス – 複数のペイロードを1つのトピックにパブリッシュ&サブスクライブするために使用します。

ラジオボタン – 複数のペイロードを1つのトピックに公開・登録する際に使用します。

マルチステートインジケーター – IOT デバイスの 2 つ以上の状態を表示するために使用します。

LEDインジケーター – MQTTブローカーを通じてIOTまたはIIOTデバイスのオン/オフ状態を表示します。

テキスト入力 – このウィジェットは、任意のデバイスにメッセージを発行したり、他のMQTTクライアントへのメッセージ送信者として使用します。 

URI – トピックを購読し、URLリンクをウィジェットにのみ表示します。iframeの制限により、URLの表示には制限があります。

画像 – MQTTプロトコルはローバイト転送プロトコルを使用しているため、MqttDeskにMQTTプロトコルを介してカメラの静止画像を監視します。MQTTを使わずにウィジェットに静止画を表示したり、トピックを購読して静止画を表示することができます。 

また、他のMQTTクライアントに画像をプッシュすることもできます。

テキストログ – 購読中のトピックのログを表示し、無制限のポイント数を確認するために使用します。

Vertical Progress – これは、温度、レベル、圧力などを視覚化するためのサブスクライブ・ウィジェットです。

正確な視覚化のためには数学関数を使用してください。

円形プログレス – 温度、レベル、圧力などを購読します。

ゲージ – レベル、圧力、温度などのアナログ値の異なる範囲(0-30-60-100)を異なる色で視覚化します。

カラーピッカー – MQTTプロトコルで色を他のMQTTクライアントに公開し、LEDストリップの色を制御するのに使用できます。

タイムピッカー – 時刻と現在時刻を他のMQTTクライアントに公開します。

ノードステータス – MQTTプロトコルで接続された他のMQTTクライアントのステータスを可視化し、それらと同期してMQTTクライアントの実際のステータスを取得するために使用します。

折れ線グラフ – 折れ線グラフは、X-Y軸上のデータの複数の表現を購読します。 

ここでは、X軸は時間、Y軸は値です。ポイント、エリア、ラインはウィジェットから選択できます。

リアルタイムのデータをデスクトップにcsv形式でエクスポートできます。グラフ上での選択によるズームとパンの設定。演算機能は単一のデータに対してのみ動作します。

チャート – 円グラフやドーナツグラフにデータを登録し、複数のデータを視覚化して分析することができます。

バーチャート – 水平・垂直方向のバーチャートで、複数のデータを登録して視覚化・分析することができます。 

Histogram(ヒストグラム) – 複数のデータを登録して、ビンと頻度を可視化します。

マップ – 経度と緯度のトピックを登録して、アセットの位置のみを視覚化します。

情報テキスト – テキストデータを条件付きで登録し、「高温」のアラームをウィジェットに表示するなどの使い方ができます。

上記の情報は、ユーザーがMQTTプロトコル、MQTTクライアント、MQTTブローカーの基本的な知識を持っていることを前提にしています。いくつかの修正や更新が必要な場合がありますが、ユーザーからのフィードバック後、情報を更新します。

                                                                接続してフィードバックを共有しましょう

JSONペイロードを抽出するには、以下のJSONPATHを使用してください。

数学関数の例

(%value%はペイロード)

サブスクライブされたペイロードのMath関数について、以下の例はほとんどありません。

Math関数は、Math.jsライブラリから取得しています。

(100*%値) -購読したペイロードの乗算に使用されます。

(32/(100*%value) -より多くの計算を行います。 

round(%value%,2) -受信したペイロードの任意の10進数への丸め。

(sqrt(%value%)) -受信したペイロードの平方根。