ふりがなMQTTブローカー内蔵MQTTブローカーを備えた完全なIoTアプリケーションスイートです。 それは中央MQTTとして機能します サーバー, MQTT対応エッジデバイス/モノのインターネット(IoT)間の通信を容易に データ分析と可視化のために保存できるデータをデバイスと収集します。
CrystalMQブローカーは、メッセージキューイングテレメトリー輸送(MQTT)を使用しています。 プロトコル 標準的なメッセージングプロトコル/通信プロトコルとして。MQTTの特長出版物に基づく作品 モデル。 それはあなたを助けて完全に拡張可能なフレームワークを提供します あらゆる産業ユースケースに強力なIoT/IIoTアプリケーションを構築できます。
トピックベースのメッセージング:クリスタル MQ は、メッセージが表示されるトピックベースのメッセージングモデルを使用します。 特定のトピックに公開 購読者が購読に基づいて関連するデータのみを受け取ることを可能にします。
QoSの処理:CrystalMQは、サービス(QoS)レベル(0, 1, 2)の異なる品質をサポートし、メッセージを確実にする 配達信頼性および保証、 通信シナリオの要件に基づいて.
関係管理:クライアントの接続を管理します。, 確立を含みます, 維持, MQTT接続の終了、および接続の復元とタイムアウトの処理。
セキュリティ:TLS暗号化、認証メカニズムなどのセキュリティ機能を提供します。 (ユーザー名/パスワード、クライアント証明書)、 安全かつ公正なコミュニケーションを確保するための制御にアクセスします。
持続性:メッセージを保存し、メッセージを管理するためのメッセージの永続オプションを提供し、メッセージの配信を保証します 一時的なネットワークの中断やクライアントの不当性であっても。
拡張性:数百万人の同時並行をサポートする能力 接続は、利用可能な最もスケーラブルで高性能なMQTTブローカーとして際立っています。
このセクションでは、ダウンロードとインストールに関する包括的なガイドを提供しています 選択したマシンまたは選択したマシン上のBevywise 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 |
機能制限なし | カスタムストレージ | マルチテンナシー - ホワイトラベリング | |
含まれているクラスタリング | 詳しくはこちら | 詳しくはこちら | 詳しくはこちら |
ダウンロード | 今すぐ購入 | お問い合わせ | お問い合わせ |
私たちのメッセージングブローカーは、プライベート/ローカルマシン/物理的なサーバー上で実行することができます オンプレミス環境でも、ドッカーでも実行できます。
クラウドアグノスティックで、任意のクラウドプラットフォームでホストできます。
現在、以下の運用システムが稼働しています。 ダウンロード可能なパッケージ。
MQTT ブローカーを 1 つだけデプロイするオプションもあります。 クリックします。そして、ログイン マーケットプレイスお問い合わせ
MQTT を実行するには ブローカーはドッカーとして、以下のリンクを使用して開始してください と:ドッカーとして実行お問い合わせ
ウィンドウズ
または
ログイン
ターミナルウィンドウを開きます。 ダウンロードしたMQTTブローカーのパスに移動 パッケージはアーカイブを解凍し、アーカイブを解凍します。
デフォルトでは、ブローカーは localhost IP アドレス (127.0.0.1) / マシンIPとポート1883にリスニング。
ウェブブラウザを開き、 http://localhost:8080/ (置換) IPアドレスで「ローカルホスト」 アドレスバーにあるMQTT Broker Dashboardにアクセスします。
メッセージブローカーを開始できる他の方法は、 サービスとして実行します。 サービスとしてブローカーを実行すると、マシンが起動したときに自動的にブローカーを開始するのに役立ちます。 端末やコマンドプロンプトから毎回実行しないでください。
ウィンドウズのため
CrystalMQサービスを開始するには、
クリスタルを停止する MQ サービス,
Linux用
bin フォルダー (Bevywise/CrystalMQ/bin) には RunAsService.sh ファイルが含まれています。 ログイン このファイルは「サービスファイルの設定」を有効にします . . と ‘path’ ("/opt/Bevywise" フォルダーにシンボルリンクリダイレクトとして設定)。
今度は、サービスを始めるために、使用して下さい
sudo systemctl start 結晶。 サービス
ステータスを確認するには、
sudo systemctl ステータスクリスタル mq. サービス
サービスを停止するために、使用して下さい
sudo systemctl stop クリスタル mq. サービス
ザ・オブ・ザ・Bevywise IoTシミュレータMQTTのデータシミュレーションツール 複数のデバイスを同時に作成およびシミュレートできます。 これにより、 負荷テストを実施し、接続を効率的にテストします。
MQTTプロトコル対応 - MQTT 3.1、および 3.1.1
MQTTクライアント
弊社では、さまざまなニーズに対応できるよう、包括的なドキュメントを準備しております。MQTTクライアント当社のCrystalMQブローカーに。 これらのガイドは詳細な指示と洞察を提供します。
CrystalMQ とのシームレスな統合体験を保証します。 下記のリンクからスタート
お問い合わせ
インスタントMQTTクライアント。
MQTTクライアント
ドキュメント
このセクションでは、ハードウェアの要件とファイルについて説明しています。 高いレベルの構成のためのディレクトリ。
ハードウェア要件
ハードウェアの要件は、メッセージ率とサイズによって異なります。
ただし、参考までに最低限の要件を必ずご確認ください。
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では、セッションとメッセージの概念について紹介しています。 クライアント セッションの有効期限間隔を設定できます。 ブローカーは指定された期間後に切断されたクライアントセッションをクリーンアップできるようにします。
ブローカーのセッションの有効期限間隔を設定および設定できます。
セッションの有効期限の特定の時間枠を定義できます。 おすすめ 構成される、 特定の期間後に、クライアントセッションが自動的に削除されます。
すべてのユニバーサルセッションの有効期限間隔を設定するオプションがあります デバイス。
また、各セッションの有効期限間隔を設定できます。 -1 に値を設定することでクライアント。 この場合、ブローカーはセッションの有効期限のために各クライアントのCONNECTパケットをチェックします 間隔値, これらの値を使用して、セッションのクリーンアップを適切に管理します。
受け取る最大
RECEIVE MAXIMUM プロパティは、最大数の指定に使用されます。 QoS 1とQoS 2 クライアントが同時処理できるメッセージ。 柔軟性と効率性を高めます。 のためのメッセージ配達の 同時メッセージ処理、より良いリソース利用と クライアントとブローカー間で動的にメッセージ処理を改善しました。
ブローカーの数値を設定して設定できます。 conf プロパティ SERVER_RECEIVE_最大。
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を定義できます。
最高のパケット サイズ
最高のパケット サイズ プロパティはブローカーが通知するために使用されます クライアントについて最大 パケットのサイズを許可します。 クライアントは、この制限よりも大きいパケットを送信する必要はありません サーバ。 サーバーの場合 このサイズの制限を超えるパケットを受信し、プロトコルエラーと見なされます。 サーバは、DISCONNECT パケットを使用してクライアントを切断します。
ブローカーで最大パケットサイズを設定できます。 お問い合わせ
Topic 別名で最高
"Topic Alias Max" は、最大値を指定するプロパティです。 電話番号 クライアントがブローカーとのMQTT通信中に使用できるトピックエイリアス。 これにより、ブローカーは、それができるトピックのエイリアスの最大数についてクライアントに通知することができます 使用。
トピックのエイリアスは、減少に役立つトピックへの短い参照です MQTT制御パケットのサイズ トピック名をより短い識別子(エイリアス)で置き換えること。
Broker.conf で最大 Topic Alias を設定できます。
0 の値は、ブローカーがトピックエイリアスをサポートしていないことを示しています。 クライアントは、そのメッセージでトピックエイリアスを使用しないでください。
サーバは生き生き続ける
ザ・オブ・ザ・「サーバーキー」 アライブメカニズムは、MQTTブローカー(サーバー)がクライアントに通知することを可能にする機能を指します アクティブ接続を維持するための最大時間間隔について。
接続確立フェーズ(CONNACKパケット)中、MQTT ブローカーはクライアントに通知 「サーバーは生き続ける」間隔について。 「サーバーは生き続ける」間隔は最大を指定する 時間の長さ(秒単位) クライアント 管理パケット(例、PINGREQ)をブローカーに送信することなく、アイドル状態を維持できます。
mqtt で定義できます。
ここを生き続けることを指定すると、クライアントはこの値を使用します CONNECT パケットで提供されている保留価値の代わりに。
しかし、その値が-1に設定されている場合は、ブローカーがブローカーではないことを意味します サーバは Alive プロパティを保ち、ブローカーは、 クライアント CONNECT パケット。
利用できる保持
「利用可能な保持」機能は、MQTT の機能を参照します。 ブローカーをサポート保持メッセージお問い合わせ 保持メッセージは、保存されている特別なMQTTメッセージです ブローカーは、トピックを購読したときに新しい加入者に配信されます。
mqtt.conf で Retain を有効に/無効にできます。
0 の値は、メッセージの保持が無効になっていることを意味します。 1つの値が保持されたメッセージが有効になっていることを意味します。
ワイルドカードサブスクリプション 利用できる
ワイルドカードのサブスクリプションは、利用可能なサブスクリプションパターンを指します。 クライアントが購読する ワイルドカード文字を使用した複数のトピック(+、#)。
MQTT ブローカーを有効または有効にするために設定するオプションがあります。 要件に基づいてワイルドカード機能を無効にします。
0 の値は、ワイルドカードサブスクリプションが無効になっていることを意味します。 1 の値は、ワイルドカードサブスクリプションが有効になっていることを意味します。
サブスクリプション識別子 利用できる
サブスクリプション識別子は、MQTTクライアントがMQTTクライアントを パスワード 識別子に サブスクリプション サブスクリプション識別子は、個々のサブスクリプションを一意に識別するために使用される によって作って下さいMQTTクライアント具体的なトピック 各サブスクリプションは、一意の識別子を割り当てることができます。
0 の値は、サブスクリプション識別子が無効になっていることを意味します。 1 の値は、サブスクリプション識別子が有効になっていることを意味します。
MQTTの特長 共有サブスクリプション
当社のブローカーは、デフォルトで、共有サブスクリプションをサポートし、データができるようにします。 配布中 サブスクリプション 出版社がデータをトピックに送信するとき、それはすべての購読者の間で共有されます クライアント。 例えば2つの場合 クライアントは「トピック1」に登録されています。 ブローカーはメッセージの送信を交互に行います。
共有サブスクリプションは、以下の形式に従ってください
mqtt で有効/無効にすることができます。
注意:共有サブスクリプション機能中はご注意ください。 クラスター環境内のノード内では、クラスター全体に拡張しません。
当社のブローカーUIは、接続された監視、視覚化、管理を可能にします デバイスとデータ。 このセクションでは、ディープビューが提供されます。 ダッシュボードにアクセスし、必要な方法でMQTTデータを視覚化する方法。
デフォルトでは、ブローカーのUIはポート8080で起動します。 ブラウザにナビゲートして入力することでアクセス可能
または
UI_HTTP_PORTを更新することで、このUIポートを変更できます。 お問い合わせ conf/application.conf を編集
このページには、ブローカーの接続情報が含まれています。 このページからTLS暗号化を有効にまたは無効にすることができます。
API トークンへのアクセスMQTTブローカーREST API についてこのページでは生成できます。
ダッシュボードは、最新の出来事の迅速なスナップショットを提供します あなたができるブローカー、 デバイスから来るリアルタイムデータを表示します。 生データとともに、ブローカーの迅速なリアルタイムステータスを期待できます。
デフォルトのダッシュボードに加えて、MQTT Brokerはカスタムをサポートしています ユーザが 特定の複数のダッシュボードを作成する アプリケーション。 アプリケーションの助けを借りることができる方法を知るために深く掘り下げましょう。
ダッシュボードの使用は、ユースケースとアプリケーションによって異なります。 静的を提供する公正ではありません すべてのIoT実装用のダッシュボード。 したがって、当社のブローカーシステムは、セット付きカスタムダッシュボードをサポートしています プレビルドウィジェットの ユーザーがより良い視覚化を実現するのを支援 適用か産業必要性に特有。
他のMQTTブローカー/サーバーとは異なり、サードパーティを必要としません データを視覚化するためのプラグイン UI自体から複数のダッシュボードを作成できます。 ダッシュボードにウィジェットをレイアウトし、付加価値のある視覚化をユーザーに提供します データ。
サポートされているウィジェットのリスト:
カスタムダッシュボードを作成するには:
ウィジェットを作成するには:
JSONデータとTEXTをサポートするウィジェット。 ウィジェットを作成する 詳しくはこちら 数値データ。
9種類のウィジェットを作る手順は以下の通りです。
詳しくはこちらMQTT トピックお問い合わせ
例えば、JSON の構文は、
「VALUE1」,「KEY2」,「VALUE2」,「KEY3」,「VALUE3」
JSONデータ例
{ “センサー” :”99′′ , “温度” : “90” , “スタタス” : on”
上記データでは、センサー、温度、ステータスが呼ばれます。 キーと99、90、ONはキーの値です。
例えば、温度データを表示したい場合は、 キーを「温度」として選択します。 それから私はデータのためのユニットを入力する必要があります。 主として温度を選択したので、 セルシャスをユニットとして与えました。 データに基づいて、右単位を入力することができます。
カラーウィジェットは、色付きのフォームでデータを表示するのに役立ちます。 また、 それぞれの値の最適な範囲で異なる色を設定します。
TEXTウィジェットを作成するのと同じ手順です。
0 を 50 に普通の速度、50 から 100 は中速および多くです 100 以上は高速です。 以下の手順を確認してください。
ライン Widgetを使用すると、データを表示する傾向を作成できます 時間をかけて変化します。 これは、直線で接続された一連の値を作成するのに役立ちます。 同じ期間に複数の値を変更することもできます。
手順は、TEXT & Colorウィジェットを作成するのと同じです。 しかし、これはトレンドであるので、最小値と最大範囲とオフセットを設定するオプションはありません チャート。
トレンドチャートなので、時間をかけてデータを表示します。 それこそが データのチャートと時間。 データ(値)はy軸を占有し、時間はx軸を占有します。 ザ・オブ・ザ・ 指定したサブタイトルとユニットをy軸に表示します。
注意:履歴データを選択すると、ご希望の期間のデータをエクスポートできます。
2つ以上の値を比較するには:
単一デバイスの2つ以上の値(データ)を比較することができます ウィジェットを行ないます。
データ比較チャートを作成するには、以下の手順に従ってください。
Barウィジェットの使用は、行ウィジェットと同じです。 四角形のバーのデータを表現し、それらが表す値に比例した高さを表します。
トレンドチャートなので、時間をかけてデータを表示します。 それこそが データのグラフと時間、データ(値)はy軸を占有し、時間はx軸を占有します。 ザ・オブ・ザ・ 指定したサブタイトルとユニットをy軸に表示します。
注意:履歴データを選択する場合 ご希望の期間のデータをエクスポートできます。
2つ以上の値を比較するには:
単一デバイスの2つ以上の値(データ)を比較することができます バーウィジェットを使って。
データ比較チャートを作成するには、以下の手順に従ってください。
速度計を視覚的に示すゲージチャートが使用される プログレッシブな値を表す。
手順は、TEXT & COLORウィジェットと同じです。
圧力計と圧力降下に関するデータを考慮しましょう 範囲間の 0 から 100. ダイヤルを5つの異なる範囲に分割できるようになりました。
各カテゴリは各オフセットを表し、異なるものを割り当てます。 同じ色の色。 針は上りに行き、圧力価値をに基づいて指摘します ダイヤルで受け取ったデータ。
縦及び横のゲージの使用はそれと同じです ゲージが、線形進歩的な価値を表すのに使用される。
ウィジェットの作成の手順はまったく同じですが、 ダイヤルの代わりにリニアスケール(水平または垂直)を持っています。 オフセットベースを設定できます。 お問い合わせ
ステップバイステップ手順では、ゲージウィジェットを確認してください。
ランダムなデータを扱う条件付きウィジェットです。 それはできます アクティブまたは非アクティブのいずれかのデバイスの状態をチェックするシナリオで使用されます。
LEDウィジェットを作成するには、以下の手順に従ってください。
注意:履歴データを選択すると、ご希望の期間のデータをエクスポートできます。
注意:LED は RANDOM のデータを送る装置のためにだけ働きます。 例えば、On|Off or Open|Close
デバイスがアクティブ時に受け取る値(ON)を提供します デバイスが非アクティブの場合(OFF) それぞれの空間に与えられた。 ご希望の色をお選びください。 選択した色に基づいて、LEDはデバイスの状態を表す点滅します。
これは、あなたが制御することができますユーザーインタラクティブウィジェットです UI自体からデバイスのアクティビティ。
どの種類のデータを取得したいかを選択できます。 ライブまたは 歴史。 デバイスから受け取ったトピック/イベントに基づいて、 デバイス ON/OFF またはサブスクリプションデータで実行する必要があるアクション。
手動でスイッチウィジェットでデバイスをオン/オフできます。
注意:履歴データを選択すると、ご希望の期間のデータをエクスポートできます。
注意:制御したいデバイスがランダムなデータを持っているトピックに購読されていることを確認してください(ON) / オフまたはオープン/クローズ)。
このメニューは、デバイスの完全なリスト(アクティブなもの)を表示します。 インアクティブ) 接続されているものMQTTブローカーお問い合わせ 接続するデバイスごとに高レベルのビューを提供します。
これがどのように役立つかを知るために深く掘り下げましょう。
ダッシュボードは、デバイスの最新のクイックイベントを提供できます。 しかし、どのようにできるか 公開されたイベントの完全なリストと、購読者の場合に受け取ったコマンドを取得しますか?
インスタントコマンドをデバイスに送信するにはどうすればよいですか?
最適な使い方ができれば、これらの質問はすべて回答できます。 クライアントメニュー
選択したデバイスによって公開されたイベントの完全なリスト。 また、選択したトピックとともに公開されたメッセージのリストを得ることができます デバイス。
選択したデバイスでサブスクリプションされたコマンドの完全なリスト。 お問い合わせ また得ることができます、
これは、特定のクライアントが購読するトピックフィルタのリストです。
「Send Command」は、クライアントにインスタントメッセージを送信するのに役立ちます。
インスタントコマンドを送信する手順に従ってください:
すべてのデバイスによって公開され、購読されるトピックの絶対リスト ブローカーに接続します。
ブローカーとデバイスの接続は、 多くの理由で制限/中断される。 デバイスログタブには、エラーのリストが含まれている ブローカーにデバイスを接続する際に発生した。 これは、背後にある理由を知るのに役立ちます 失敗。
以下のリストは、エラーの理由を識別するのに役立ちます。
ヘリコプター | インフォメーション |
---|---|
サーバーの忙しい | サーバーの多忙な、多数のソケットの関係はサーバー物理的限界を超過しました アクセス |
不明なクライアント | クライアントの詳細は正しく与えられません。 Invalid クライアントの詳細 |
クライアント id null | クライアント id null, 接続エントリ制限クライアント識別子 NULL |
関係 Refused | 同じクライアント ID が見つかり、別のクライアント ID に接続してみてください。 再利用 既存の クライアント識別子が許可されていない |
無効な資格 | ユーザー名またはパスワードが間違っています。 正しいユーザー認証情報に接続します。 ログイン 認証の詳細 提供される |
Ping 応答 失敗しました | デバイスはオフラインで行ってきました。 TCPについて タイムアウトが発生しました。 |
SSL対応 | 安全な接続を確立する際のエラー。 無効なSSL証明書 または コネクション |
プロトコル 未対応 | 無効なプロトコル。 受信されたメッセージは、適切なMQTT形式ではない場合 |
ソケットの閉鎖 | サーバは忙しい |
デバイス切断 予想外 | デバイス切断 |
ルールは、ブローカーにインテリジェンスを構築するための最初のステップです。 お問い合わせ 受信したメッセージに基づいてアラートを作成できる自動化エンジン。
規則エンジンは、条件に基づく時間ベースのルールで構成されています。
条件に基づく規則の作成:
このルールタイプでは、クライアントに基づいてルールを作成できます。 関連するトピック。
シナリオを考えてみましょう。 マイパブリッシャーはデータを公開しています トピックで、パブ/テスト 2 分間隔で。 そして、私は私の購読者をトピックと望む サブ/テストは、パブリッシャーがデータを公開しているかどうかを把握するために購読しました。
ですから、パブリッシャーがデータを送信するたびにルールを作成できます。 購読者は「メッセージ送信」メッセージを受け取ります。
注意: これは単なる例のシナリオで、自分で作成できます。 あなたの必要性に基づく規則。
クライアントとトピックのルールタイプを作成する手順:
複数のトピックがある場合、そのトピックを選択します。 ルールを生成するために意図した。
ランダムなメッセージを受け取るためにあるトピックを入力してください (ルールで設定する)
注意 : このトピックを購読しているデバイスが受信されます 設定したメッセージ。
送信するメッセージを入力し、送信をクリックします。
または、メッセージを送信する場合は、 出版社は「フォワード」をクリックします。 そのために公開されたメッセージを転送します。 購読者。
このルールタイプでは、メッセージに基づいて応答を送信できます。 受信され、それは、トピックとデバイスと関連していません。 (i.e) 任意の公開トピックに固有のルールを作成することができます & それはデバイスに限定されません 関連する。
このルールタイプは、以下のシナリオに役立ちます。
温度センサーが温度を出版していると思いましょう 範囲内のデータ 0〜50 50 の最適な値に達すると、アラートメッセージを送信する必要があります。 購読者。 そのため、トピックとメッセージルールタイプで、 条件を設定できます。 受信したデータが50の場合、アラートメッセージ「温度 High」を送信します。
注意:これは単なる例のシナリオで、ニーズに基づいて独自のルールを作成できます。
ランダムなメッセージを受け取るためにあるトピックを入力してください (ルールで設定する)
注意:このトピックに購読されるデバイスは、設定されたメッセージを受信します。 条件セットは満たされます。
送信するメッセージを入力し、送信をクリックします。
あるいは、 からのメッセージ送信を希望する場合 出版社は「フォワード」をクリックします。 これは、それが満たす上で購読者にあるので、公開されたメッセージを転送します 条件セット。
このルールタイプでは、メッセージに基づいて応答を送信できます。 受け取られ、それは関連しています トピックとメッセージの両方で (i.e) ルールを作成できます 特定のデバイスに関連付けられている任意の公開トピックに固有の.
手順は、クライアント・トピック・メッセージのルールタイプと同じです。
注意:このトピックに購読されるデバイスは、設定されたメッセージを受信します。 条件セットは満たされます。
送信するメッセージを入力し、送信をクリックします。
または、メッセージを送信する場合は、 出版社は「フォワード」をクリックします。 これは、それが満たす上で購読者にあるので、公開されたメッセージを転送します 条件セット。
タイマールール - 与えられた日付と時刻に基づいてルールの作成。
タイマールールはルールをスケジューリングして実行するのに役立ちます ご希望の日付と時刻。 (i.e) 指定された日時のアラートを送信できます。
完了すると、アラートは購読者によって受信されます 上記日時のクライアント。
インフォメーションMQTTのセキュリティ機密データを保護し、メッセージングシステムの完全性を維持することが重要です。 によって MQTT のセキュリティの重要な側面に対処し、組織は堅牢なセキュリティを確立できます MQTT ベースのデプロイメントの姿勢、機密データの保護、 不正なアクセスを防ぎ、MQTTの完全性と機密性を維持 コミュニケーション。
Bevywise MQTTブローカーで採用されているセキュリティの3つのレベルは次のとおりです。
デバイスレベルの認証は、デバイスのアイデンティティを検証することを含みます MQTTブローカーに接続します。 不正なデバイスを防止することが重要です。 ブローカーにアクセスし、信頼できるデバイスだけが公開し、購読できるようにします トピック。
これにより、デバイスをより安全に接続できます。 認証資格情報。 mqtt で認証フィールドを有効にする必要があります。 conf フォルダに存在する conf ファイル。
認証を有効にする:
[DEVICE_AUTHENTICATION] - 【郷土料理ものがたり】
導入 = DEFAULT
# DEFAUT | ディスカブル | カスタマイズ
ファイルを保存し、ブローカーを再起動します。
MQTT ブローカーの UI に移動します。 「セキュリティ」メニューを見つける 表示される。 セキュアなデバイス接続用の認証認証情報を作成できます。
認証の作成 資格情報:
MQTTユーザー名(アクセスキー)とパスワード(アクセストークン)を追加 特定の ClientIds によって使用される。 'Clients' - は単一の ClientId に変更するか、コンマの区切られたリストにすることができます クライアント Ids(ワイルドカード対応) '*' は、クライアントがどんなクライアントでも 接続できます。
これらの資格情報は削除することもできます。
MQTTユーザー名(アクセストークン)は、プレーンまたは消化器として保存できます データベース内 セットアップ SECURE_MQTT_PASSWORD = conf/datastoreのTRUE。 confは保存します MQTTの特長 消化器としてのパスワード UIでは表示されません。
SECURE_MQTT_PASSWORD = TRUE セキュア
# TRUE | バリュー
ファイルを保存し、ブローカーを再起動します。
この設定を切り替えるにはドロップが必要ですのでご注意ください。 既存のデータベース。
ACL は、顆粒のパーミッションを定義し、どのデバイスを制御するために使われます。 クライアントは、 特定のアクション(例えば、公開、購読)MQTT トピックお問い合わせ このレベル セキュリティは、MQTTブローカー内の細かいアクセス管理ポリシーを強化するのに役立ちます。
ACL が有効になっていると、デバイスが許可されているトピックを指定できます。 お問い合わせ 公開または購読、アクセス制限のあるトピック。
ACLを有効にする
ACLを有効にするには、'conf'フォルダにある'mqtt.conf'ファイルに移動します。 その後、 以下: TOPIC_ACL = TRUE.(トイック) ファイルを保存し、ブローカーを再起動します。
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # これによりクライアントが可能 Id&ユーザー名ベースのアクセス制御 トピックへのリスト
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # TRUE の場合、すべてのトピックはデフォルトで許可されます。ただし、トピックが付与/拒否されたアクセスがない場合
顧客に基づく Id またはユーザー名。
TOPIC_ACL = TRUE(トライアス)
# TRUE | バリュー
デバイス認証を有効にして、MQTT ユーザー名ベースの ACL を使用します。
「セキュリティ」メニューに移動
アクセス制御リストセクションで、MQTTユーザー名を選択します。
MQTT Username/Password の作成時、デフォルト ACL 設定は すべてのトピックの PUBLISH/SUBSCRIBE を可能にする自動的に生成されます。 MQTT ユーザー名の 'Edit' をクリックして編集できます。
トピックのコンマ区切りリストは、許可/拒否することができます クライアントの公開と登録のため このMQTTユーザー名を使用して接続します。 公開と購読のトピックの両方がMQTT-likeを受け入れる フィルター。
(例えば、部屋/+/温度)
ClientId に基づいて ACL を設定することもできます。 ACLは、 既に接続された顧客。
[セキュリティ] メニューで、[アクセス制御リスト] セクションの [選択] 'Clients' で、接続されたクライアントに ACL を追加します。
トランスポートレイヤーセキュリティ(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)が信頼できるルート証明書によって署名されたことを確認します。
自己署名証明書を作成する必要がある場合は、以下を確認してください。
証明書権限の署名キーを生成する
$の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のパスフレーズを入力してください:
以下の証明書と鍵を手元に置いています。
これで、server.crt とサーバー。 サーバにキーをアップロードする .../MQTTRoute/証明書/サーバー, root.crt はクライアントに提供されているため、クライアントは サーバの証明書(server.crt)が信頼できるルート証明書によって署名されたことを確認します。
root.crt - .../MQTTRoute/Certificate/root
サーバ.crt - .../MQTTRoute/Certificate/server
server.key - .../MQTTRoute/証明書/サーバー
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
この例では、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
この例では、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、サブスクリプション)と データベースのペイロード(公開/受信メッセージ)、
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 は 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 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
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 の設定 サーバが使用するリレーショナルデータベースとして クリスタル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ブローカーに依存します。 センサーやアプリケーション、SCADA、ヒストリアンなど MQTTブローカーは、アンダーリーシングとして機能します コミュニケーション 遵守するインフラMQTTの特長 プロトコルSparkplug B-compliant メッセージのルーティングを標準で処理します。
Sparkplug B-compliant デバイスとアプリケーションを公開し、購読する MQTTブローカーのトピック、 Sparkplug B プロトコルで指定された構造データ形式とガイドラインに従います。
MQTTブローカーは通信バックボーンとプロトコルを提供します サポート、MQTT Sparkplug B 産業用IoTエコシステム内のデータ交換の基準と慣行を定義します。 活用する MQTTプロトコルの機能 効率的で信頼性が高く、スケーラブルな産業オートメーションと監視に適しています。
ブローカーは、デフォルトで、Sparkplug対応のデバイスを使わずにサポートします。 設定の変更を要求する ファイル。 しかし、 mqtt で 'authentication' 設定が有効になっていることを確認するために不可欠です。 conf ファイル。
交通 = 交通
保障する高い アクセス, 1つ以上の堅牢なブローカーが使用できます。 当社のCrystalMQと 組み込みインターブロカー・コミュニケーター(IBC)クラスター内のすべてのブローカーがお互いに話し合うことを可能にします デバイスとの継続的な通信方法 クライアントがクラスター内の任意のブローカーに接続して取得の不敬意.
ロードバランサーは、デバイスフェーシングエッジで設定してバランスを取ることができます。 負荷。
ブローカー間のコミュニケーター機能の詳細については、 高可用性ブログ
CrystalMQの高可用性を有効にするには、アクティブにする必要があります ブローカーのコミュニケーターを最初に。
内蔵のInter-broker Communicator(IBC)機能により、シームレスに すべてのブローカー間の通信 クラスター内。 これは、デバイスとの継続的な接続を保証します どちらのブローカークライアントが接続しているかに関係なく、両方の方向で。
ブローカーマシンにMQTTRouteをインストールした後、IBCを有効にするには、 構成の Bevywise/MQTTRoute/conf/mqtt.conf は以下のとおりです。
カスタマイズ可能な = はい
以下のイラストは、設定を実証します。
このアレンジでは、IBC対応のブローカー2つ以上がグループ化されています。 クラスターを作成する ロードバランサーは、これらのブローカー間でワークロードを均等に配布するように構成されます。 すべてのMQTT クラスター内のブローカー 各ブローカー内のIBCは、共有を利用して持続的なコミュニケーションを保証します。 データベース(DB) つまり、 そのブローカーは、互いに直接通信しません。 代わりに、データをデータにプッシュする 中央のデータベースは、他を可能にする このデータにアクセスするためのブローカー。 その結果、すべてのブローカーはクライアントの詳細とデータへのアクセス権を持っています。
注意:任意の負荷バランサを選択するための柔軟性があります
あなたのニーズに合ったもの。
Nginx のロードバランサー構成のより広範囲な理解のために、私達は推薦します
空室状況の多いブログをご覧ください。
Azure をロードバランサーとして使用することを選択した場合は、専用の参照をおすすめします。
ブログ投稿
拡張された明快さのためのAzureの負荷バランサー構成。
参照:IoTソリューション
Azureブログの実装
サービスとして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 の使い方
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':
UIカスタムサーバーは、ユーザーインターフェイスをカスタマイズするオプションを提供します。 お問い合わせ カスタマイズする必要があるため、CrystalMQ/extensions/custom_ui_server.py ファイルにコードを変更できます。 お問い合わせ ダッシュボードを設定して、デバイスデータを必要に応じて表示することができます。 自分で追加できます 要件、デバイスの詳細、または必要に応じてユーザーインターフェイスへの通知。 UIカスタム サーバは、サーバー側の独自のコードを追加することで、CrystalMQのUIをカスタマイズするのに役立ちます。 URL と対応するメソッドを使用して新しい機能を追加します。 これらのURLは呼び出すことができます ユーザーインターフェイスからデータを操作できます。
カスタムスケジューラは、独自のスケジュールジョブを作成するのに役立ちます
クリスタル サーバー側で独自のコードを追加することで、MQ を実行できます。
CrystalMQ/extensions/custom_scheduler.py に追加されたジョブとスケジュールが追加されました。
ブローカー。 これを有効にするには、メソッド custom_schedules() で設定します。enableCustomSchedules = 真の