Messaging Queueing Telemetry Protocol (MQTT) は、低帯域幅のデバイスと環境向けに設計された軽量のメッセージング プロトコルです。これは、複数の IoT デバイス間で情報を接続して交換するための、迅速で導入が容易でエネルギー効率の高いソリューションです。情報を送受信するには、MQTT ブローカー/サーバーと、デバイスまたはユーザーによってメッセージがパブリッシュおよびサブスクライブされるトピックが必要です。
このガイドでは、MQTT ブローカーと Node-RED ツールを Raspberry Pi にデプロイして、MQTT 対応の DIY スマート IoT デバイスを接続し、それらをホーム オートメーションに使用します。
必要なもの
Node-RED を使用して MQTT サーバーを構築およびデプロイするには、次のものが必要です。
- Raspberry Pi Zero W 以上。 Raspberry Pi 3 または 4 を使用することをお勧めします (利用可能な場合)。
- microSD カード (8GB 以上)。
- microSDカードリーダー。
- Linux PC、Mac、または Windows PC。
- インターネット接続 (Wi-Fi)。
ステップ 1: Raspberry Pi OS Lite (64 ビット) をインストールする
Raspberry Pi OS の 64 ビット Lite バージョンが必要です。の中に ラズベリーパイイメージャー ツールを別のコンピューターで実行するには、 OS を選択 > ラズベリーパイ OS (その他) を選択し、 ラズベリーパイ OS ライト (64 ビット) .さらに、Imager の詳細設定を使用して SSH を有効にする必要があります ( 円周率 と ラズベリー このガイドのユーザー名とパスワードとして)、Wi-Fi 接続を構成します。詳細については、次のガイドをご覧ください。 Raspberry Pi にオペレーティング システムをインストールする方法 . OS をカードに書き込んだ後、カードを取り出して Raspberry Pi に挿入します。
ステップ 2: SSH 経由で接続してパッケージを更新する
WindowsまたはターミナルでPuTTYを使用して、SSH経由でRaspberry Piに接続できます macOS および Linux で。ただし、SSH 経由で接続するには、Raspberry Pi の IP を知っている必要があります。確認するには、ワイヤレス ルーターの DHCP 設定を開くか、Fing を使用します。 スマートフォンのアプリ。
に IP アドレスを入力します。 パテ そしてクリック 接続 .ユーザー名とパスワードを入力してログインします。
Linux または macOS 端末で、次のように入力します。 あなたのPiユーザー名@IPアドレス パスワードを入力してログインします。SSH 経由で接続したら、次のコマンドを実行してパッケージ リストを更新し、パッケージをアップグレードします。
sudo apt update && sudo apt upgrade –y
ステップ 3: MQTT ブローカーをインストールする
MQTT ブローカー (Mosquitto) をインストールして有効にするには、次の手順を実行します。
- ターミナル ウィンドウで次のコマンドを実行して Mosquitto をインストールします。 これにより、Mosquitto (MQTT ブローカー) とクライアント サービスのインストールが開始されます。
- インストール後、Mosquitto サービスを有効にし、次のコマンドを使用して MQTT のバージョンを確認します。
- 次のコマンドを使用して、認証済みリモート アクセスを許可するユーザー アカウントを作成します。
ここ 処理 ユーザー名です(好きなものを使用できます)。プロンプトが表示されたら、パスワードを入力します。後で使用できるように、このユーザー名とパスワードを書き留めておきます。sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
- 開く mosquitto.conf 次のコマンドを使用して、nano エディターでファイルを開きます。 次のコードを nano エディターに貼り付けます。
プレス CTRL+X に続く よ と 入る 変更を保存します。per_listener_settings true
pid_file /run/mosquitto/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
allow_anonymous false
listener 1883
password_file /etc/mosquitto/passwd - 次のコマンドを実行して MQTT ブローカーを再起動します。
sudo systemctl restart mosquitto
- MQTT ブローカーのステータスをチェックして、MQTT が実行中かどうかを確認します。
上記の出力が表示された場合、MQTT が実行されています。sudo systemctl status mosquitto
ステップ 4: MQTT ブローカーをテストする
MQTT ブローカーが機能しているかどうかをテストするには、インストールします。 MQTTLens または、Chrome またはその他の Web ブラウザーで同様の MQTT アプリを起動します。 Raspberry Pi の IP アドレスと MQTT のユーザー名/パスワードを入力します。クリック 接続を作成 .
に任意のトピックを入力します 申し込む 分野 と同じトピック 公開 分野。メッセージ欄に「こんにちは」などと入力してクリック 公開 .
サブスクリプションの下にメッセージが表示される場合、MQTT ブローカーは正常に動作しています。
ステップ 5: Node-RED をインストールする
Node-RED を使用すると、メッセージを発行したり、スマート デバイスとの間でペイロードを送受信したりできます。このペイロードを使用して、スマート デバイスをトリガーしてオン/オフを切り替えたり、センサーからデータ (温度など) を受信したりできます。 Web ブラウザーを使用して Node-RED でこのようなフローを作成し、スマート デバイスを制御できます。
Node-RED をインストールするには、ターミナル ウィンドウで次のコマンドを実行します。
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
これにより、Node-RED がダウンロードされ、Raspberry Pi にインストールされます。完了するまでに時間がかかる場合があります。 Node-RED をインストールしたら、次のコマンドを実行して Node-RED 設定ファイルを作成する必要があります。
node-red admin init
次に、次の手順に従います。
- を押します。 入る 鍵。
- ユーザーセキュリティを設定しますか?選択する はい .ユーザー名とパスワードを入力します。これは、Web インターフェイス経由で Node-RED にログインして管理するために使用されるため、安全に保管してください。
- 選ぶ 全権アクセス .
- 別のユーザーを追加するか、選択することができます いいえ 続行します。
- 選択する いいえ プロジェクト機能を有効にするように求められたとき。
- プレス 入る .
- パスフレーズを入力し、安全に保管してください。
- を選択 デフォルトのテーマ > モナコ (デフォルト) .
- 選択する いいえ 外部ノードをロードするように求められたとき。
これが完了したら、Node-RED を再起動します。
node-red restart
訪問できるようになりました あなたの-Raspberry-Pi-IP:1880 Web ブラウザーで Node-RED 管理パネルを開いてログインします。
Node-RED でフローを作成できるようになりました。以下は、自宅に設置されたさまざまなセンサー情報をリアルタイムで表示する WS2812B 8x32 マトリックス ディスプレイを実行するために使用する Node-RED フローの例です。
開始するには、次のこともできます MAX7219 ドット マトリックスを使用して DIY スマート クロックを構築します。 、MQTT サーバーに接続して、テキストまたはメッセージを表示します。
FacebookをInstagramから切断する方法
MQTT と Node-RED を使用してホーム オートメーションを有効にする
MQTT 対応のスマート ホーム デバイスを制御または監視するためのフローを作成できるようになりました。また、DIY Tasmota スマート スイッチや Arduino ベースのスマート センサー、および MQTT 制御を備えたその他のスマート デバイスを構築し、この MQTT および Node-RED サーバーで使用することもできます。スマートフォンの MQTT クライアントから受信したイベント、時間、またはペイロードに基づいて、ホーム オートメーションのフローを作成できます。
Android スマートフォンに MQTT Dash をインストールして、MQTT ブローカーに接続し、スマート デバイスがサブスクライブまたはパブリッシュするさまざまなトピックとの間でペイロードを送受信できます。