Para instalar Octoprint en nuestro raspbian lo primero que tenemos que hacer es actualizar nuestro sistema operativo, para ello ejecutar los siguientes comandos: Yo personalmente prefiero instalarlo todo en la carpeta /opt así lo tengo mas controlado.
sudo apt update
Descargamos todas las librerías que nos hacen falta:
sudo apt install python3-pip python3-dev python3-setuptools python3-venv git libyaml-dev build-essential
Creamos el directorio Octoprint y entramos en el :
mkdir OctoPrint && cd OctoPrint python3 -m venv venv
source venv/bin/activate
Ahora instalamos Octoprint y sus dependencias:
pip install pip --upgrade
pip install octoprint
Antes de iniciar Octoprint, añadimos al usuario pi al grupo dialout y tty para que el usuario pueda acceder a los puertos serie.
sudo usermod -a -G tty pi
sudo usermod -a -G dialout pi
Si estamos en root volvemos al usuario pi, ya que el siguiente comando no podemos iniciarlo como root:
su pi
Entramos en la tuta donde esta el Octoprint
cd /opt/OctoPrint/venv/bin y lo iniciamos por primera vez con ./octoprint (no olvidar poner el punto antes de la /)
Para saber si todo va bien entraremos con la dirección IP de la raspberry con el puerto 5000 (ejemplo http://192.168.1.x:5000)
Descargamos el script de inicio del repositorio de Octoprint y lo movemos a su lugar correspondiente.
wget https://github.com/OctoPrint/OctoPrint/raw/master/scripts/octoprint.service && sudo mv octoprint.service /etc/systemd/system/octoprint.service
Ahora modificaremos la ruta de inicio de Octoprint que lo tenemos en el directorio /opt, editamos con nano
nano /etc/systemd/system/octoprint.service
Buscamos esta linea:
ExecStart=/home/pi/OctoPrint/venv/bin/octoprint
La modificamos por la dirección de nuestra carpeta y reiniciamos nuestra raspberry para ver si todo inicia correctamente:
ExecStart=/opt/OctoPrint/venv/bin/octoprint