In OctoPrint Stream URL: http://[ip address]/webcam/?action=stream Snapshot URL: http://127.0.0.1:8080/?action=snapshot
Restart OctoPrint: sudo service octoprint restart
Restart system: sudo shutdown -r now
Shutdown system: sudo shutdown -h now
Under Settings > Features > Webcam & Timelaps Path to FFMPEG: /usr/bin/ffmpeg
Webcam Automatic Start
cd ~
mkdir scripts && cd scripts
Create a new file at webcamDaemon
#!/bin/bash
MJPGSTREAMER_HOME=/home/[username]/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
Make sure the file is executable:
chmod +x webcamDaemon
And then create another new file at /etc/systemd/system/
Make sure your user has permission to access video (this is the part that is missing from the pi tutorial)
sudo usermod -aG video [username]
Refresh the daemon files
sudo systemctl daemon-reload
Set webcamd to start on boot
sudo systemctl enable webcamd
Start webcamd
sudo systemctl start webcamd
Make it so user has premission to shut down and restart server from octoprint Create a file /etc/sudoers.d/octoprint-shutdown (as root) with the following contents:
[username] ALL=NOPASSWD: /sbin/shutdown
Create another file /etc/sudoers.d/octoprint-service (as root) with the following contents:
[username] ALL=NOPASSWD: /usr/sbin/service
Summary I am running a web server so I did not include the part of the tutorial to change the web port from 5000 to 80 I also have not gotten it to be able to start and stop the web stream. It is complaining that it can’t read the user password
These tools should have been included with your Ender 3
First start by removing the lid to the main board case. pull the bed all the way forward. This will allow easier access to the rear screw on the main board cover, then push the bed to the rear of the machine and remove the two front screws. Lift the lid gently and remove the fan cable.
Then remove the four screws holding the main board to the case.
Next we will pull all the cables forward as possible to give enough slack to change them to the new board.
Pull the cables back through to place the main board back in the case and replace the 4 main board screws
Replace the lid and reconnect the fan cable. Pull the bed forward and replace the rear screw. Push the bed back and replace the two front screws.
Flash new firmware to Ender 3. Selecting firmware from the following URL Download Center: Ender 3. The firmware I selected was “Ender-3 4.2.7 mainboard (32bit)” since the only upgrade I have done was the main board.
Copy the firmware to the root of the Micro SD card. Insert the Micro SD card into the machine. Then turn the machine on. The firmware should automatically be flashed to the machine.