ERDDAP MQTTの統合
ERDDAP 現在、MQTT プロトコルのサポートが含まれており、リアルタイムのデータ処理と通知を容易にします。 この機能はオープンソースによって供給されます HiveMQ MQTTクライアント そして、 HiveMQコミュニティエディション ブローカーライブラリ。
ERDDAP MQTT を 2 つの主要な方法で活用できます。
-
MQTT クライアントとして: ERDDAP 既存の MQTT ブローカーのトピックを購読してデータを発信し、リアルタイムのデータセットを作成することができます。
-
MQTTブローカーとして: ERDDAP 外部クライアントが直接データを公開できるように、独自の埋め込みMQTTブローカーをホストできます。
お問い合わせ
ERDDAP MQTTクライアントとして
ERDDAP MQTT クライアントとして、外部または独自の MQTT ブローカーのトピックを購読することができます。 新規で実現 EDDTableFromMqttの特長 既存のデータセットタイプと同様に機能する EDDTableFromHttpGetの特長 データセット。
現在、クライアントの実装のみがサポート サブスクライブ トピック
構成: EDDTableFromMqttの特長
MQTT ブローカーに購読するデータセットを設定するには、タイプのデータセットを定義します。 EDDTableFromMqttの特長 お問い合わせ datasets.xml ファイル。 以下の設定タグは、 <dataset> ブロック:
<!-- Example configuration for an EDDTableFromMqtt dataset in datasets.xml -->
<dataset type="EDDTableFromMqtt" datasetID="mqtt_realtime_data" active="true">
<!-- The hostname or IP address of the MQTT broker. -->
<serverHost>broker.example.com</serverHost>
<!-- The port number of the MQTT broker. -->
<serverPort>1883</serverPort>
<!-- A unique identifier for this MQTT client. -->
<clientId>erddap-subscriber-1</clientId>
<!-- The username for broker authentication (optional). -->
<username>user</username>
<!-- The password for broker authentication (optional). -->
<password>secret</password>
<!-- A comma-separated list of MQTT topics to subscribe to. -->
<topics>sensor/+/data, another/topic</topics>
<!-- Set to 'true' to use a secure SSL/TLS connection. Default is 'false'. -->
<useSsl>false</useSsl>
<!-- The session expiry interval in seconds. -->
<sessionExpiryInterval>3600</sessionExpiryInterval>
<!-- The connection timeout in seconds. -->
<connectionTimeout>10</connectionTimeout>
<!-- Set to 'true' to enable automatic reconnection. Default is 'true'. -->
<automaticReconnect>true</automaticReconnect>
</dataset>
お問い合わせ
ERDDAP MQTTブローカーとして
ERDDAP 埋め込まれたMQTTブローカーを実行することができます。これは、2つの主な目的を果たします。
-
データ摂取: 外部のMQTTクライアントが公開したデータをリアルタイムのデータセットを作成するために受信するため。
-
通知: データセットの変更に関する通知を公開する。
埋め込まれたブローカーを有効にする
組み込みMQTTブローカーはデフォルトで無効になっています。 有効にするには、次のフラグを追加します。 セットアップ。xml : : :
<!-- Enables the embedded HiveMQ broker. Default is 'false'. --> <enableMqttBroker> ログイン </enableMqttBroker>
ブローカー構成とデータディレクトリ
ブローカーの構成とデータファイルのカスタムディレクトリを指定できます。 セットアップ。xml お問い合わせ これらのタグが空のままの場合、 ERDDAP HiveMQライブラリで指定されたデフォルトのディレクトリを使用します。 ログや拡張機能など、より高度な構成の詳細については、公式を参照してください。 HiveMQコミュニティエディションWiki お問い合わせ
<!-- The parent directory for all MQTT-related files. -->
<bigParentDirectory>/opt/erddap/mqtt/</bigParentDirectory>
<!-- The path to the embedded MQTT broker's configuration folder. -->
<mqttConfigFolder>/opt/erddap/mqtt/conf/</mqttConfigFolder>
<!-- The path to the embedded MQTT broker's data folder. -->
<mqttDataFolder>/opt/erddap/mqtt/data/</mqttDataFolder>
事例1:MQTTクライアントからデータを発信する
埋め込まれたブローカーを使用してリアルタイムのデータセットを作成するには、 EDDTableFromMqttの特長 データセット (上記の通り) same 内の ERDDAP 独自のローカルブローカーに接続するインスタンス。 外部のMQTTクライアントは、このデータを公開することができます ERDDAP ブローカー、その EDDTableFromMqttの特長 データセットは、購読とインジェストを行います。
ユースケース2:データセット変更通知の公開
ERDDAP データセットの変更に関する通知を公開するように設定できます (例、更新、リロード) MQTTブローカーのトピックに。 まず、ブローカーが有効になっているか、外部のブローカーが利用できるかを確認します。 次に、通知機能を有効にします。 セットアップ。xml : : :
<!-- Set to 'true' to publish dataset change notifications via MQTT. Default is 'false'. --> <publishMqttNotif> ログイン </publishMqttNotif>
この機能を有効にすると、 ERDDAP 内部の MQTT クライアントを使用してメッセージを公開します。 このクライアントの接続設定は、 セットアップ。xml お問い合わせ 以下の表は、利用可能な設定とデフォルト値のリストです。
| ツイート | タイプ: | デフォルト値 | コンテンツ |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | お問い合わせ | ----------------- | ------------------------------------------------------------------------- |
| <mqttServerHost> | キーワード | ローカルホスト | ブローカーは通知を公開するホストです。 |
| <mqttServerPort> | ログイン | 1883年 | 通知ブローカーのポート。 |
| <mqttClientId> | キーワード | erddap クライアント | 通知パブリッシャーのクライアントID。 |
| <mqttUserName> | キーワード | erddap ユーザー名 | 通知パブリッシャーのユーザー名。 |
| <mqttPassword> | キーワード | erddap-passwordの使い方 | 通知パブリッシャーのパスワード。 |
| <mqttSsl> | ログイン | パスワード | 通知接続には、SSL/TLS を使用します。 |
| <mqttKeepAlive> | ログイン | 電話番号 | 秒単位で連続間隔を保って下さい。 |
| <mqttCleanStart> | ログイン | パスワード | 清潔なセッションから始める (持続セッション状態なし) お問い合わせ |
| <mqttSessionExpiry> | ログイン | 10月10日 | セッションの有効期限間隔を秒単位で満たします。 |
| <mqttConnectionTimeout> | ログイン | 10月10日 | 接続タイムアウト秒数。 |
| <mqttAutomaticReconnect> | ログイン | ログイン | 接続が失われた場合は自動的に再接続します。 |
お問い合わせ
環境変数 パース datasets.xml
環境変数の使用を可能にする新しい機能が導入されました datasets.xml お問い合わせ お問い合わせ デフォルトで有効 お問い合わせ
この機能を無効にするには、次のフラグを追加します。 セットアップ。xml : : :
ログイン
<enableEnvParsing> パスワード </enableEnvParsing>