Skip to main content

基于姿态的灯光控制:使用 Node-Red 和 Raspberry Pi 搭配 AIkit

note

本文档由 AI 翻译。如您发现内容有误或有改进建议,欢迎通过页面下方的评论区,或在以下 Issue 页面中告诉我们:https://github.com/Seeed-Studio/wiki-documents/issues

简介

本文档将指导您如何使用 AI kit 运行 YOLOv8,利用 YOLOv8 监测您的姿态,并最终根据您的姿态控制灯光。在本项目中,USB 摄像头捕捉您的姿态,YOLOv8n 在 AI kitreComputer R1000 上运行以检测您的姿态。处理后的视频会实时通过 gstreamer 流式传输到 reTerminal DM。同时,关节坐标通过 mqtt 发送到部署在 reComputer R1000 上的 Node-RED。最后,Node-RED 流程根据关节坐标控制智能灯光。

pir

准备硬件

reComputer r1000reTerminal DMRaspberry Pi AI Kit

运行此项目

在 reComputer R1000 上

第一步:安装 AI 套件

请参考 此维基,确保您已在 reComputer R1000 上安装 AI 套件。

第二步:安装项目

使用以下命令下载项目:

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

第三步:运行姿态估计

编辑 pose_estimation.py 文件,将 mqtt_server 修改为您的 reTerminal DM 的 IP 地址。同时将 Gstreamer pipeline 修改为您的 reTerminal DM 的 IP 地址。然后运行以下命令以启动姿态估计:

bash run.sh

第四步:安装 Node-RED

安装 Node-RED。您可以使用以下单行命令下载 Node-RED:

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

第五步:导入 flows.json

导入项目文件。点击右上角的 Settings => Import,在新弹出的窗口中点击 click select a file 选择文件,选择 flows.json,最后点击 Import

pir

第六步:下载所需的控件

导入项目文件后,系统可能提示您的 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

第七步:部署项目

点击右上角的部署按钮,系统将正常运行。

pir

在 reTerminal DM 上

第一步:在 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

第二步:安装仓库

使用以下命令下载仓库:

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

第三步:运行视频接收器

python3 video_receiver.py

结果

我们在 YouTube 的直播中展示了这个演示,直播开始于 19:47。你可以看到,当主持人拍手时,灯会亮起;当主持人挥手时,灯会熄灭。请欣赏这个演示:

技术支持与产品讨论

感谢您选择我们的产品!我们致力于为您提供多种支持,以确保您使用我们的产品时体验顺畅。我们提供了多种沟通渠道,以满足不同的偏好和需求。

Loading Comments...