Node-RedとRaspberry Pi with AIkitを使用したポーズベースライト制御
はじめに
このwikiでは、AIキットを使用してYOLOv8を実行し、YOLOv8を使用して姿勢を監視し、最終的に姿勢に基づいてライトを制御する方法をガイドします。このプロジェクトでは、USBカメラがあなたのポーズをキャプチャし、reComputer R1000のAI kit上で動作するyolov8nがポーズを検出します。検出されたポーズを表示する処理済みビデオは、gstreamerを使用してreTerminal DMにリアルタイムでストリーミングされます。同時に、関節座標はmqttを使用してreComputer R1000にデプロイされたNode-REDに送信されます。最後に、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をインストールします。1行のコマンドでNode-REDをダウンロードできます:
bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
ステップ 5: flows.json をインポートする
プロジェクトファイルをインポートします。右上角の Settings => Import
をクリックし、新しいポップアップウィンドウで click select a file
をクリックしてインポートし、flows.jeson
を選択し、最後に Import
をクリックします。
ステップ 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
を例に、右上角のSettings => Manage Palette
をクリックし、新しいウィンドウでInstall
列を選択し、node-red-node-random
を入力して、最後にInstall
ボタンをクリックします。
ステップ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
結果
私たちは19:47
から始まるYouTubeライブ配信でこのデモンストレーションを披露しました。ホストが手を叩くとライトが点灯し、手を振るとライトが消灯する様子をご覧いただけます。このデモをお楽しみください:
技術サポート & 製品ディスカッション
私たちの製品をお選びいただき、ありがとうございます!私たちは、お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルを用意しています。