GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu16.04でMosquittoMQTTサーバーをセットアップする方法

Mosquitto MQTT Serverは、MQTTプロトコル上で動作するメッセージブローカーです。 MQTTは、TCP/IPプロトコルの上で使用するためのISO標準である軽量メッセージングプロトコルです。これは主に、モノのインターネットデバイスとの通信に使用されます。 Ubuntu 16.04サーバーにMosquittoをインストールし、MQTT-spyソフトウェアからメッセージを送信します。 MosquittoはEclipseプロジェクトであり、EDLライセンスの下で配布されます。では始めましょう。

ソースからのMosquittoMQTTサーバーのコンパイル

モスキートをインストールするには、次の手順を実行する必要があります。最初にソースlisを更新し、依存関係を取得します

apt update
apt-get install build-essential libwrap0-dev libssl-dev libc-ares-dev uuid-dev xsltproc

デフォルトでは非rootとして実行されるため、mosquittoユーザーを追加します。

adduser mosquitto

便宜上、このユーザーにsudo権限を付与します。これは、残りのインストールプロセスをこのユーザーとして行うためです

usermod -aG sudo mosquitto

次に、このユーザーとしてログインし、彼のホームディレクトリにcdします

su mosquitto

cd

次に、Mosquittoのソースコードをダウンロードします。執筆時点では最新バージョンは1.4.9ですが、ダウンロードページで新しいバージョンがあるかどうかを確認することをお勧めします。それでは、最新バージョンをダウンロードしましょう

wget https://mosquitto.org/files/source/mosquitto-1.4.9.tar.gz

解凍してディレクトリに挿入します

tar xvzf mosquitto-1.4.9.tar.gz
cd mosquitto-1.4.9/

次に、ソフトウェアをコンパイルしてインストールします

make && sudo make install

MosquittoMQTTサーバーの構成

インストールが完了したら、新しいユーザーのパスワードを作成する必要があります。

sudo mosquitto_passwd -c /etc/mosquitto/pwfile mqtt-spy

クライアントからの接続に使用する新しいmqtt-spyユーザーのパスワードを作成するように求められます。これは、蚊のユーザー、つまり蚊のサーバーを実行するためのシステムユーザーとは異なります。このmosquittoユーザーの権限を関連するすべてのディレクトリに追加する必要があります

sudo mkdir /var/lib/mosquitto/

sudo chown -R mosquitto:mosquitto /var/lib/mosquitto/

次に、Mosquitto MQTT Serverの構成ファイルを作成する必要があるので、nanoを使用して新しいファイルを作成しましょう

sudo nano /etc/mosquitto/mosquitto.conf

そこにこれを貼り付けることができます

persistence true
persistence_location /var/lib/mosquitto/
persistence_file mosquitto.db
log_dest syslog
log_dest stdout
log_dest topic
log_type error
log_type warning
log_type notice
log_type information
connection_messages true
log_timestamp true
allow_anonymous false
password_file /etc/mosquitto/pwfile

構成は長いようですが、より詳細なログとパスワードファイルを追加しました。

構成が保存されたら、ldconfig

を実行します。
sudo ldconfig

systemdユニットファイルを追加しましょう

sudo nano /etc/systemd/system/mosquitto.service

これをそこに貼り付けます:

[Unit]
Description=Insite MQTT Broker

[Service]
ExecStart=/usr/local/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf
Restart=always

[Install]
WantedBy=multi-user.target

サービスを始めましょう

sudo systemctl start mosquitto.service

そして、そのステータスを確認します

systemctl status mosquitto.service

起動時に起動するには、次のコマンドを実行します

sudo systemctl enable mosquitto.service

MQTTのセットアップ-スパイと接続g

MQTT-Spyは、MQTTサーバーへの接続に使用するJavaベースのクライアントです。 githubから入手できますが、OracleJDKがインストールされている必要があることに注意してください。 OpenJDKでは動作しません。 MQTT-spyを見つめた後、最初に行うことは、新しい接続を作成することです。サーバーのIPとデフォルトのポート1883を追加します。

次に、前に作成したパスワードとユーザー名を追加します。私の場合はmqtt-spyで、パスワードはパスワードです。

次に、サーバーでターミナルウィンドウを開き、次のコマンドを入力します

mosquitto_sub -v -t 'linoxide/topic' -u mqtt-spy -P password

フラグを説明するために、-vは冗長性を表し、-tはトピックの後に引用符で囲まれたトピックを表し、-uはユーザーを表し、-Pはパスワードを表します。このコマンドを入力するとハングしたように見えますが、MQTT-spyを使用して新しいトピックを作成し、次の図のように同じトピックにメッセージを送信する必要があります。

結論

MQTT3.1プロトコルを介して接続されたIoTデバイスのネットワークを持つことができるMosquittoMQTTサーバーが正常にインストールされました。ほとんどの人が開発と学習の目的で使用するクラシックx86PCのUbuntuにインストールしました。実際のIoTの場合、ARMデバイスが必要になります。この記事はこれですべてです。読んでいただきありがとうございます。


Ubuntu
  1. Ubuntu18.04LTSでRsyslogサーバーをセットアップする方法

  2. Ubuntu16でZimbraメールサーバーをセットアップする方法

  3. Ubuntu 20.04でRsyslogサーバーをセットアップする-その方法は?

  1. Ubuntu20.04でOpenVPNサーバーをセットアップする方法

  2. Ubuntu18.04でMySecureShellSFTPサーバーをセットアップする方法

  3. UbuntuとLinuxMintでNTPサーバーをセットアップする方法

  1. Ubuntu20.04でVSFTPDを使用してFTPサーバーをセットアップする方法

  2. Ubuntu18.04でVSFTPDを使用してFTPサーバーをセットアップする方法

  3. Ubuntu20.04でローカルAPTリポジトリサーバーをセットアップする方法