ホーム オートメーション用に Raspberry Pi に MQTT サーバーと Node-RED をインストールする

ホーム オートメーション用に Raspberry Pi に MQTT サーバーと Node-RED をインストールする

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 を使用します。 スマートフォンのアプリ。



  ルーターのdhcp設定を介してラズベリーのIPを見つけます

に IP アドレスを入力します。 パテ そしてクリック 接続 .ユーザー名とパスワードを入力してログインします。

  ssh経由でラズベリーパイに接続します

Linux または macOS 端末で、次のように入力します。 あなたのPiユーザー名@IPアドレス パスワードを入力してログインします。SSH 経由で接続したら、次のコマンドを実行してパッケージ リストを更新し、パッケージをアップグレードします。





sudo apt update && sudo apt upgrade y

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

MQTT ブローカー (Mosquitto) をインストールして有効にするには、次の手順を実行します。

  1. ターミナル ウィンドウで次のコマンドを実行して Mosquitto をインストールします。   mosquitto mqtt サーバーをインストールする これにより、Mosquitto (MQTT ブローカー) とクライアント サービスのインストールが開始されます。
  2. インストール後、Mosquitto サービスを有効にし、次のコマンドを使用して MQTT のバージョンを確認します。   mosquitto サービスを有効にする
  3. 次のコマンドを使用して、認証済みリモート アクセスを許可するユーザー アカウントを作成します。
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    ここ 処理 ユーザー名です(好きなものを使用できます)。プロンプトが表示されたら、パスワードを入力します。後で使用できるように、このユーザー名とパスワードを書き留めておきます。
  4. 開く mosquitto.conf 次のコマンドを使用して、nano エディターでファイルを開きます。 次のコードを nano エディターに貼り付けます。
    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
      mosquitto 設定ファイルを編集する プレス CTRL+X に続く 入る 変更を保存します。
  5. 次のコマンドを実行して MQTT ブローカーを再起動します。
    sudo systemctl restart mosquitto
  6. MQTT ブローカーのステータスをチェックして、MQTT が実行中かどうかを確認します。
    sudo systemctl status mosquitto
      mqtt サーバーの状態を確認する 上記の出力が表示された場合、MQTT が実行されています。

ステップ 4: MQTT ブローカーをテストする

MQTT ブローカーが機能しているかどうかをテストするには、インストールします。 MQTTLens または、Chrome またはその他の Web ブラウザーで同様の MQTT アプリを起動します。 Raspberry Pi の IP アドレスと MQTT のユーザー名/パスワードを入力します。クリック 接続を作成 .





  mqtt サーバーに接続し、テスト トピックにメッセージを送信して、mqtt ブローカーが動作していることを確認します

に任意のトピックを入力します 申し込む 分野 と同じトピック 公開 分野。メッセージ欄に「こんにちは」などと入力してクリック 公開 .

  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

次に、次の手順に従います。

  1. を押します。 入る 鍵。
  2. ユーザーセキュリティを設定しますか?選択する はい .ユーザー名とパスワードを入力します。これは、Web インターフェイス経由で Node-RED にログインして管理するために使用されるため、安全に保管してください。
  3. 選ぶ 全権アクセス .
  4. 別のユーザーを追加するか、選択することができます いいえ 続行します。
  5. 選択する いいえ プロジェクト機能を有効にするように求められたとき。
  6. プレス 入る .
  7. パスフレーズを入力し、安全に保管してください。
  8. を選択 デフォルトのテーマ > モナコ (デフォルト) .
  9. 選択する いいえ 外部ノードをロードするように求められたとき。
  ノードレッドのインストールを構成する

これが完了したら、Node-RED を再起動します。

node-red restart

訪問でき​​るようになりました あなたの-Raspberry-Pi-IP:1880 Web ブラウザーで Node-RED 管理パネルを開いてログインします。

  ポート 1880 でラズベリー pi ip のノード red にアクセスします。

Node-RED でフローを作成できるようになりました。以下は、自宅に設置されたさまざまなセンサー情報をリアルタイムで表示する WS2812B 8x32 マトリックス ディスプレイを実行するために使用する Node-RED フローの例です。

  8x32マトリックスディスプレイにさまざまなセンサー値を表示するためのサンプルノード赤フロー

開始するには、次のこともできます MAX7219 ドット マトリックスを使用して DIY スマート クロックを構築します。 、MQTT サーバーに接続して、テキストまたはメッセージを表示します。

FacebookをInstagramから切断する方法

MQTT と Node-RED を使用してホーム オートメーションを有効にする

MQTT 対応のスマート ホーム デバイスを制御または監視するためのフローを作成できるようになりました。また、DIY Tasmota スマート スイッチや Arduino ベースのスマート センサー、および MQTT 制御を備えたその他のスマート デバイスを構築し、この MQTT および Node-RED サーバーで使用することもできます。スマートフォンの MQTT クライアントから受信したイベント、時間、またはペイロードに基づいて、ホーム オートメーションのフローを作成できます。

Android スマートフォンに MQTT Dash をインストールして、MQTT ブローカーに接続し、スマート デバイスがサブスクライブまたはパブリッシュするさまざまなトピックとの間でペイロードを送受信できます。