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コマンドのパラメーターの説明
-
-dデバッグ情報を出力します
-
-f送信されたメッセージのコンテンツとして、指定されたファイルのコンテンツを使用します
-
-hは、接続されるドメイン名がデフォルトでlocalhostになることを指定します
-
-iは、メッセージを送信するclientIdユーザーを指定します
-
-ユーザーがメッセージを送信するclientIdプレフィックスを指定します
-
-mメッセージの内容
-
-n null(null)メッセージを送信します
-
-p接続ポート番号
-
-qはQoSの値を指定します(0、1、2)
-
-tはトピックを指定します
-
-uブローカーアクセスユーザーを指定します
-
-Pブローカーアクセスパスワードを指定します
-
-VはMQTTプロトコルのバージョンを指定します
-
–Will-payloadは、クライアントとブローカーが誤って切断したときに送信されるメッセージを指定します。このパラメーターは--will-topicと共に使用する必要があります
-
– Will-qos Will QoS値。このパラメーターは--will-topicと共に使用する必要があります
-
–Will-retain Willメッセージが保持メッセージとして扱われることを指定します(つまり、メッセージはブロードキャストされた後も保持されます)。このパラメーターは--will-topicと共に使用する必要があります
-
--Will-topicユーザーがWillメッセージを送信するトピック
mosquitto_subコマンドのパラメーターの説明
-
-c「クリーンセッション」を無効な状態に設定して、サブスクリプション状態が常に維持されるようにします。接続が失われた場合でも、接続がまだ接続されている場合は、切断期間中に送信されたメッセージを引き続き受信できます。
-
-dデバッグ情報を出力します
-
-hは、接続されるドメイン名がデフォルトでlocalhostになることを指定します
-
-i clientIdを指定
-
-clientIdプレフィックスを指定します
-
-k keepalive毎回、PINGメッセージを送信して、ブローカーがまだ接続されていることをブローカーに通知します。デフォルトは60秒です。
-
-qは、デフォルトのQoSが0である理由、QoSのメッセージを受信することを指定します
-
-Rは古いメッセージを表示しません
-
-tトピックにサブスクライブ
-
-vメッセージを出力する
-
–Will-payloadは、クライアントとブローカーが誤って切断したときに送信されるメッセージを指定します。このパラメーターは--will-topicと共に使用する必要があります
-
– Will-qos Will QoS値。このパラメーターは--will-topicと共に使用する必要があります
-
–Will-retain Willメッセージが保持メッセージとして扱われることを指定します(つまり、メッセージはブロードキャストされた後も保持されます)。このパラメーターは--will-topicと共に使用する必要があります
-
--Will-topicユーザーがWillメッセージを送信するトピック
リンク
- プロジェクトのウェブサイト:https : //www.eclipse.org/paho
- Eclipseプロジェクト情報:https : //projects.eclipse.org/projects/iot.paho
- GitHub:https : //github.com/eclipse/paho.mqtt.java
- MQTT Javaクライアントの使用:https : //www.jianshu.com/p/65e1748a930c
- 春のサポート:https : //www.jianshu.com/p/6b60858b7d44