Skip to main content

Node-RedとRaspberry Pi with AIkitを使用したポーズベースライト制御

はじめに

このwikiでは、AIキットを使用してYOLOv8を実行し、YOLOv8を使用して姿勢を監視し、最終的に姿勢に基づいてライトを制御する方法をガイドします。このプロジェクトでは、USBカメラがあなたのポーズをキャプチャし、reComputer R1000AI kit上で動作するyolov8nがポーズを検出します。検出されたポーズを表示する処理済みビデオは、gstreamerを使用してreTerminal DMにリアルタイムでストリーミングされます。同時に、関節座標はmqttを使用してreComputer R1000にデプロイされたNode-REDに送信されます。最後に、Node-REDフローが関節座標に基づいてスマートライトを制御します。

pir

ハードウェアの準備

このプロジェクトの実行

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 をクリックします。

pir

ステップ 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ボタンをクリックします。

pir

ステップ7: プロジェクトをデプロイする

右上角のデプロイボタンをクリックすると、システムが正常に動作します。

pir

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ライブ配信でこのデモンストレーションを披露しました。ホストが手を叩くとライトが点灯し、手を振るとライトが消灯する様子をご覧いただけます。このデモをお楽しみください:

技術サポート & 製品ディスカッション

私たちの製品をお選びいただき、ありがとうございます!私たちは、お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルを用意しています。

Loading Comments...