Node-RedとRaspberry Piを使用したAIkitによるポーズベースのライト制御
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
Node-RedとRaspberry Piを使用したAIkitによるポーズベースのライト制御
はじめに
このWikiでは、AIキットを使用してYOLOv8を実行し、ポーズを監視し、最終的にポーズに基づいてライトを制御する方法を説明します。このプロジェクトでは、USBカメラがポーズをキャプチャし、AIキットとreComputer R1000上でYOLOv8nを実行してポーズを検出します。検出されたポーズを表示する処理済みのビデオは、gstreamerを使用してリアルタイムでreTerminal DMにストリーミングされます。一方、ジョイント座標はmqttを使用してNode-REDに送信され、reComputer R1000上でデプロイされます。最後に、Node-REDフローがジョイント座標に基づいてスマートライトを制御します。
ハードウェアの準備
このプロジェクトを実行する
reComputer R1000 上で
ステップ 1: AIキットをインストールする
このWikiを参照し、reComputer R1000にAIキットをインストールしてください。
ステップ 2: プロジェクトをインストールする
以下のコマンドを使用してプロジェクトをダウンロードしてください:
git clone https://github.com/LJ-Hao/Pose-Based_Light_Control_with_Node-Red_and_Raspberry_Pi_with_AIkit.git && cd Pose-Based_Light_Control_with_Node-Red_and_Raspberry_Pi_with_AIkit
ステップ 3: ポーズ推定を実行する
pose_estimation.py
ファイルを編集し、mqtt_server
をreTerminal DMのIPアドレスに変更してください。また、Gstreamer pipeline
もreTerminal DMのIPアドレスに変更してください。その後、以下のコマンドを実行してポーズ推定を開始します。
bash run.sh
ステップ 4: Node-REDをインストールする
Node-REDをインストールします。以下のコマンドを使用してNode-REDをダウンロードできます:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
ステップ 5: flows.jsonをインポートする
プロジェクトファイルをインポートします。右上の設定 => インポート
をクリックし、新しいポップアップウィンドウでファイルを選択
をクリックしてflows.json
を選択し、最後にインポート
をクリックします。
ステップ 6: 必要なコントロールをダウンロードする
プロジェクトファイルをインポートした後、Node-REDがいくつかのコントロールが不足していることを通知する場合があります。以下のコントロールをダウンロードする必要があります:
@bartbutenaers/node-red-rtsp-to-mjpeg
@chirpstack/node-red-contrib-chirpstack
@flowfuse/node-red-dashboard
node-bacnet-contrib-extended
node-red-contrib-buffer-parser
node-red-contrib-image-output
node-red-contrib-image-tools
node-red-contrib-modbus
node-red-contrib-msg-speed
node-red-contrib-multipart-stream-encoder
node-red-contrib-onvif
node-red-contrib-play-audio
node-red-dashboard
node-red-node-base64
node-red-node-mysql
node-red-node-pi-gpio
node-red-node-ping
node-red-node-serialport
node-red-node-smooth
node-red-sensecap-paas
node-red-node-random
例えばnode-red-node-random
の場合、右上の設定 => パレットを管理
をクリックし、新しいウィンドウでインストール
タブを選択し、node-red-node-random
を入力して最後にインストール
ボタンをクリックします。
ステップ 7: プロジェクトをデプロイする
右上のデプロイボタンをクリックすると、システムが正常に動作します。
reTerminal DM 上で
ステップ 1: reTerminal DMにgstreamerをインストールする
以下のコマンドを使用してgstreamerをダウンロードしてください:
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
ステップ 2: リポジトリをインストールする
以下のコマンドを使用してリポジトリをダウンロードしてください:
git clone https://github.com/LJ-Hao/Pose-Based_Light_Control_with_Node-Red_and_Raspberry_Pi_with_AIkit.git && cd Pose-Based_Light_Control_with_Node-Red_and_Raspberry_Pi_with_AIkit
ステップ 3: ビデオ受信を実行する
python3 video_receiver.py
結果
このデモンストレーションは、YouTubeライブ放送で19:47
に開始されました。ホストが手を叩くとライトが点灯し、ホストが手を振るとライトが消灯する様子をご覧いただけます。このデモをお楽しみください:
技術サポートと製品に関する議論
弊社製品をお選びいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しております。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルをご用意しています。