Mosquittoのセットアップと構成

Brief Book_Mosquittoのセットアップと構成

Eclipse Mosquittoは、MQTTプロトコルバージョン3.1および3.1.1を実装するオープンソースのメッセージブローカーです。Mosquittoは軽量で、低電力のシングルボードコンピューターからサーバー全体まで、あらゆるデバイスに適しています。Mosquittoプロジェクトは、MQTTクライアントと非常に人気のあるmosquitto_pubおよびmosquitto_subコマンドラインMQTTクライアントを実装するためのCライブラリも提供します。

その他のサーバープロキシの実装:https : //github.com/mqtt/mqtt.github.io/wiki/servers
各オペレーティングシステムのインストールガイドライン:https : //mosquitto.org/download/

1.ダウンロードしてインストール

例としてUbuntu16を取る

  • リポジトリリストに追加
sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa
  • パッケージを更新する
sudo apt-get update
  • インストールする
sudo apt-get install mosquitto
  • コマンドラインクライアントをインストールする
sudo apt-get install mosquitto-clients

2.設定

2.1メイン設定ファイルmosquitto.conf
pid_file /var/run/mosquitto.pid

#メッセージの
永続性true永続性true
persistence_location / var / lib / mosquitto /

#ログファイル
log_destファイル/ VAR /ログ/ mosquitto / mosquitto ログイン

他の構成#
include_dir /など/ mosquitto / confに D

#無効に匿名アクセス
allow_anonymous
#認証設定
PASSWORD_FILE /など/ mosquitto / PWFILE
#アクセス権が設定されている
acl_file /など/ mosquitto / aclfile

2.2認証構成pwfile
  • ない場合はファイルを作成
touch /etc/mosquitto/pwfile
  • サービスが開始されたら、次のコマンドを入力し、プロンプトに従ってパスワードを2回入力します。
mosquitto_passwd /etc/mosquitto/pwfile 用户名
2.3権限設定aclfile
  • ファイルを開く
vim /etc/mosquitto/aclfile
  • コンテンツを編集する
# 李雷只能发布以test为前缀的主题,订阅以$SYS开头的主题即系统主题
user lilei
topic write test/#
topic read $SYS/#

Han Meimeiは、testで始まるトピックにのみサブスクライブできます

ユーザーhanmeimei
トピック読み取りテスト/#

3.スタート

-c:開始する特定の構成ファイルを指定
-d:バックグラウンドで実行

mosquitto -c /etc/mosquitto/mosquitto.conf -d

4.テスト

公開にはmosquitto_pubコマンドを使用し、サブスクリプションにはmosquitto_subコマンドを使用します。共通パラメーターの紹介:

パラメータ 説明文
-h サーバーホスト、デフォルトlocalhost
-t 件名を指定してください
-u ユーザー名
-P パスワード
-私 一意のクライアントID
-m 公開されたメッセージの内容

購読する

mosquitto_sub -h localhost -t "test/#" -u hanmeimei -P 123456 -i "client1"

サブスクリプションシステムのトピック

# 订阅客户端存活连接数
mosquitto_sub -h localhost –t '$SYS/broker/clients/active' -u lilei -P 123456 -i "client2"

公開する

mosquitto_pub -h localhost -t "test/abc" -u lilei -P 123456 -i "client3" -m "How are you?"

mosquitto_pubコマンドのパラメーターの説明

  1. -dデバッグ情報を出力します

  2. -f送信されたメッセージのコンテンツとして、指定されたファイルのコンテンツを使用します

  3. -hは、接続されるドメイン名がデフォルトでlocalhostになることを指定します

  4. -iは、メッセージを送信するclientIdユーザーを指定します

  5. -ユーザーがメッセージを送信するclientIdプレフィックスを指定します

  6. -mメッセージの内容

  7. -n null(null)メッセージを送信します

  8. -p接続ポート番号

  9. -qはQoSの値を指定します(0、1、2)

  10. -tはトピックを指定します

  11. -uブローカーアクセスユーザーを指定します

  12. -Pブローカーアクセスパスワードを指定します

  13. -VはMQTTプロトコルのバージョンを指定します

  14. –Will-payloadは、クライアントとブローカーが誤って切断したときに送信されるメッセージを指定します。このパラメーターは--will-topicと共に使用する必要があります

  15. – Will-qos Will QoS値。このパラメーターは--will-topicと共に使用する必要があります

  16. –Will-retain Willメッセージが保持メッセージとして扱われることを指定します(つまり、メッセージはブロードキャストされた後も保持されます)。このパラメーターは--will-topicと共に使用する必要があります

  17. --Will-topicユーザーがWillメッセージを送信するトピック

mosquitto_subコマンドのパラメーターの説明

  1. -c「クリーンセッション」を無効な状態に設定して、サブスクリプション状態が常に維持されるようにします。接続が失われた場合でも、接続がまだ接続されている場合は、切断期間中に送信されたメッセージを引き続き受信できます。

  2. -dデバッグ情報を出力します

  3. -hは、接続されるドメイン名がデフォルトでlocalhostになることを指定します

  4. -i clientIdを指定

  5. -clientIdプレフィックスを指定します

  6. -k keepalive毎回、PINGメッセージを送信して、ブローカーがまだ接続されていることをブローカーに通知します。デフォルトは60秒です。

  7. -qは、デフォルトのQoSが0である理由、QoSのメッセージを受信することを指定します

  8. -Rは古いメッセージを表示しません

  9. -tトピックにサブスクライブ

  10. -vメッセージを出力する

  11. –Will-payloadは、クライアントとブローカーが誤って切断したときに送信されるメッセージを指定します。このパラメーターは--will-topicと共に使用する必要があります

  12. – Will-qos Will QoS値。このパラメーターは--will-topicと共に使用する必要があります

  13. –Will-retain Willメッセージが保持メッセージとして扱われることを指定します(つまり、メッセージはブロードキャストされた後も保持されます)。このパラメーターは--will-topicと共に使用する必要があります

  14. --Will-topicユーザーがWillメッセージを送信するトピック

リンク
元の記事を17件公開 Likes0 訪問数220

おすすめ

転載: blog.csdn.net/neheqi/article/details/105343330
おすすめ