树莓派安装OctoPrint及摄像头设置

本文详细介绍了如何在RaspberryPi上下载并烧录OctoPrint镜像,设置WiFi连接,以及配置网络摄像头以实现实时监控。包括镜像烧录步骤、OctoPrint系统设置和mjpg-streamer的安装与配置。
摘要由CSDN通过智能技术生成

一.镜像下载及烧录

1.登录 https://OctoPrint.org/ ,下载OctoPrint镜像。

选择带有new camera stack的镜像下载。

2.镜像烧录,使用balenaEtcher或树莓派官方烧录软件Raspberry Pi Imager,将镜像文件烧录进TF卡内。

3.修改wifi名称及密码。将TF通过读卡器连接电脑,在boot盘符里找到octopi-wpa-supplicant.txt文件,使用记事本打开,找到:

network={
    ssid="yourwifi"     #引号里的内容替换为wifi名称
    psk="yourpassword"      #引号里的内容替换为wifi密码
    key_mgmt=WPA-PSK
}

4.修改并保存后,将tf卡插入树莓派,并开机运行。

二.OctoPrint系统设置

在浏览器中输入树莓派的IP地址,进入OctoPrint系统,根据提示进行设置。具体可参照B站及CSDN上相关信息。

三.OctoPrint系统网络摄像头设置

1.使用ssh工具连接树莓派,进入树莓派home目录,依次执行以下命令,安装相应的软件:

cd ~
sudo apt install subversion libjpeg62-turbo-dev imagemagick ffmpeg libv4l-dev cmake
git clone https://github.com/jacksonliam/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
export LD_LIBRARY_PATH=.
make

2.安装成功后,进入mjpg-streamer/mjpg-streamer-experimental文件夹,使用以下命令开启网络摄像头服务:

./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so"

如果使用树莓派官方摄像头,需使用以下命令:

./mjpg_streamer -i "./input_raspicam.so -fps 5" -o "./output_http.so"

此时,在浏览器内输入 http://<your Raspi's IP>:8080/?action=stream将会看到摄像头的拍摄画面。如果浏览器显示错误,则将上面命令中输出部分改为以下内容: 

-o "./output_http.so -w ./www"

在OctoPrint系统设置中的Stream和Webcam & Timelapse选项里进行如下设置:

Stream URL: /webcam/?action=stream

Snapshot URL: http://127.0.0.1:8080/?action=snapshot (此次IP地址要填127.0.0.1)

Path to FFMPEG: /usr/bin/ffmpeg

3.将mjpg-streamer设置为自动启动。

3.1在树莓派/home/pi/scripts文件夹下创建webcamDaemon文件,并输入以下内容:

#!/bin/bash

MJPGSTREAMER_HOME=/home/pi/mjpg-streamer/mjpg-streamer-experimental
MJPGSTREAMER_INPUT_USB="input_uvc.so"
MJPGSTREAMER_INPUT_RASPICAM="input_raspicam.so"

# init configuration
camera="auto"
camera_usb_options="-r 640x480 -f 10"
camera_raspi_options="-fps 10"

if [ -e "/boot/octopi.txt" ]; then
    source "/boot/octopi.txt"
fi

# runs MJPG Streamer, using the provided input plugin + configuration
function runMjpgStreamer {
    input=$1
    pushd $MJPGSTREAMER_HOME
    echo Running ./mjpg_streamer -o "output_http.so -w ./www" -i "$input"
    LD_LIBRARY_PATH=. ./mjpg_streamer -o "output_http.so -w ./www" -i "$input"
    popd
}

# starts up the RasPiCam
function startRaspi {
    logger "Starting Raspberry Pi camera"
    runMjpgStreamer "$MJPGSTREAMER_INPUT_RASPICAM $camera_raspi_options"
}

# starts up the USB webcam
function startUsb {
    logger "Starting USB webcam"
    runMjpgStreamer "$MJPGSTREAMER_INPUT_USB $camera_usb_options"
}

# we need this to prevent the later calls to vcgencmd from blocking
# I have no idea why, but that's how it is...
vcgencmd version

# echo configuration
echo camera: $camera
echo usb options: $camera_usb_options
echo raspi options: $camera_raspi_options

# keep mjpg streamer running if some camera is attached
while true; do
    if [ -e "/dev/video0" ] && { [ "$camera" = "auto" ] || [ "$camera" = "usb" ] ; }; then
        startUsb
    elif [ "`vcgencmd get_camera`" = "supported=1 detected=1" ] && { [ "$camera" = "auto" ] || [ "$camera" = "raspi" ] ; }; then
        startRaspi
    fi

    sleep 120
done

将此文件设置为可执行文件:

chmod +x /home/pi/scripts/webcamDaemon

3.2在树莓派/etc/systemd/system文件夹下创建webcamd.service,并输入以下内容:

[Unit]
Description=Camera streamer for OctoPrint
After=network-online.target OctoPrint.service
Wants=network-online.target

[Service]
Type=simple
User=pi
ExecStart=/home/pi/scripts/webcamDaemon

[Install]
WantedBy=multi-user.target

3.3在树莓派终端依次输入以下命令,启用webcamd服务:

sudo systemctl daemon-reload
sudo systemctl enable webcamd
sudo systemctl start webcamd

 4.注意在OctoPrint设置中,网络摄像头的IP要填127.0.0.1,否在不能正常显示。

5.相关参考资源

https://community.octoprint.org/t/setting-up-octoprint-on-a-raspberry-pi-running-raspberry-pi-os-debian/2337

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值