テキストコピッド

MQTTブローカーチュートリアル - IoTアプリケーションをより良く構築する

クイック概要

Bevywiseクリスタル MQブローカーの概要

ふりがなMQTTブローカー内蔵MQTTブローカーを備えた完全なIoTアプリケーションスイートです。 それは中央MQTTとして機能します サーバー, MQTT対応エッジデバイス/モノのインターネット(IoT)間の通信を容易に データ分析と可視化のために保存できるデータをデバイスと収集します。

CrystalMQブローカーは、メッセージキューイングテレメトリー輸送(MQTT)を使用しています。 プロトコル 標準的なメッセージングプロトコル/通信プロトコルとして。MQTTの特長出版物に基づく作品 モデル。 それはあなたを助けて完全に拡張可能なフレームワークを提供します あらゆる産業ユースケースに強力なIoT/IIoTアプリケーションを構築できます。

MQTT 対応バージョン:

  • MQTT 3.1の特長
  • MQTT 3.1.1の特長
  • MQTT 5の特長
注意:MQTTの特長 ブローカーは、産業用MQTTスパークプラグBをサポートしています コミュニケーション。

MQTT スパークプラグ B - お問い合わせMQTTの特長 スパークプラグ Bサポート' セクションをもっと知る。
キー機能

トピックベースのメッセージング:クリスタル MQ は、メッセージが表示されるトピックベースのメッセージングモデルを使用します。 特定のトピックに公開 購読者が購読に基づいて関連するデータのみを受け取ることを可能にします。

QoSの処理:CrystalMQは、サービス(QoS)レベル(0, 1, 2)の異なる品質をサポートし、メッセージを確実にする 配達信頼性および保証、 通信シナリオの要件に基づいて.

関係管理:クライアントの接続を管理します。, 確立を含みます, 維持, MQTT接続の終了、および接続の復元とタイムアウトの処理。

セキュリティ:TLS暗号化、認証メカニズムなどのセキュリティ機能を提供します。 (ユーザー名/パスワード、クライアント証明書)、 安全かつ公正なコミュニケーションを確保するための制御にアクセスします。

持続性:メッセージを保存し、メッセージを管理するためのメッセージの永続オプションを提供し、メッセージの配信を保証します 一時的なネットワークの中断やクライアントの不当性であっても。

拡張性:数百万人の同時並行をサポートする能力 接続は、利用可能な最もスケーラブルで高性能なMQTTブローカーとして際立っています。

始める

このセクションでは、ダウンロードとインストールに関する包括的なガイドを提供しています 選択したマシンまたは選択したマシン上のBevywise MQTTブローカーのオンプレミスまたはセルフホストバージョン サーバ。 また、デバイスを接続し、メッセージングをテストするための指示をカバーしています ブローカーとシナリオ(公開とサブスクライブ)。

注意:デプロイメント方法とは別に詳しく説明 セクション、興味があれば MQTTブローカーのクラウドホストバージョンを調べるには、単にサインアップお問い合わせ これにより、サーバーメンテナンスの手間をかけずにデバイスを直接接続できます。
選択する プラン

様々なユースケースにあわせた各種プランをご用意しました。

  • 開発者プラン
  • ライトプラン
  • スタータープラン
  • エンタープライズプラン
デベロッパー ログイン スターター エンタープライズ
完全無料MQTTブローカー プレミアム プレミアム プレミアム
10台までのデバイス接続 最大100台のデバイス接続 カスタム要件に基づく接続 カスタム要件に基づく接続
完全なプロトコルサポート - 3.1, 3.1.1, 5.0 完全なプロトコルサポート - 3.1, 3.1.1, 5.0 完全なプロトコルサポート - 3.1, 3.1.1, 5.0 完全なプロトコルサポート - 3.1, 3.1.1, 5.0
機能制限なし カスタムストレージ マルチテンナシー - ホワイトラベリング
含まれているクラスタリング 詳しくはこちら 詳しくはこちら 詳しくはこちら
ダウンロード 今すぐ購入 お問い合わせ お問い合わせ

開発者プラン(無料版)の場合、直接無料で入手できます。 パッケージを使用してダウンロードリンクお問い合わせ

プレミアムプランは、コンタクトサポートライセンス&ビルドを取得する

CrystalMQブローカーをインストールする

私たちのメッセージングブローカーは、プライベート/ローカルマシン/物理的なサーバー上で実行することができます オンプレミス環境でも、ドッカーでも実行できます。

クラウドアグノスティックで、任意のクラウドプラットフォームでホストできます。

現在、以下の運用システムが稼働しています。 ダウンロード可能なパッケージ。

  • Windows 10かより高い
  • Ubuntu 20以上
  • RHEL 9.xの

MQTT ブローカーを 1 つだけデプロイするオプションもあります。 クリックします。そして、ログイン マーケットプレイスお問い合わせ

MQTT を実行するには ブローカーはドッカーとして、以下のリンクを使用して開始してください と:ドッカーとして実行お問い合わせ

クリスタルをインストールする MQのダウンロード可能なファイル

ウィンドウズ

  • 実行ファイル(Bevywise_CrystalMQ_5.0.exe)を実行します。
  • Bevywise/CrystalMQ/binフォルダ内の「runbroker.bat」ファイルをダブルクリックします。

または

  • 管理者として cmd を開き、Bevywise/CrystalMQ/bin フォルダーに移動します。
  • 次に、「runbroker.bat」と入力し、入力を押します。
cd ./Bevywise/CrystalMQ/bin

Runbroker.batの使い方

ログイン

ターミナルウィンドウを開きます。 ダウンロードしたMQTTブローカーのパスに移動 パッケージはアーカイブを解凍し、アーカイブを解凍します。

unzip Bevywise_CrystalMQ_Linux.zip
  • 不要なパッケージのビンフォルダを開きます。 典型的な位置はある場合もあります ダウンロード/Bevywise/CrystalMQ/bin
  • sh runbroker を実行します。 ログイン
cd ./ダウンロード/Bevywise/CrystalMQ/bin

sh runbroker. ログイン

デフォルトでは、ブローカーは localhost IP アドレス (127.0.0.1) / マシンIPとポート1883にリスニング。

ウェブブラウザを開き、 http://localhost:8080/ (置換) IPアドレスで「ローカルホスト」 アドレスバーにあるMQTT Broker Dashboardにアクセスします。

MQTTブローカーを開始する他の方法

メッセージブローカーを開始できる他の方法は、 サービスとして実行します。 サービスとしてブローカーを実行すると、マシンが起動したときに自動的にブローカーを開始するのに役立ちます。 端末やコマンドプロンプトから毎回実行しないでください。

ウィンドウズのため

CrystalMQサービスを開始するには、

  • 管理者モードでコマンドプロンプトを開きます。 ./Bevywise/CrystalMQ/bin に行く ログイン CreateCrystalMQSvc.bat. これは、CrystalMQサービスを作成し、同じ起動します。

cd ./Bevywise/CrystalMQ/bin

クリスタルMQSvc.bat

クリスタルを停止する MQ サービス,

  • 管理者モードでコマンドプロンプトを開きます。 ./Bevywise/CrystalMQ/bin に移動して実行します RemoveCrystalMQSvc.bat. ブローカーを停止し、サービスから削除します。

cd ./Bevywise/CrystalMQ/bin

削除クリスタルMQSvc.bat

Linux用

bin フォルダー (Bevywise/CrystalMQ/bin) には RunAsService.sh ファイルが含まれています。 ログイン このファイルは「サービスファイルの設定」を有効にします . . と ‘path’ ("/opt/Bevywise" フォルダーにシンボルリンクリダイレクトとして設定)。

cd ./Bevywise/CrystalMQ/bin

sh RunAsService.sh は、

今度は、サービスを始めるために、使用して下さい

sudo systemctl start 結晶。 サービス

ステータスを確認するには、

sudo systemctl ステータスクリスタル mq. サービス

サービスを停止するために、使用して下さい

sudo systemctl stop クリスタル mq. サービス

注意:ブローカーをサービスとして実行しようとする前に注意してください。 確かめて下さい 手動で動かすことを止めました。
Bevywise IoTシミュレータとの接続のテスト

ザ・オブ・ザ・Bevywise IoTシミュレータMQTTのデータシミュレーションツール 複数のデバイスを同時に作成およびシミュレートできます。 これにより、 負荷テストを実施し、接続を効率的にテストします。

MQTTプロトコル対応 - MQTT 3.1、および 3.1.1

前提条件

先に進む前に機械にIoTシミュレータをダウンロードしたことを確認してください。 そうでない場合は、下のリンクからダウンロードしてください。

IoTシミュレータ無料 ダウンロード
  • ウェブブラウザを開き、 http://localhost:9000/ ("localhost" を置換) アドレスバーのIPアドレスで、IoTシミュレータダッシュボードにアクセスします。
  • 新しいネットワークを作成し、ブローカーの設定を以下のように設定します。
担当:その他
ブローカーIPアドレス:
TLS/SSL : 有効/無効 ( Broker.conf で設定した構成に基づいて)
ブローカーポート:1883(TLSが有効になった場合、自動的に8883に変更されます)。
ルート証明書: TLSが無効になっている場合は空にします。
クリーンセッション : 0(0-False、1-True)
  • 新しいデバイスを作成します。
  • IoTイベントの設定は異なります。 リストから誰かを選択し、 必要に応じてトピック、データ形式、およびバリアントを定義します。
  • MQTT Brokerでデバイスを接続するには、「Red」ボタンをクリック。 作成&シミュレート 同じ方法に従う複数の装置。
  • デバイスアクティビティのMQTT Brokerダッシュボードを確認することができます。

MQTTクライアント

弊社では、さまざまなニーズに対応できるよう、包括的なドキュメントを準備しております。MQTTクライアント当社のCrystalMQブローカーに。 これらのガイドは詳細な指示と洞察を提供します。 CrystalMQ とのシームレスな統合体験を保証します。 下記のリンクからスタート お問い合わせ インスタントMQTTクライアント。

MQTTクライアント ドキュメント

技術的な細部及びサポート

このセクションでは、ハードウェアの要件とファイルについて説明しています。 高いレベルの構成のためのディレクトリ。

ハードウェア要件

ハードウェアの要件は、メッセージ率とサイズによって異なります。

ただし、参考までに最低限の要件を必ずご確認ください。

  • CPU - 1コア以上
  • RAM - 2 GB以上
  • ハードディスク - 50 GB以上

MQTTブローカーフォルダのご紹介

インストールプロセスを完了した後、あなたは発見します 指定されたパスにあるファイルとフォルダを以下にします。

フォルダ コンテンツ ファイル
ビン 実行ファイルを含む 1. runbroker.bat / Runbroker.sh - ブローカーを開始する
2. stopbroker.bat / stopbroker.sh - ブローカーを停止する
3. 水晶mq。 サービス - Systemd linux サービスファイル
4。 RunAsService.sh - ブローカーをLinuxでサービスとして実行するには
5。 install_mysql_connector.sh /
install_mysql_connector.bat - mysql コネクターやその他の依存関係をインストールするには
証明書
./ルート
./サーバ
./クライアント
TLS/SSL通信の証明書 .root/root.crt - 自己署名されたCA。
.server/server.crt - サーバベースのCA署名証明書
.server/server.key - サーバーベースのプライベートキー
.client/client.crt - クライアントベースのCA署名証明書
.client/client.key - クライアントベースのプライベートキー
設定可能なファイルが含まれています mqtt.confの特長
MQTT認証
TLS設定
UTFについて サポート
ACLについて
クラスタリング

アプリケーション.conf
UIの設定
ログ処理

データストア.conf
データベース関連の構成
エクステンション 拡張可能な python のホック custom_auth.py - 認証をカスタマイズする
custom_scheduler.py - AI/ML アルゴリズムを追加するには
custom_store.py - サードパーティのアプリケーションを統合する
custom_ui_server.py - 必要に応じてUIをカスタマイズする
ライブラリ ブローカーの機能に必要なライブラリファイル
ライセンス ブローカーのライセンスが含まれています license.dat - プレミアムライセンスファイル
ログイン エラーログ Broker.log - 最新のエラーログをキャプチャ
ログイン フロントエンドのhtmlファイル、css、MQTTブローカーのjsの完全なリスト
データデータ SQLite データベース bevywise - ブローカーによって受け取ったデータを保存し、送信するデータベース(SQLITEの場合) データストレージオプションとして選択)

テクニカルサポート

MQTTブローカーに関する技術的な質問や、あなたの議論が必要 条件、できます お問い合わせ

メール :サポート@bevywise.com
メッセージ: https://www.bevywise.com/contact-us.html
電話番号 :インド - +91 8072398868 / アメリカ - +1 707 879 8999

MQTT 5ブローカーのプロパティ

このセクションでは、詳細なビューが提供されます。MQTT 5の特長プロパティ そして、このプロトコルバージョンで再生するように設定できます。

セッション調査

MQTT 5では、セッションとメッセージの概念について紹介しています。 クライアント セッションの有効期限間隔を設定できます。 ブローカーは指定された期間後に切断されたクライアントセッションをクリーンアップできるようにします。

ブローカーのセッションの有効期限間隔を設定および設定できます。

SESSION_EXPIRY_インターバル = -1

#CONNECT パケットから (-1) 値に設定すると、各クライアントに

セッションの有効期限の特定の時間枠を定義できます。 おすすめ 構成される、 特定の期間後に、クライアントセッションが自動的に削除されます。

すべてのユニバーサルセッションの有効期限間隔を設定するオプションがあります デバイス。

また、各セッションの有効期限間隔を設定できます。 -1 に値を設定することでクライアント。 この場合、ブローカーはセッションの有効期限のために各クライアントのCONNECTパケットをチェックします 間隔値, これらの値を使用して、セッションのクリーンアップを適切に管理します。

受け取る最大

RECEIVE MAXIMUM プロパティは、最大数の指定に使用されます。 QoS 1とQoS 2 クライアントが同時処理できるメッセージ。 柔軟性と効率性を高めます。 のためのメッセージ配達の 同時メッセージ処理、より良いリソース利用と クライアントとブローカー間で動的にメッセージ処理を改善しました。

ブローカーの数値を設定して設定できます。 conf プロパティ SERVER_RECEIVE_最大。

#デフォルト:65535

SERVER_RECEIVE_最大値 = 65535

SERVER_RECEIVE_MAXIMUM の値 1〜65,535の範囲で、

0 の値は、クライアントが QoS 1 または QoS を処理できないことを示します。 同時2つのメッセージ クライアントのQoSレベルを効果的に分解します。

最高のQoS

MQTTブローカークライアントに最高の情報を伝えることができますQoSレベルサポート 含めて 接続時にCONNACKパケット内の最大QoS。

CONNACK パケットのブローカーから最大の QoS を受信すると、 クライアントは、PUBLISHパケットの送信時に、この最大QoSレベルに準拠しなければなりません。

しかし、ブローカーはクライアントからSUBSCRIBEパケットを受け入れることができます 0、1、または2の要求されたQoSを含む QoS 1またはQoS 2 PUBLISHパケットのサポートに関係なく。

ブローカーで最大のQoSを定義できます。

#デフォルト: 2

MAXIMUM_QOS = 2

最高のパケット サイズ

最高のパケット サイズ プロパティはブローカーが通知するために使用されます クライアントについて最大 パケットのサイズを許可します。 クライアントは、この制限よりも大きいパケットを送信する必要はありません サーバ。 サーバーの場合 このサイズの制限を超えるパケットを受信し、プロトコルエラーと見なされます。 サーバは、DISCONNECT パケットを使用してクライアントを切断します。

ブローカーで最大パケットサイズを設定できます。 お問い合わせ

#デフォルト: 268435460

SERVER_MAXIMUM_PACKET_SIZE = 268435460

#Maximum 5 固定ヘッダのバイト + 最大の残りの長さ 268435455

Topic 別名で最高

"Topic Alias Max" は、最大値を指定するプロパティです。 電話番号 クライアントがブローカーとのMQTT通信中に使用できるトピックエイリアス。 これにより、ブローカーは、それができるトピックのエイリアスの最大数についてクライアントに通知することができます 使用。

トピックのエイリアスは、減少に役立つトピックへの短い参照です MQTT制御パケットのサイズ トピック名をより短い識別子(エイリアス)で置き換えること。

Broker.conf で最大 Topic Alias を設定できます。

#デフォルト: 0

SERVER_TOPIC_ALIAS_MAXIMUM(サーバー) = 99の

0 の値は、ブローカーがトピックエイリアスをサポートしていないことを示しています。 クライアントは、そのメッセージでトピックエイリアスを使用しないでください。

サーバは生き生き続ける

ザ・オブ・ザ・「サーバーキー」 アライブメカニズムは、MQTTブローカー(サーバー)がクライアントに通知することを可能にする機能を指します アクティブ接続を維持するための最大時間間隔について。

接続確立フェーズ(CONNACKパケット)中、MQTT ブローカーはクライアントに通知 「サーバーは生き続ける」間隔について。 「サーバーは生き続ける」間隔は最大を指定する 時間の長さ(秒単位) クライアント 管理パケット(例、PINGREQ)をブローカーに送信することなく、アイドル状態を維持できます。

mqtt で定義できます。

SERVER_KEEP_ALIVE = 90 円

#CONNECT パケットから (-1) 値に設定すると、各クライアントに

ここを生き続けることを指定すると、クライアントはこの値を使用します CONNECT パケットで提供されている保留価値の代わりに。

しかし、その値が-1に設定されている場合は、ブローカーがブローカーではないことを意味します サーバは Alive プロパティを保ち、ブローカーは、 クライアント CONNECT パケット。

利用できる保持

「利用可能な保持」機能は、MQTT の機能を参照します。 ブローカーをサポート保持メッセージお問い合わせ 保持メッセージは、保存されている特別なMQTTメッセージです ブローカーは、トピックを購読したときに新しい加入者に配信されます。

mqtt.conf で Retain を有効に/無効にできます。

#デフォルト:1

RETAIN_AVAILABLE = 1 の

# 0 | 1

0 の値は、メッセージの保持が無効になっていることを意味します。 1つの値が保持されたメッセージが有効になっていることを意味します。

ワイルドカードサブスクリプション 利用できる

ワイルドカードのサブスクリプションは、利用可能なサブスクリプションパターンを指します。 クライアントが購読する ワイルドカード文字を使用した複数のトピック(+、#)。

MQTT ブローカーを有効または有効にするために設定するオプションがあります。 要件に基づいてワイルドカード機能を無効にします。

#デフォルト:1

WILDCARD_SUBSCRIPTION_AVAILABLE = 1

# 0 | 1

0 の値は、ワイルドカードサブスクリプションが無効になっていることを意味します。 1 の値は、ワイルドカードサブスクリプションが有効になっていることを意味します。

サブスクリプション識別子 利用できる

サブスクリプション識別子は、MQTTクライアントがMQTTクライアントを パスワード 識別子に サブスクリプション サブスクリプション識別子は、個々のサブスクリプションを一意に識別するために使用される によって作って下さいMQTTクライアント具体的なトピック 各サブスクリプションは、一意の識別子を割り当てることができます。

#デフォルト:1

サブスクリプション_IDENTIFIERS_AVAILABLE = 1

# 0 | 1

0 の値は、サブスクリプション識別子が無効になっていることを意味します。 1 の値は、サブスクリプション識別子が有効になっていることを意味します。

MQTTの特長 共有サブスクリプション

当社のブローカーは、デフォルトで、共有サブスクリプションをサポートし、データができるようにします。 配布中 サブスクリプション 出版社がデータをトピックに送信するとき、それはすべての購読者の間で共有されます クライアント。 例えば2つの場合 クライアントは「トピック1」に登録されています。 ブローカーはメッセージの送信を交互に行います。

共有サブスクリプションは、以下の形式に従ってください

$shared/subscriptionname/トピック

mqtt で有効/無効にすることができます。

#デフォルト:1

SHARED_SUBSCRIPTION_利用可能な = 1

# 0 | 1

注意:共有サブスクリプション機能中はご注意ください。 クラスター環境内のノード内では、クラスター全体に拡張しません。

MQTTブローカーユーザーインターフェイスとダッシュボード

当社のブローカーUIは、接続された監視、視覚化、管理を可能にします デバイスとデータ。 このセクションでは、ディープビューが提供されます。 ダッシュボードにアクセスし、必要な方法でMQTTデータを視覚化する方法。

UI/ダッシュボードへのアクセス

デフォルトでは、ブローカーのUIはポート8080で起動します。 ブラウザにナビゲートして入力することでアクセス可能

http://localhost:8080の

または

番号:8080
UIの設定

UI_HTTP_PORTを更新することで、このUIポートを変更できます。 お問い合わせ conf/application.conf を編集

ユーザーインターフェイス構成 [UI]

UI_HTTP_PORT=808080 がリリースされました。
  • ブローカーを一度再起動する
  • これで、定義されたポートでUIにアクセスすることができます。
注意:ポート8080が他のポートを占有するシナリオでUIポート変更が必要な場合があります システム上で動作するアプリケーション。 他のアプリケーションを認識していない場合 ランニング, MQTT ブローカーを実行している間に [Error 98] を取得します。
プロフィール

このページには、ブローカーの接続情報が含まれています。 このページからTLS暗号化を有効にまたは無効にすることができます。

Overview

API トークンへのアクセスMQTTブローカーREST API についてこのページでは生成できます。

ダッシュボード

ダッシュボードは、最新の出来事の迅速なスナップショットを提供します あなたができるブローカー、 デバイスから来るリアルタイムデータを表示します。 生データとともに、ブローカーの迅速なリアルタイムステータスを期待できます。

dashboard

  • アクティブデバイス – 現在アクティブなデバイス
  • トータルデバイス - これまでのブローカーに接続されたデバイスの総数
  • イベント – メッセージの総数/データ公開
  • コマンド - 受信したメッセージ/データの総数
  • 最近のイベント - 最近のデータのリアルタイムビューが公開されました。
  • 最近のデバイスログ - デバイスを接続する際にエラーの最近のビューが発生しました。
  • 最近の接続 - 接続されたデバイスの最近のリスト
  • 最近の切断 - デバイスが切断された最近のリスト

デフォルトのダッシュボードに加えて、MQTT Brokerはカスタムをサポートしています ユーザが 特定の複数のダッシュボードを作成する アプリケーション。 アプリケーションの助けを借りることができる方法を知るために深く掘り下げましょう。

カスタムダッシュボード

ダッシュボードの使用は、ユースケースとアプリケーションによって異なります。 静的を提供する公正ではありません すべてのIoT実装用のダッシュボード。 したがって、当社のブローカーシステムは、セット付きカスタムダッシュボードをサポートしています プレビルドウィジェットの ユーザーがより良い視覚化を実現するのを支援 適用か産業必要性に特有。

他のMQTTブローカー/サーバーとは異なり、サードパーティを必要としません データを視覚化するためのプラグイン UI自体から複数のダッシュボードを作成できます。 ダッシュボードにウィジェットをレイアウトし、付加価値のある視覚化をユーザーに提供します データ。

サポートされているウィジェットのリスト:

  • テキスト
  • カラー
  • ラインチャート
  • バーチャート
  • ゲージチャート
  • 縦のゲージ
  • 横のゲージ
  • LEDライト ライトライト
  • スイッチ
カスタムダッシュボードを作成する方法は?

カスタムダッシュボードを作成するには:

  • ダッシュボードメニューの「+」をクリックし、「新規ダッシュボード」を選択し、ダッシュボード名を入力します。 そして記述。
  • 完了後、「作成」ボタンをクリックして「ウィジェット」タブを開きます。
  • ウィジェットタブの右上にある「+」アイコンをクリックします。 'Add Widget'ウィンドウ お問い合わせ ウィジェットの種類を一覧表示するドロップダウンメニューとともに表示されます。
custom dashboard

ウィジェットを作成するには:

JSONデータとTEXTをサポートするウィジェット。 ウィジェットを作成する 詳しくはこちら 数値データ。

widget

9種類のウィジェットを作る手順は以下の通りです。

1。 テキストウィジェット
  • プレーンテキストの形式でデータを表示したい場合は「テキストウィジェット」を選択します。 これにより、特定のパラメータの値をデータを強調することができます。
text widget

  • タイトルを提供し、デバイスリストからデバイスを選択します。
  • ドロップダウンメニューは、接続されているすべてのクライアント(有効かつ非アクティブ)をリストします。 プラットフォーム。
  • リストからアクティブ(推奨デバイス)のデバイスを選択し、データを表示 リアルタイムで流れます。
  • 選択したデバイスが関連付けられているトピックを入力する必要があります。
  • 特定のデバイスに複数のトピックがある場合、すべてのトピックがリストされます ドロップダウンメニュー。

詳しくはこちらMQTT トピックお問い合わせ

  • キーを選択する必要があります。 キーは、JSON データのパラメーターを参照します。

例えば、JSON の構文は、
「VALUE1」,「KEY2」,「VALUE2」,「KEY3」,「VALUE3」

JSONデータ例
{ “センサー” :”99′′ , “温度” : “90” , “スタタス” : on”

上記データでは、センサー、温度、ステータスが呼ばれます。 キーと99、90、ONはキーの値です。

例えば、温度データを表示したい場合は、 キーを「温度」として選択します。 それから私はデータのためのユニットを入力する必要があります。 主として温度を選択したので、 セルシャスをユニットとして与えました。 データに基づいて、右単位を入力することができます。

  • 色の選択により、ウィジェット全体の色を選択できます。
  • 次に、最小値と最大値は、データの範囲を参照します。 自分のデータがわかる場合 範囲の残り 0から100または40から80等、 お問い合わせはこちら
  • 最後にオフセットします。オプションの列です。 このパラメータの効果は、 ウィジェット
  • たとえば、テキストウィジェットの場合、温度が正常または低ければ、私は必要 GREENカラーテキストとして表示します。 同様に、非常に高い場合は、赤色のテキストとして表示する必要があります アラート!! これは、オフセットがテキストに役立ちます ウィジェット そのため、最初の列でオフセットとして低温値を入力することができます。 緑の色をつけて下さい。 そしてそれから 次のコラムでは、オフセットとして高温に入り、赤色を与えます。
  • これで、入力が与えられ、送信時にテキストウィジェットを表示することができます。
text widget
2. 色のウィジェット

カラーウィジェットは、色付きのフォームでデータを表示するのに役立ちます。 また、 それぞれの値の最適な範囲で異なる色を設定します。

TEXTウィジェットを作成するのと同じ手順です。

add color widget

  • デバイスの詳細、トピック、およびキーの選択と最小限の&最大範囲を提供した後、 オフセット値を入力することができます。
  • オフセットの使用方法は、目的のメッセージを表示できるように変更されます。 選択された背景色を使って。
  • たとえば、私のデバイスは速度データを公開し、速度範囲は0〜 200. ノーマルのような3つの異なるフォーマットの速度に基づいてインスタントアラートを取得したい、 色のフォーマットのダッシュボードの媒体及び高速。

0 を 50 に普通の速度、50 から 100 は中速および多くです 100 以上は高速です。 以下の手順を確認してください。

  • 最初のオフセット値を 50 として入力し、サブタイトルを ‘Normal’ に入力します。 ウィジェットにテキストを表示 それからあなたは好まれた色(背景)をに選ぶことができます 表示されます。
  • 100 で 2 番目のオフセット値を入力し、サブタイトルを ‘Medium’ として入力します。 (私が望むように) ウィジェットにテキストを表示 それからあなたは好まれた色(背景)をに選ぶことができます 表示されます。
  • 3番目のオフセット値を100として入力し、サブタイトルを「スピードアラート」として入力します。 ウィジェットにテキストを表示する お好みの色(背景)を選べる 表示する
  • 今、あなたはあなたの好みの色で速度で警告されます
color widget
3。 ラインウィジェット

ライン Widgetを使用すると、データを表示する傾向を作成できます 時間をかけて変化します。 これは、直線で接続された一連の値を作成するのに役立ちます。 同じ期間に複数の値を変更することもできます。

手順は、TEXT & Colorウィジェットを作成するのと同じです。 しかし、これはトレンドであるので、最小値と最大範囲とオフセットを設定するオプションはありません チャート。

add line chart

  • ウィジェットリストからラインチャートを選択します。
  • どのようなデータを好むかを選択します。 ライブまたは歴史
  • それから、タイトルを提供し、デバイスリストからデバイスを選択します。
  • ドロップダウンメニューは、接続されているすべてのクライアント(有効かつ非アクティブ)をリストします。 プラットフォーム。
  • リストからアクティブ(推奨デバイス)のデバイスを選択し、データを表示 リアルタイムで流れます。
  • 選択したデバイスが関連付けられているトピックを入力する必要があります。
  • 特定のデバイスに複数のトピックがある場合、すべてのトピックがリストされます ドロップダウンメニュー。
  • その後、キーを選択し、キーに適したサブタイトル&ユニットを提供する必要があります。
line chart

トレンドチャートなので、時間をかけてデータを表示します。 それこそが データのチャートと時間。 データ(値)はy軸を占有し、時間はx軸を占有します。 ザ・オブ・ザ・ 指定したサブタイトルとユニットをy軸に表示します。

  • これで、データを接続する行にお好みの色を提供できます。
  • 投稿をクリックすると、ラインチャートが作成されます。

注意:履歴データを選択すると、ご希望の期間のデータをエクスポートできます。

2つ以上の値を比較するには:

単一デバイスの2つ以上の値(データ)を比較することができます ウィジェットを行ないます。

データ比較チャートを作成するには、以下の手順に従ってください。

  • 次のように行ウィジェットを作成するために必要な手順を使用します。
  • 詳細を提出する前に、最初のキーの色選択バーの近くの+アイコンをクリックします。
  • 別のキーをデータ、サブタイトル、ユニット、色に入力することで、さらに進みます。
  • 選択したデバイスのデータがいくつあるかに基づいて、複数のキーを追加できます。
  • 送信をクリックしてデータ比較チャートを表示できます。
4. バーウィジェット

Barウィジェットの使用は、行ウィジェットと同じです。 四角形のバーのデータを表現し、それらが表す値に比例した高さを表します。

add bar chart

  • ウィジェットリストからバーチャートを選択します。
  • ご希望のデータの種類を選択してください: ライブまたは歴史
  • それから、タイトルを提供し、デバイスリストからデバイスを選択します。
  • ドロップダウンメニューは、接続されているすべてのクライアント(有効かつ非アクティブ)をリストします。 プラットフォーム。
  • リストからアクティブ(推奨デバイス)のデバイスを選択し、データを表示 リアルタイムで流れます。
  • 選択したデバイスが関連付けられているトピックを入力する必要があります。
  • 特定のデバイスに複数のトピックがある場合、すべてのトピックがリストされます ドロップダウンメニュー。
  • その後、キーを選択し、キーに適したサブタイトル&ユニットを提供する必要があります。

トレンドチャートなので、時間をかけてデータを表示します。 それこそが データのグラフと時間、データ(値)はy軸を占有し、時間はx軸を占有します。 ザ・オブ・ザ・ 指定したサブタイトルとユニットをy軸に表示します。

  • お好みの色をキーを表すバーに提供できるようになりました。
  • 送信をクリックすると、バーチャートが作成されます。
bar chart

注意:履歴データを選択する場合 ご希望の期間のデータをエクスポートできます。

2つ以上の値を比較するには:

単一デバイスの2つ以上の値(データ)を比較することができます バーウィジェットを使って。

データ比較チャートを作成するには、以下の手順に従ってください。

  • バーウィジェットの作成に必要な手順を記述します。
  • 詳細を提出する前に、最初の色の選択バーの近くの+アイコンをクリックします キー。
  • 別のキーをデータ、サブタイトル、ユニット、色に入力することで、さらに進みます。
  • 選択したデバイスのデータがいくつあるかに基づいて、複数のキーを追加できます。
  • 送信をクリックしてデータ比較チャートを表示できます。
5。 ゲージウィジェット

速度計を視覚的に示すゲージチャートが使用される プログレッシブな値を表す。

手順は、TEXT & COLORウィジェットと同じです。

add gauge

  • デバイスの詳細、トピック、およびキーの選択と最小限の&最大範囲を提供した後、 オフセット値を入力することができます。
  • ここで最小値と最大値がダイヤルの開始点と終了点を示しています。
  • オフセットの使用法は、各オフセットがダイヤルのデータ範囲を表すようにここに変わります ついに針を指す。 異なった色を選ぶことができます オフセット。

圧力計と圧力降下に関するデータを考慮しましょう 範囲間の 0 から 100. ダイヤルを5つの異なる範囲に分割できるようになりました。

  • 0 から 20
  • 20~40
  • 40~60名様
  • 60~80名
  • 80 から 100

各カテゴリは各オフセットを表し、異なるものを割り当てます。 同じ色の色。 針は上りに行き、圧力価値をに基づいて指摘します ダイヤルで受け取ったデータ。

gauge chart
6。 縦のゲージ及び横 ゲージ

縦及び横のゲージの使用はそれと同じです ゲージが、線形進歩的な価値を表すのに使用される。

ウィジェットの作成の手順はまったく同じですが、 ダイヤルの代わりにリニアスケール(水平または垂直)を持っています。 オフセットベースを設定できます。 お問い合わせ

vertical gauge


horizontal gauge

ステップバイステップ手順では、ゲージウィジェットを確認してください。

7. LEDウィジェット

ランダムなデータを扱う条件付きウィジェットです。 それはできます アクティブまたは非アクティブのいずれかのデバイスの状態をチェックするシナリオで使用されます。

LEDウィジェットを作成するには、以下の手順に従ってください。

  • ウィジェットリストからLEDを選択します。
  • 必要なデータの種類を選択します。 ライブまたは歴史
  • それから、タイトルを提供し、デバイスリストからデバイスを選択します。
  • ドロップダウンメニューは、接続されているすべてのクライアント(有効かつ非アクティブ)をリストします。 プラットフォーム。
  • リストからアクティブ(推奨デバイス)のデバイスを選択し、データを表示 リアルタイムで流れます。
  • 選択したデバイスが関連付けられているトピックを入力する必要があります。
  • 特定のデバイスに複数のトピックがある場合、すべてのトピックがリストされます ドロップダウンメニュー。
  • キーを選択する必要があります。
add led light

注意:履歴データを選択すると、ご希望の期間のデータをエクスポートできます。

注意:LED は RANDOM のデータを送る装置のためにだけ働きます。 例えば、On|Off or Open|Close

デバイスがアクティブ時に受け取る値(ON)を提供します デバイスが非アクティブの場合(OFF) それぞれの空間に与えられた。 ご希望の色をお選びください。 選択した色に基づいて、LEDはデバイスの状態を表す点滅します。

led light

8. スイッチウィジェット

これは、あなたが制御することができますユーザーインタラクティブウィジェットです UI自体からデバイスのアクティビティ。

どの種類のデータを取得したいかを選択できます。 ライブまたは 歴史。 デバイスから受け取ったトピック/イベントに基づいて、 デバイス ON/OFF またはサブスクリプションデータで実行する必要があるアクション。

add switch widget

手動でスイッチウィジェットでデバイスをオン/オフできます。

注意:履歴データを選択すると、ご希望の期間のデータをエクスポートできます。

注意:制御したいデバイスがランダムなデータを持っているトピックに購読されていることを確認してください(ON) / オフまたはオープン/クローズ)。

switch widget
クライアント

このメニューは、デバイスの完全なリスト(アクティブなもの)を表示します。 インアクティブ) 接続されているものMQTTブローカーお問い合わせ 接続するデバイスごとに高レベルのビューを提供します。

clients

これがどのように役立つかを知るために深く掘り下げましょう。

ダッシュボードは、デバイスの最新のクイックイベントを提供できます。 しかし、どのようにできるか 公開されたイベントの完全なリストと、購読者の場合に受け取ったコマンドを取得しますか?

インスタントコマンドをデバイスに送信するにはどうすればよいですか?

最適な使い方ができれば、これらの質問はすべて回答できます。 クライアントメニュー

  • クライアントへ
  • クライアントをクリック
イベント

選択したデバイスによって公開されたイベントの完全なリスト。 また、選択したトピックとともに公開されたメッセージのリストを得ることができます デバイス。

  • 各トピックのQoSレベルが公開されました。 当社のブログを読んで、サービスの品質(QoS)について詳しく知る レベル。
  • メッセージが公開された時刻
events

コマンド

選択したデバイスでサブスクリプションされたコマンドの完全なリスト。 お問い合わせ また得ることができます、

  • 選択したデバイスで関連するトピックとともに受け取ったメッセージのリスト。
  • 各トピックのQoSレベルを購読しました。
  • 受信したメッセージを受信した時刻。
commands

購読する トピック

これは、特定のクライアントが購読するトピックフィルタのリストです。

topics

コマンドを送信

「Send Command」は、クライアントにインスタントメッセージを送信するのに役立ちます。

active subscriptions

インスタントコマンドを送信する手順に従ってください:

  • ドロップダウンメニューからトピック名を選択します。
  • コマンドを送信しているデバイスでトピックが購読されていることを確認してください。
  • メッセージタブに送信するコマンドを入力します。
トピックス

すべてのデバイスによって公開され、購読されるトピックの絶対リスト ブローカーに接続します。

デバイスログ

ブローカーとデバイスの接続は、 多くの理由で制限/中断される。 デバイスログタブには、エラーのリストが含まれている ブローカーにデバイスを接続する際に発生した。 これは、背後にある理由を知るのに役立ちます 失敗。

以下のリストは、エラーの理由を識別するのに役立ちます。

ヘリコプター インフォメーション
サーバーの忙しい サーバーの多忙な、多数のソケットの関係はサーバー物理的限界を超過しました アクセス
不明なクライアント クライアントの詳細は正しく与えられません。 Invalid クライアントの詳細
クライアント id null クライアント id null, 接続エントリ制限クライアント識別子 NULL
関係 Refused 同じクライアント ID が見つかり、別のクライアント ID に接続してみてください。 再利用 既存の クライアント識別子が許可されていない
無効な資格 ユーザー名またはパスワードが間違っています。 正しいユーザー認証情報に接続します。 ログイン 認証の詳細 提供される
Ping 応答 失敗しました デバイスはオフラインで行ってきました。 TCPについて タイムアウトが発生しました。
SSL対応 安全な接続を確立する際のエラー。 無効なSSL証明書 または コネクション
プロトコル 未対応 無効なプロトコル。 受信されたメッセージは、適切なMQTT形式ではない場合
ソケットの閉鎖 サーバは忙しい
デバイス切断 予想外 デバイス切断
ルールエンジン

ルールは、ブローカーにインテリジェンスを構築するための最初のステップです。 お問い合わせ 受信したメッセージに基づいてアラートを作成できる自動化エンジン。

規則エンジンは、条件に基づく時間ベースのルールで構成されています。

条件に基づく規則の作成:

  • クライアントとトピック - クライアントとトピックに基づくルール作成
  • トピックとメッセージ - トピックとメッセージに基づいて
  • クライアント & トピック & メッセージ – クライアント名、トピック、メッセージに基づいて
rules type

クライアントとトピック

このルールタイプでは、クライアントに基づいてルールを作成できます。 関連するトピック。

シナリオを考えてみましょう。 マイパブリッシャーはデータを公開しています トピックで、パブ/テスト 2 分間隔で。 そして、私は私の購読者をトピックと望む サブ/テストは、パブリッシャーがデータを公開しているかどうかを把握するために購読しました。

ですから、パブリッシャーがデータを送信するたびにルールを作成できます。 購読者は「メッセージ送信」メッセージを受け取ります。

注意: これは単なる例のシナリオで、自分で作成できます。 あなたの必要性に基づく規則。

クライアントとトピックのルールタイプを作成する手順:

  • ルールタブに移動し、右上隅にある+アイコンをクリックします。
  • ルールを生成するダイアログボックスが表示されます。
  • 今、ルールタイプで「クライアント&トピック」を選択します。
  • 出版社と関連しているパブリッシャー&トピックのクライアントIDを提供します。
client topic rule

複数のトピックがある場合、そのトピックを選択します。 ルールを生成するために意図した。

ランダムなメッセージを受け取るためにあるトピックを入力してください (ルールで設定する)

注意 : このトピックを購読しているデバイスが受信されます 設定したメッセージ。

送信するメッセージを入力し、送信をクリックします。

または、メッセージを送信する場合は、 出版社は「フォワード」をクリックします。 そのために公開されたメッセージを転送します。 購読者。

トピックとメッセージ

このルールタイプでは、メッセージに基づいて応答を送信できます。 受信され、それは、トピックとデバイスと関連していません。 (i.e) 任意の公開トピックに固有のルールを作成することができます & それはデバイスに限定されません 関連する。

このルールタイプは、以下のシナリオに役立ちます。

温度センサーが温度を出版していると思いましょう 範囲内のデータ 0〜50 50 の最適な値に達すると、アラートメッセージを送信する必要があります。 購読者。 そのため、トピックとメッセージルールタイプで、 条件を設定できます。 受信したデータが50の場合、アラートメッセージ「温度 High」を送信します。

注意:これは単なる例のシナリオで、ニーズに基づいて独自のルールを作成できます。

  • ルールタブに移動し、右上隅にある+アイコンをクリックします。
  • ルールを生成するダイアログボックスが表示されます。
  • ルールタイプで「トピックとメッセージ」を選択します。
  • 好みの公開トピックを提供する.
  • 条件(=、<、>)を選択し、値を入力します。 (条件が 50 の場合、条件を = として選択し、 値 50)
topic message rule

ランダムなメッセージを受け取るためにあるトピックを入力してください (ルールで設定する)

注意:このトピックに購読されるデバイスは、設定されたメッセージを受信します。 条件セットは満たされます。

送信するメッセージを入力し、送信をクリックします。

あるいは、 からのメッセージ送信を希望する場合 出版社は「フォワード」をクリックします。 これは、それが満たす上で購読者にあるので、公開されたメッセージを転送します 条件セット。

クライアントトップメッセージ

このルールタイプでは、メッセージに基づいて応答を送信できます。 受け取られ、それは関連しています トピックとメッセージの両方で (i.e) ルールを作成できます 特定のデバイスに関連付けられている任意の公開トピックに固有の.

手順は、クライアント・トピック・メッセージのルールタイプと同じです。

  • ルールタブに移動し、右上隅にある+アイコンをクリックします。
  • ルールを生成するダイアログボックスが表示されます。
  • ルールタイプで「Client-Topic-Message」を選択します。
  • 出版社と関連しているパブリッシャー&トピックのクライアントIDを提供します。 (複数のトピックがある場合、生成する目的のトピックを選択します。 ルール。)
  • 条件(=、<、>)を選択し、値を入力します。 (条件が> 40の場合、 選択できます 条件を > として入力し、40 として値を書き入れて下さい)
  • 今、ランダムメッセージを受信するために約あるトピックを入力してください(ただし、設定する) ルール)
client topic message

注意:このトピックに購読されるデバイスは、設定されたメッセージを受信します。 条件セットは満たされます。

送信するメッセージを入力し、送信をクリックします。

または、メッセージを送信する場合は、 出版社は「フォワード」をクリックします。 これは、それが満たす上で購読者にあるので、公開されたメッセージを転送します 条件セット。

タイマーベースのルール作成

タイマールール - 与えられた日付と時刻に基づいてルールの作成。

タイマールールはルールをスケジューリングして実行するのに役立ちます ご希望の日付と時刻。 (i.e) 指定された日時のアラートを送信できます。

  • ルールタイプで「タイマー」を選択します。
  • 出版社のクライアントIDを提供します。
  • 次に、上記の指定されたデバイスで購読されているトピックを入力してください。 アラートを送信します。
  • 送信するメッセージを入力してください。
  • 次に、アラートは以下のようにスケジュールできます。
    • 特定の日付
    • 日付範囲
    • 週の日
  • お好みのものを選択し、作成をクリックします。
timer rule

完了すると、アラートは購読者によって受信されます 上記日時のクライアント。

rules
セキュリティ

インフォメーションMQTTのセキュリティ機密データを保護し、メッセージングシステムの完全性を維持することが重要です。 によって MQTT のセキュリティの重要な側面に対処し、組織は堅牢なセキュリティを確立できます MQTT ベースのデプロイメントの姿勢、機密データの保護、 不正なアクセスを防ぎ、MQTTの完全性と機密性を維持 コミュニケーション。

Bevywise MQTTブローカーで採用されているセキュリティの3つのレベルは次のとおりです。

デバイスレベルの認証

デバイスレベルの認証は、デバイスのアイデンティティを検証することを含みます MQTTブローカーに接続します。 不正なデバイスを防止することが重要です。 ブローカーにアクセスし、信頼できるデバイスだけが公開し、購読できるようにします トピック。

これにより、デバイスをより安全に接続できます。 認証資格情報。 mqtt で認証フィールドを有効にする必要があります。 conf フォルダに存在する conf ファイル。

認証を有効にする:

  • ./CrystalMQ/conf に行く (パスは異なる場合があります)
  • mqtt.conf を開く
  • AUTHENTICATION_ENABLED フィールドは DISABLED に設定されています。 DEFAULT への変更
mqtt.confの特長

[DEVICE_AUTHENTICATION] - 【郷土料理ものがたり】
導入 = DEFAULT
# DEFAUT | ディスカブル | カスタマイズ

ファイルを保存し、ブローカーを再起動します。

MQTT ブローカーの UI に移動します。 「セキュリティ」メニューを見つける 表示される。 セキュアなデバイス接続用の認証認証情報を作成できます。

security

認証の作成 資格情報:

MQTTユーザー名(アクセスキー)とパスワード(アクセストークン)を追加 特定の ClientIds によって使用される。 'Clients' - は単一の ClientId に変更するか、コンマの区切られたリストにすることができます クライアント Ids(ワイルドカード対応) '*' は、クライアントがどんなクライアントでも 接続できます。

add auth

これらの資格情報は削除することもできます。

MQTTユーザー名(アクセストークン)は、プレーンまたは消化器として保存できます データベース内 セットアップ SECURE_MQTT_PASSWORD = conf/datastoreのTRUE。 confは保存します MQTTの特長 消化器としてのパスワード UIでは表示されません。

データストア.conf

SECURE_MQTT_PASSWORD = TRUE セキュア
# TRUE | バリュー

ファイルを保存し、ブローカーを再起動します。

この設定を切り替えるにはドロップが必要ですのでご注意ください。 既存のデータベース。

アクセス制御リスト(ACL)

ACL は、顆粒のパーミッションを定義し、どのデバイスを制御するために使われます。 クライアントは、 特定のアクション(例えば、公開、購読)MQTT トピックお問い合わせ このレベル セキュリティは、MQTTブローカー内の細かいアクセス管理ポリシーを強化するのに役立ちます。

ACL が有効になっていると、デバイスが許可されているトピックを指定できます。 お問い合わせ 公開または購読、アクセス制限のあるトピック。

ACLを有効にする

ACLを有効にするには、'conf'フォルダにある'mqtt.conf'ファイルに移動します。 その後、 以下: TOPIC_ACL = TRUE.(トイック) ファイルを保存し、ブローカーを再起動します。

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # これによりクライアントが可能 Id&ユーザー名ベースのアクセス制御 トピックへのリスト

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # TRUE の場合、すべてのトピックはデフォルトで許可されます。ただし、トピックが付与/拒否されたアクセスがない場合 顧客に基づく Id またはユーザー名。

TOPIC_ACL = TRUE(トライアス)

# TRUE | バリュー

MQTTの特長 ユーザー名ベース ACL

デバイス認証を有効にして、MQTT ユーザー名ベースの ACL を使用します。

「セキュリティ」メニューに移動

アクセス制御リストセクションで、MQTTユーザー名を選択します。

acl username

MQTT Username/Password の作成時、デフォルト ACL 設定は すべてのトピックの PUBLISH/SUBSCRIBE を可能にする自動的に生成されます。 MQTT ユーザー名の 'Edit' をクリックして編集できます。

トピックのコンマ区切りリストは、許可/拒否することができます クライアントの公開と登録のため このMQTTユーザー名を使用して接続します。 公開と購読のトピックの両方がMQTT-likeを受け入れる フィルター。

(例えば、部屋/+/温度)

クライアントベースの ACL

ClientId に基づいて ACL を設定することもできます。 ACLは、 既に接続された顧客。

[セキュリティ] メニューで、[アクセス制御リスト] セクションの [選択] 'Clients' で、接続されたクライアントに ACL を追加します。

add acl for client


acl clients
TLS/SSL暗号化

トランスポートレイヤーセキュリティ(TLS)またはセキュアソケットレイヤー(SSL)暗号化 セキュリティのレイヤーを追加します。 クライアントとブローカー間のMQTT通信の暗号化。 これにより、MQTT メッセージへのeavesdropping、改ざん、または不正なアクセスを防ぐことができます。 伝達。

TLS/SSLを有効にする

TLSを有効にするには、TLS_ENCRYPTION = conf/mqtt.conf の TRUE を設定します。

TLS_ENCRYPTION = TRUE(トレクル)

[TLS]

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # TLS_ENCRYPTION = TRUE の場合のみ使用

TLS_PORT=8883年

# TLS_PORT は 88xx でなければなりません。

WSS_PORT = 11443 の

# ブローカーの安全なWebsocketポート

SERVER_CERTIFICATE = ././Certificate/server/server.crt

SERVER_KEY = ././認証/サーバー/サーバー.key

CA_CERTIFICATE = ././Certificate/root/root.crt

TLSが有効になっているため、ブローカーは代わりにポート8883で起動します の 1883.

注意:WSS_PORT_NO は Websocket で MQTT SSL バージョンを起動します。

デフォルトでは、MQTTRoute は、サーバーの自己署名証明書が付属しています。 証明書は内部にありますCrystalMQ/証明書

SERVER_CERTIFICATE = ././Certificate/server/server.crt

SERVER_KEY = ././認証/サーバー/サーバー.key

CA_CERTIFICATE = ././Certificate/root/root.crt

ルート証明書(root.crt)は、デバイス/クライアントにアップロードする必要があります クライアントが サーバの証明書(server.crt)が信頼できるルート証明書によって署名されたことを確認します。

自己署名証明書を作成する必要がある場合は、以下を確認してください。

自己署名証明書作成 - Linux

証明書権限の署名キーを生成する

$のopensl genrsa -des3 -out ca.key 2048

キーのパスフレーズを入力して保存します。

結果 :

RSA の秘密鍵、2048 ビット長弾性(2 点)の生成

..................

.+ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

e は 65537 (0x010001)です

ca.keyのパスフレーズを入力してください:

検証 - ca.key のパスフレーズを入力します。

CAに要求する証明書の署名を生成する

$ opensl req -new -key ca.key -out ca-cert-request.csr -SHA256

組織名(ベビワイズ)を記入し、他者を退場 空です。

結果 :

ca.keyのパスフレーズを入力してください:

組み込まれる情報を入力してください。

あなたの証明書の要求に。

あなたが入るしようとしているのは、流出した名前またはDNと呼ばれているものです。

かなりのフィールドがありますが、あなたはいくつかの空白を残すことができます

一部のフィールドにはデフォルト値があります。

'.' を入力すると、フィールドは空白のままになります。

お問い合わせ

国名(2文字コード) [AU]:

州または州の名前 (フルネーム) [Some-State]:

地域名(例、市) []:

組織名称(例、会社) [インターネットウィジェットPty株式会社]:Bevywise

組織ユニット名(例、セクション) []:

共通名(サーバーFQDNまたはユーザー名など) []:

メールアドレス []:

以下の属性を入力してください。

証明書のリクエストで送信する

チャレンジパスワード []:

任意会社名 []:

CAのルート証明書を作成する

$ opensl x509 -req -in ca-cert-request.csr -signkey ca.key -out ca-root.crt -days 365 -sha256

結果 :

シグネチャーOK

subject=C = AU, ST = いくつかの State, O = Bevywise

プライベートキーの取得

ca.keyのパスフレーズを入力してください:

サーバー/ MQTT ブローカーのキーペアを作成する

$ opensl genrsa -outサーバーを開きます。 キー 2048

結果 :

RSA の秘密鍵、2048 ビット長弾性(2 点)の生成

......................................................................................................................................................................................................./ ヽ ノ

........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

e は 65537 (0x010001)です

証明書署名リクエストを作成する

サーバキー(server.key)を使って送信することができます。 本人確認のための認証機関へ

$ opensl req -new -key サーバーを開きます。 キー - アウトサーバー-cert-request.csr -SHA256

任意の組織名(例えばBevywise Inc)を提供し、共通を入力します。 名前。 Comman名(例:tempmyaccount.mqttserver.com)は、サーバーのドメイン名でなければなりません。 MQTTブローカーが稼働している。

ローカルマシンでMQTTブローカーが動作している場合、またはローカルホストを入力してください。

結果 :

組み込まれる情報を入力してください。

あなたの証明書の要求に。

あなたが入るしようとしているのは、流出した名前またはDNと呼ばれているものです。

かなりのフィールドがありますが、あなたはいくつかの空白を残すことができます

一部のフィールドにはデフォルト値があります。

'.' を入力すると、フィールドは空白のままになります。

お問い合わせ

国名(2文字コード) [AU]:

州または州の名前 (フルネーム) [Some-State]:

地域名(例、市) []:

組織名称(例、会社) [インターネットウィジェットPty株式会社]:Bevywise Inc

組織ユニット名(例、セクション) []:

一般的な名前(サーバーFQDNまたはユーザー名など) [:tempmyaccount.mqttserver.com

メールアドレス []:

以下の属性を入力してください。

証明書のリクエストで送信する

チャレンジパスワード []:

任意会社名 []:

サーバ証明書の作成と署名

このステップは、新しいサーバー証明書を作成し、それを電源で署名することです 証明書の権限。

$ opensl x509 -req -inサーバー-cert-request.csr -CA ca-root.crtの -CAkeyのca.key -CAcreateserial -out server.crt -days 360

結果 :

シグネチャーOK

subject=C = AU, ST = ステータス, O = Bevywise Inc, CN = Tempmyaccount.mqttserver.com

CAの取得 プライベートキー

ca.keyのパスフレーズを入力してください:

以下の証明書と鍵を手元に置いています。

  • ca-root.crt (root.crt に名前を付ける)
  • サーバ.crt
  • サーバキー

これで、server.crt とサーバー。 サーバにキーをアップロードする .../MQTTRoute/証明書/サーバー, root.crt はクライアントに提供されているため、クライアントは サーバの証明書(server.crt)が信頼できるルート証明書によって署名されたことを確認します。

root.crt - .../MQTTRoute/Certificate/root

サーバ.crt - .../MQTTRoute/Certificate/server

server.key - .../MQTTRoute/証明書/サーバー

自己署名証明書作成 - Windows
  • CA証明書を作成する
  • Windowsファイルエクスプローラを開きます。
  • OpenSSL bin ディレクトリに移動します。
  • opensl.exeファイルを右クリックし、管理者として実行を選択します。
  • 証明書と秘密鍵の生成を開始するには、次のコマンドを入力します。

req -new -x509 -sha256 -ノード -days365 -newkey rsa:2048 -キーアウト root.key -out root.crt

次に、該当する名前を入力するように求められます (DN) 情報、合計7つの分野:

国名(2文字コード) [AU]:.

州または州の名前 (フルネーム) [Some-State]:.

地域名(例、市) []:.

組織名称(例、会社) [インターネットウィジェットPty株式会社]:Bevywise

組織ユニット名(例、セクション) []:.

共通名(サーバーFQDNまたはユーザー名など) []:

メールアドレス []:[email protected]

必要に応じて詳細を変更できます。

完了したら、ルートを見つけます。 crtとroot。 キーファイル ..\\ で作成 OpenSSL\\bin\\ディレクトリ

サーバキーペアを作成する :

繰り返して、opensl の bin フォルダーに移動して、 次のコマンド:

genrsa -outサーバー.key2048

req -新しい-out server.csr -keyサーバー。 キーキー

次に、該当する名前を入力するように求められます (DN) 情報、合計7つの分野:

国名(2文字コード) [AU]:.

州または州の名前 (フルネーム) [Some-State]:.

地域名(例、市) []:.

組織名称(例、会社) [インターネットウィジェットPty株式会社]:Bevywise

組織ユニット名(例、セクション) []:

一般的な名前(サーバーFQDNまたはユーザー名など) [:mqtt.server.com

メールアドレス []:[email protected]

送信する次の属性を入力してください。 証明書。 要求

チャレンジパスワード []:

任意会社名 []:

プロンプトで次のコマンドを入力します。

x509 -req -in server.csr -CA root.crt -CAkeyの根。 キーキー -CACreateserial -outサーバー.crt

作成した証明書を各フォルダーにアップロードします。

root.crt ../MQTTRoute/Certificate/root

.../MQTTRoute/Certificate/server の server.crt

.../MQTTRoute/Certificate/server の server.crt

信頼されるCA証明書作成 - Linux

この例では、certbot を使って LetsEncrypt を生成します。 証明書と証明書を使用する MQTTRouteとクライアント間の安全なTLS通信を有効にします。

certbot をインストールします。

$ sudo スナップインストール -classic certbot

$ sudo ln -s/snap/bin/certbot/usr/bin/certbot/

証明書の作成:

$ sudo certbot certonly -スタンドアロン -d <your_domain>

証明書の作成と保存 /etc/letsencrypt/live/<your_domain>

これらの生成された証明書のパスをセットする Bevywise/MQTTRoute/conf/mqtt.conf の使い方

TLS_ENABLED = TRUE(トゥルー)

SERVER_証明書 = /etc/letsencrypt/live/<your_domain>/fullchain.pem

サーボキー = /etc/letsencrypt/live/<your_domain>/privkey.pem

CA_CERTIFICATE = /etc/letsencrypt/live/<your_domain>/chain.pem

信頼のCA証明書作成 - Windows

この例では、certbot を使って LetsEncrypt を生成します。 証明書および使用 MQTTRouteとクライアント間の安全なTLS通信を可能にする証明書。

certbot をインストールします。

Windows用のCertbotインストーラの最新バージョンをダウンロード urlから、 https://dl.eff.org/certbot-beta-installer-win_amd64.exe.

証明書の作成:

Windows Startメニューを開き、Windows PowerShellを起動します。 管理者。

無料のLet’s Encrypt SSLをリクエストするには、次のコマンドを入力してください 証明書。

PS> 証明書 -d <your_domain>

証明書が作成され、ライブフォルダに保存されます インストールディレクトリ。 これらの生成された証明書のパスを Bevywise/MQTTRoute/conf/mqtt.conf に設定します。

TLS_ENABLED = TRUE(トゥルー)

SERVER_証明書 = /etc/letsencrypt/live/<your_domain>/fullchain.pem

サーボキー = /etc/letsencrypt/live/<your_domain>/privkey.pem

CA_CERTIFICATE = /etc/letsencrypt/live/<your_domain>/chain.pem

データベースの構成

データの保存方法を設定するオプション ブローカーは Bevywise/CrystalMQ/conf/datastore.conf に設定されています。

デバイス情報(デバイスIDとサブスクリプション)とMQTTペイロード (公開/受信メッセージ) デフォルトでは、リレーショナルデータベースの1つにブローカーによって保存されます。 リレーショナル サポートされているデータベース ブローカーはSQLite、MySQL、MSSQL、PostgreSQLです。 UIは、このデータベースを使用します。

ただし、他のデータベースに保存する必要がある場合、外部 ブローカーは、それも設定することができます。

リレーショナルデータベースでのストレージの有効/無効化

デバイス情報(デバイスID、サブスクリプション)と データベースのペイロード(公開/受信メッセージ)、

  • Bevywise/CrystalMQ/conf/datastore.conf に行く
  • セット、RELATIONAL_PERSISTENCE_ENABLED PAYLOAD_TO_DB を有効化

RELATIONAL_PERSISTENCE_ENABLED = TRUE(クリエイティブ)

PAYLOAD_TO_DB = ENABLED(エンタブル)

デバイス情報とペイロードの両方を保存したくない場合 データベース, その後、セット

RELATIONAL_PERSISTENCE_ENABLED = 偽物

この場合、CrystalMQ UI は利用できません。 フェンス, PAYLOAD_TO_DBの特長 お問い合わせ 免責事項

デバイス情報をデータベースに保存し、MQTT を使わない ペイロード、セット

RELATIONAL_PERSISTENCE_ENABLED = TRUE(クリエイティブ)

PAYLOAD_TO_DB = 無効

この場合、UI でのみデバイス情報を見ることができます。

リレーショナルデータベースの設定は下記をご覧ください。

SQLITEの設定

SQLITE は MQTTRoute のデフォルトストレージオプションです。 デフォルトでは、ブローカー SQLITE でデータを保存します。

データストアで設定した設定を確認できます。 お問い合わせ DB_SERVER は SQLITE で設定します。

【コンフィグ】
DB_SERVER = SQLITE は、
# SQLITE ||MYSQL ||POSTGRES ||MSSQL

また、SQLite Server 情報を確認してください。 サンプル構成は与えられます 以下:

[SQLITE]
# SQLITE ||MYSQL ||POSTGRES ||MSSQL

SQLite データベースはパス Source/Bevywise/CrystalMQ/data に保存されます。

MySQLの設定

MySQL Server を、CrystalMQ が使用するリレーショナルデータベースとして設定するには、 Bevywise/CrystalMQ/conf/data_store.conf の設定

DB_SERVER=マイSQL

また、MySQL Server 情報を設定します。 以下にサンプルの設定を行います。

[MYSQL]

DBHOST = 127.0.0.1

レポート = 3306

MYSQL_DB = 同様に

MYSQL_USER = ルート

MYSQL_PASSWORD = ルート

Note : サーバの設定は、MySQLサーバから取得する必要があります。

MYSQLのコネクターの取付け:

以下を実行することにより、 MYSQL コネクタやその他の依存関係をインストールします。 コマンド

../MQTTルート/ビン

ウィンドウズ

インストール_mysql_connector.bat

ログイン

$ sh install_mysql_connector.sh

MSSQLの設定

CrystalMQ で使用されるリレーショナルデータベースとして MSSQL Server を構成するには、 Bevywise/CrystalMQ/conf/datastore.conf の設定

MSSQLとは

また、MSSQL Server情報を設定します。 サンプル構成は以下のとおりです。

[MSSQL]

DRIVER = SQL Server用のODBCドライバ17

サーバ名 パスワード

レポート = 1434

MSSQL_DB = 同様に

MSSQL_USER=サ

MSSQL_パスワード パスワード

Linux では、 SERVER_NAME をファイル内の 'Description' の値に設定します。 /etc/odbcinst.ini は、

PostgreSQL の設定

PostgreSQL の設定 サーバが使用するリレーショナルデータベースとして クリスタルMQ, Bevywise/CrystalMQ/conf/datastore.conf の設定

DB_SERVER = POSTGRES サーバ

PostgreSQL の設定 サーバー情報。 サンプル構成は与えられます お問い合わせ

[ポジション]

PSQLHOST = 127.0.0.1

PSQLPORT = 5432 円

PSQL_DB = 同様に

PSQL_USER = ポストグレス

PSQL_パスワード = 管理者

MQTTの特長 スパークプラグ Bサポート

MQTTの特長 スパークプラグ B産業用機器間の通信を容易にするためにMQTTブローカーに依存します。 センサーやアプリケーション、SCADA、ヒストリアンなど MQTTブローカーは、アンダーリーシングとして機能します コミュニケーション 遵守するインフラMQTTの特長 プロトコルSparkplug B-compliant メッセージのルーティングを標準で処理します。

Sparkplug B-compliant デバイスとアプリケーションを公開し、購読する MQTTブローカーのトピック、 Sparkplug B プロトコルで指定された構造データ形式とガイドラインに従います。

MQTTブローカーは通信バックボーンとプロトコルを提供します サポート、MQTT Sparkplug B 産業用IoTエコシステム内のデータ交換の基準と慣行を定義します。 活用する MQTTプロトコルの機能 効率的で信頼性が高く、スケーラブルな産業オートメーションと監視に適しています。

ブローカーは、デフォルトで、Sparkplug対応のデバイスを使わずにサポートします。 設定の変更を要求する ファイル。 しかし、 mqtt で 'authentication' 設定が有効になっていることを確認するために不可欠です。 conf ファイル。

交通 = 交通

MQTTの特長 クラスタリング

保障する高い アクセス, 1つ以上の堅牢なブローカーが使用できます。 当社のCrystalMQと 組み込みインターブロカー・コミュニケーター(IBC)クラスター内のすべてのブローカーがお互いに話し合うことを可能にします デバイスとの継続的な通信方法 クライアントがクラスター内の任意のブローカーに接続して取得の不敬意.

ロードバランサーは、デバイスフェーシングエッジで設定してバランスを取ることができます。 負荷。

ブローカー間のコミュニケーター機能の詳細については、 高可用性ブログ

CrystalMQの高可用性を有効にするには、アクティブにする必要があります ブローカーのコミュニケーターを最初に。

インターブロッカー・コミュニケーターの活性化

内蔵のInter-broker Communicator(IBC)機能により、シームレスに すべてのブローカー間の通信 クラスター内。 これは、デバイスとの継続的な接続を保証します どちらのブローカークライアントが接続しているかに関係なく、両方の方向で。

ブローカーマシンにMQTTRouteをインストールした後、IBCを有効にするには、 構成の Bevywise/MQTTRoute/conf/mqtt.conf は以下のとおりです。

カスタマイズ可能な = はい

以下のイラストは、設定を実証します。

ibccluster

このアレンジでは、IBC対応のブローカー2つ以上がグループ化されています。 クラスターを作成する ロードバランサーは、これらのブローカー間でワークロードを均等に配布するように構成されます。 すべてのMQTT クラスター内のブローカー 各ブローカー内のIBCは、共有を利用して持続的なコミュニケーションを保証します。 データベース(DB) つまり、 そのブローカーは、互いに直接通信しません。 代わりに、データをデータにプッシュする 中央のデータベースは、他を可能にする このデータにアクセスするためのブローカー。 その結果、すべてのブローカーはクライアントの詳細とデータへのアクセス権を持っています。

注意:任意の負荷バランサを選択するための柔軟性があります あなたのニーズに合ったもの。

Nginx のロードバランサー構成のより広範囲な理解のために、私達は推薦します 空室状況の多いブログをご覧ください。

Azure をロードバランサーとして使用することを選択した場合は、専用の参照をおすすめします。 ブログ投稿 拡張された明快さのためのAzureの負荷バランサー構成。

参照:IoTソリューション Azureブログの実装

Monitを用いたプロセスの監督

サービスとしてMQTTブローカーを実行するには、Monitバージョン5.25が必要です。 Monitはオープンソースの動的です システムプロセスを監視および管理するために使用されるLinuxシステムのための監視用具。 また、自動で行います 特定のプロセスの維持または修理(すなわち、サービスの再起動)と実行 重要なポイント 必要に応じてエラー条件の非公式アクション。

ダウンロード&インストール モニット:

$ sudo aptインストールmonit

$ sudo systemctl monit を無効にします。

$ ウィジェット https://monit.com/monit/dist/binary/5.25.25.25.2/monit-5.25.25.25.25.2-linux-x64.tar.gz

以下のコマンドを使用してアーカイブを抽出します。

$ tar -xvzf < ダウンロードファイル> (例:-$ tar -xvzf) monit-5.25.2.5.2-linux-x64.tar.gz

monitrcファイルをコピーし、以下の場所に貼り付けます:

$ sudo cp monit-5.25.25.2/con/monitrc/etc/

$ sudo chmod 700 /etc/mmonitrc

Monit HTTP インターフェイスを有効にする:

次の行をコメントせずに HTTP インターフェイスを有効にします。 /etc/monitrc ファイル。

httpd の港 2812 を置き、
アドレス localhost # は localhost からのみ接続を受け付けます(M/Monit を使用する場合は、ドロップ)
localhost # はローカルホストがサーバーに接続できるようにします。
管理者を許可します: monit # パスワード「monit」でユーザの「admin」が必要です . .

ユーザー名とパスワードでadmin:monitを変更したい場合 使用したい

開始Monit:

$ cd monit-5.25.25.2/bin/

$ sudo pkill -9 monit

$ sudo ./monit

Monit UI を Web ブラウザーの下の URL で開く http://localhost:2812

エクステンション

CrystalMQには、ユーザーが柔軟にするために特定の拡張機能があります。 お問い合わせ あなたのニーズに基づいてカスタマイズします。

これらのカスタムエクステンションは、個別または組み合わせて使用できます。 MQTT ブローカーを超えてお客様の要件を満たします。

CrystalMQ/extensions/extension_globals.py では、 内部データベースを照会するために、ライブ更新をUIに送信し、メッセージを送るために使用することができます 接続されたクライアント。

これらのオブジェクトは、拡張子でコンパイルを収穫することができます カスタマイズ。

カスタム認証

デフォルトでは、デバイスの認証はブローカーによって行われます。 しかし、もし 認証はブローカーの外で行われる必要があります。このオプションは、設定で使用できます。 Bevywise/MQTTRoute/conf/mqtt.conf の使い方

  • ./CrystalMQ/conf に行く (パスは異なる場合があります)
  • mqtt.conf を開く
  • AUTHENTICATION が True に設定されていることを確認してください

AUTHENTICATION=カスタマイズ

[DEVICE_AUTHENTICATION] - 【郷土料理ものがたり】

この場合、デバイスから送信されるユーザー名/パスワードは、 method custom_authenticate(ユーザー名、パスワード、クライアントID、ipaddress) CrystalMQ/拡張子/カスタム_authentication.py

この方法は、デバイスを認証するために更新することができます。 お問い合わせ (例:外部LDAPサーバへのHTTPリクエスト)

カスタムデータストア

あらゆるIoT導入においてAI/MLが大きな役割を果たしています。 データを受け取ったので 異なるセンサーから、あらゆるBIGデータエンジンにモデリングおよび保存する必要があります。 分析と意思決定。 MQTTの特長 ルートは、カスタムストアと呼ばれるオプションを提供し、データを受け取る 必要に応じて、バックエンドに保存します。

カスタム ストアの実装は、MQTTから受け取ったペイロードを借りるために使用されます ブローカーは、分析/ビッグデータエンジンのいずれかでペイロードを保存します。 設定するには、conf/datastore.conf で

DATA_INTEGRATION = 取引

CrystalMQ/extensions/custom_store.py では、2 つのホック方法があります:
on_message_received_hook(data) - このメソッドはクライアントが公開するたびにデータを取得します。
on_message_sent_hook(data) - このメソッドはクライアントに送信されるたびにデータを取得します。
データは、次のキーで JSON 形式で渡されます。

データ: { 'sender':, 「トピック」:, 'メッセージ':, 'unixtime':, '日付':お問い合わせ これらの方法は、データを他のデータシンクにプッシュ/ストアするために使用できます。

カスタムUIサーバー

UIカスタムサーバーは、ユーザーインターフェイスをカスタマイズするオプションを提供します。 お問い合わせ カスタマイズする必要があるため、CrystalMQ/extensions/custom_ui_server.py ファイルにコードを変更できます。 お問い合わせ ダッシュボードを設定して、デバイスデータを必要に応じて表示することができます。 自分で追加できます 要件、デバイスの詳細、または必要に応じてユーザーインターフェイスへの通知。 UIカスタム サーバは、サーバー側の独自のコードを追加することで、CrystalMQのUIをカスタマイズするのに役立ちます。 URL と対応するメソッドを使用して新しい機能を追加します。 これらのURLは呼び出すことができます ユーザーインターフェイスからデータを操作できます。

カスタムスケジューラ

カスタムスケジューラは、独自のスケジュールジョブを作成するのに役立ちます クリスタル サーバー側で独自のコードを追加することで、MQ を実行できます。

CrystalMQ/extensions/custom_scheduler.py に追加されたジョブとスケジュールが追加されました。 ブローカー。 これを有効にするには、メソッド custom_schedules() で設定します。enableCustomSchedules = 真の

自己ホストブローカーのパワーを拡張する準備はできましたか?

信頼性、制御、カスタマイズを改善して下さい
高度の選択を使って。

監視ツールのロックを解除, 自動化機能, 専門家レベルのサポート - あなたの成長するために構築された当社の高度な計画を説明します.