Ubuntu 16.04にMosquitto MQTTブローカー/サーバーをインストールする方法

MQTTは、ESP8266、Raspberry Piなどの「モノのインターネット」デバイス間の通信用のTCP / IPを介したパブリッシュ/サブスクライブモデルベースの「軽量」メッセージングプロトコルです。低リソースや家庭などのバッテリー駆動アプリケーションで非常に人気があります。自動化、セキュリティ警報システム、バッテリー駆動のセンサーネットワーク。

Mosquittoは、MQTTプロトコルを実装するオープンソースのメッセージブローカー(またはサーバー)です。優れたコミュニティサポート、ドキュメント、およびインストールの容易さにより、最も人気のあるMQTTブローカーの1つになりました。

前提条件

  • rootアクセス可能なUbuntu 16.04サーバー
  • TCP:1883ファイアウォールのポートを開く

ステップ1:Mosquittoブローカーをインストールする

Ubuntuのパッケージリストを更新し、そこから入手可能な最新のMosquitto Brokerをインストールします。

sudo apt-get update
sudo apt-get install mosquitto

Mosquittoサービスは、インストール後に開始されます。

ステップ2:クライアントをインストールしてテストする

MQTTクライアントをインストールする

sudo apt-get install mosquitto-clients

Mosquittoクライアントは、コマンドラインユーティリティを介してMQTTを簡単にテストするのに役立ちます。2つのコマンドウィンドウを使用します。1つは名前付きトピックをサブスクライブするため、"test"もう1つはメッセージをパブリッシュするためです。

トピックは、接続された各クライアントのメッセージをフィルタリングするためにブローカーによって使用されるラベルです。トピックにサブスクライブしたクライアントプログラムは"Home1/BedroomTemp"、他のクライアントによって同じトピックに公開されたメッセージのみをリッスンします。

トピックを購読 "test"

mosquitto_sub -t "test"

Mosquito_subは、前のコマンドでインストールしたサブスクライブクライアントです。ここでは、 " -t"の後にトピック名を指定しています。

トピックにメッセージを公開する "test"

2番目のインスタンスとしてターミナルにログインし、"test"トピックにメッセージを公開します。

mosquitto_pub -m "message from mosquitto_pub client" -t "test"

ここで、追加パラメーター " –m"の後に、公開するメッセージが続きます。「Enter」を押すと、実行mosquitto_pub client中の他の端末にメッセージが表示されますmosquito_sub client

ステップ3:パスワードで保護する

Mosquittoには、と呼ばれるパスワードファイル生成ユーティリティが付属していますmosquitto_passwd

sudo mosquitto_passwd -c /etc/mosquitto/passwd dave
Password: password

作成したパスワードファイルを指すMosquittoの構成ファイルを作成します。

sudo nano /etc/mosquitto/conf.d/default.conf

空のファイルが開きます。以下に貼り付けます。

allow_anonymous false
password_file /etc/mosquitto/passwd

Ctrl+O」、「Enter」、「」を使用してテキストエディターを保存して終了しますCtrl+X

Mosquittoサーバーを再起動して、変更をテストします。

sudo systemctl restart mosquitto

サブスクライブクライアントウィンドウで、 " Ctrl+C"を押してサブスクライブクライアントを終了し、次のコマンドでクライアントを再起動します。

mosquitto_sub -t "test" -u "dave" -P "password"

ここで大文字の-Pに注意してください

クライアントの公開ウィンドウで、パスワードなしでメッセージを公開してみます。

mosquitto_pub -t "test" -m "message from mosquitto_pub client"

メッセージは拒否され、次のエラーメッセージが表示されます。

Connection Refused: not authorised.
Error: The connection was refused.

次に、usernameおよびでメッセージを公開しますpassword

mosquitto_pub -t "test" -m "message from mosquitto_pub client" -u "dave" -P "password"

Enter」を押すと、ステップ2のように、サブスクライブクライアントウィンドウにメッセージが表示されます。

結論

これで、パスワード保護されたMQTTサーバーがセットアップされました。UbuntuサーバーのパブリックIPをプロジェクトのMQTTブローカーとして使用できます。



Leave a Comment

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

Ubuntu 14.10へのMcMyAdminのインストール

Ubuntu 14.10へのMcMyAdminのインストール

McMyAdminは、サーバーの管理に使用されるMinecraftサーバーコントロールパネルです。McMyAdminは無料ですが、複数のエディションがあり、一部はパイです

LinuxでTeamTalk Serverをセットアップする

LinuxでTeamTalk Serverをセットアップする

TeamTalkは、ユーザーが高品質のオーディオ/ビデオ会話、テキストチャット、ファイルの転送、および画面の共有を可能にする会議システムです。それは

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Ubuntu 17.04でRbenv、Rails、MariaDB、Nginx、SSL、およびPassengerを使用してRubyをインストールおよび構成する方法

Ubuntu 17.04でRbenv、Rails、MariaDB、Nginx、SSL、およびPassengerを使用してRubyをインストールおよび構成する方法

Ruby on Railsは、プログラマーの生産性を向上させるために開発されたRubyの人気のあるWebフレームワークです。ただし、さまざまな宝石と依存関係を取得する

Vultr VPSにアクセスする方法

Vultr VPSにアクセスする方法

Vultrは、VPSにアクセスして構成、インストール、および使用するためのいくつかの異なる方法を提供します。アクセス認証情報VPS arのデフォルトのアクセス認証情報

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

GolangはGoogleが開発したプログラミング言語です。汎用性、シンプルさ、信頼性のおかげで、Golangは最も人気のあるものの1つになりました

Debian、CentOS、およびFreeBSDでSudoを使用する方法

Debian、CentOS、およびFreeBSDでSudoを使用する方法

LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

別のシステムを使用していますか?DokuWikiは、データベースを必要としないPHPで記述されたオープンソースのWikiプログラムです。データをテキストファイルに保存します。ドクウィク

DebianでのChrootのセットアップ

DebianでのChrootのセットアップ

この記事では、Debianでchroot jailをセットアップする方法を説明します。私はあなたがDebian 7.xを使っていると思います。Debian 6または8を実行している場合、これは機能する可能性があります、bu

DebianにPiVPNをインストールする方法

DebianにPiVPNをインストールする方法

はじめにDebianでVPNサーバーを設定する簡単な方法は、PiVPNを使用することです。PiVPNは、OpenVPNのインストーラーおよびラッパーです。それはあなたのための簡単なコマンドを作成します

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

別のシステムを使用していますか?BigTree CMS 4.2は、高速で軽量な無料のオープンソースのエンタープライズグレードのコンテンツ管理システム(CMS)であり、

Debian 9でソースからBrotliをビルドする方法

Debian 9でソースからBrotliをビルドする方法

別のシステムを使用していますか?Brotliは、Gzipよりも圧縮率が高い新しい圧縮方法です。そのソースコードはGithubで公開されています。ティ

PleskサーバーでHTTP / 2を有効にする方法

PleskサーバーでHTTP / 2を有効にする方法

PleskはネイティブのHTTP / 2サポートを備えています。PleskでのHTTP / 2のロールアウトは、他のコンポーネントに比べてはるかに簡単ですが、その導入プロセスには慎重な計画が必要です

FreeBSD 12にosTicketをインストールする方法

FreeBSD 12にosTicketをインストールする方法

別のシステムを使用していますか?osTicketは、オープンソースのカスタマーサポートチケットシステムです。osTicketのソースコードはGithubで公開されています。このチュートリアルでは

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。