OctoPi Installation - Einrichten

Ein Raspberry Pi mit installiertem OctoPi bietet eine sehr einfache Möglichkeit bestehende 3D Drucker aufzurüsten.  

Das in OctoPi enthaltene OctoPrint bietet eine Weboberfläche für die Steuerung des Druckers, zur Verwaltung der 3D-Objekte bis hin zum Slicen dieser. So kann zum Beispiel, bei Einsatz einer Webcam, der Printstatus jederzeit und überall begutachtet werden, bei Verwendung eines Relais, der Drucker nach dem Druckvorgang automatisch abgeschaltet werden oder eine zusätzliche Temperaturüberwachung implementiert werden.

OctoPi basiert auf Raspian, entsprechend läuft die Einrichtung sehr ähnlich dem folgenden Artikel: Raspberry Pi 2-3 Inbetriebnahme 

Installation

Das Aufspielen des Images erfolgt wieder mittels Win32 Disk Imager:

Die Netzwerksettings können dann direkt auf der SD-Karte, bevor diese im Raspberry landen, in der Datei octopi-network.txt eingestellt werden.

 

 

Somit muss der Raspberry nicht extra an einen Bildschirm angeschlossen werden, die Verbindung erfolgt über SSH:

 

Der Benutzer ist wieder: pi, das Kennwort:raspberry

Die initialen Settings können wieder mit folgendem Befehl eingestellt werden:

sudo raspi-config

1) Expand Filesystem

2) change Password

sollte eine Webcam angeschlossen sein:

6) Enable camera

Deaktivieren der Kamera-LED

in der Datei:  sudo nano /boot/config.txt

disable_camera_led=1

Fehler beim Download zusätzlicher Pakete: SSLError: bad handshake

Sollte es an dieser Stelle nicht möglich sein bestimmte Paket zu installieren, könnte das an einer falschen Uhrzeit liegen:

sudo apt-get install python-setuptools python-pip

Fehler:

Exception:
Traceback (most recent call last):
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/basecommand.py", line 209, in main
status = self.run(options, args)
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/commands/install.py", line 299, in run
requirement_set.prepare_files(finder)
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/req/req_set.py", line 360, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/req/req_set.py", line 577, in _prepare_file
session=self.session, hashes=hashes)
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/download.py", line 810, in unpack_url
hashes=hashes
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/download.py", line 649, in unpack_http_url
hashes)

File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/download.py", line 842, in _download_http_url

stream=True,
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/_vendor/requests/sessions.py", line 480, in get
return self.request('GET', url, **kwargs)
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/download.py", line 378, in request
return super(PipSession, self).request(method, url, *args, **kwargs)
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/_vendor/requests/sessions.py", line 468, in request
resp = self.send(prep, **send_kwargs)
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/_vendor/requests/sessions.py", line 597, in send
history = [resp for resp in gen] if allow_redirects else []
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/_vendor/requests/sessions.py", line 195, in resolve_redirects
**adapter_kwargs
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/_vendor/requests/sessions.py", line 576, in send
r = adapter.send(request, **kwargs)
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/_vendor/cachecontrol/adapter.py", line 46, in send
resp = super(CacheControlAdapter, self).send(request, **kw)
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/_vendor/requests/adapters.py", line 447, in send
raise SSLError(e, request=request)
SSLError: ("bad handshake: Error([('SSL routines', 'SSL3_GET_SERVER_CERTIFICATE', 'certificate verify failed')],)",)

Power GPIO

Hier nur einmal ein Screenshot, zur Verkabelung, siehe:  Raspberry Pi Relais

Immer die richtige Zeit: NTP

aktuelle Zeitzone einstellen / kontrollieren

pi@octopi:~ $ sudo dpkg-reconfigure tzdata
pi@octopi:~ $ sudo apt-get purge ntp
pi@octopi:~ $ sudo apt-get update
pi@octopi:~ $ sudo apt-get install ntpdate
sudo crontab -e

Damit der Raspi die Zeit bei jedem Start aktualisiert, habe ich folgende Zeile in die Datei rc.local eingetragen:

pi@octopi:~ $ sudo nano /etc/rc.local

ntpdate -s 0.de.pool.ntp.org

Alternativ kann ntp auch über crontab aktualisiert werden:

sudo crontab -e

@reboot sudo ntpdate -s 0.de.pool.ntp.org

Zugriff aus dem Internet

Zusätzliche Authentifizierung:

File /etc/haproxy/haproxy.cfg

global
maxconn 4096
user haproxy
group haproxy
log 127.0.0.1 local1 debug

defaults
log global
mode http
option httplog
option dontlognull
retries 3
option redispatch
option http-server-close
option forwardfor
maxconn 2000
timeout connect 5s
timeout client 15min
timeout server 15min

userlist L1
group G1
user admin insecure-password ???????????????? groups G1


frontend public
bind *:80
bind 0.0.0.0:443 ssl crt /etc/ssl/snakeoil.pem
option forwardfor except 127.0.0.1
use_backend webcam if { path_beg /webcam/ }
default_backend octoprint
errorfile 503 /etc/haproxy/errors/503-no-octoprint.http

backend octoprint
reqrep ^([^\ :]*)\ /(.*) \1\ /\2
reqadd X-Scheme:\ https if { ssl_fc }
option forwardfor
server octoprint1 127.0.0.1:5000
acl AuthOkay http_auth(L1)
http-request auth realm octoprint if !AuthOkay

backend webcam
reqrep ^([^\ :]*)\ /webcam/(.*) \1\ /\2
server webcam1 127.0.0.1:8080

Syncthing

Um Daten auf andere Geräte zu synchronisiseren habe ich am Raspberry Syncthing eingerichtet:

https://jankarres.de/2014/09/raspberry-pi-bittorrent-sync-alternative-syncthing-installieren/

pi@octopi:~ $ sudo mkdir /etc/syncthing
pi@octopi:~ $ cd /etc/syncthing
pi@octopi:/etc/syncthing $ sudo wget https://github.com/syncthing/syncthing/releases/download/v0.14.23/syncthing-linux-arm-v0.14.23.tar.gz                                                                                                                                       
pi@octopi:sudo tar xvzf syncthing-linux-arm-v0.14.23.tar.gz

pi@octopi:/etc/syncthing $ sudo rm syncthing-linux-arm-v0.14.23.tar.gz
pi@octopi:/etc/syncthing $ sudo mv syncthing-linux-arm-v0.14.23/syncthing ../
pi@octopi:/etc/syncthing $ sudo chmod -x syncthing
sudo ln -s /etc/syncthing/syncthing /usr/bin/syncthing
nano ~/.config/syncthing/config.xml

<gui enabled="true" tls="false" debugging="false">
<address>192.168.0.115:8384</address> 

Autostart:

sudo nano /etc/init.d/syncthing

siehe:  Syncthing einrichten: unlimitierte private Dropbox - Autostart 

UploadOrdner:

chmod 777 -R /home/pi/.octoprint/uploads/

installierte Plugins

Hier eine Liste meiner zusätzlich installierten Plugins:

Autoselect Plugin (0.1.0)

Automatically selects freshly uploaded files for printing if no print job is currently active.

CuraEngine (<= 15.04) 

Adds support for slicing via CuraEngine versions up to and including version 15.04 from within OctoPrint

DisplayProgress (0.1.2)

Displays print progress on the printer's display

PSU Control (0.1.4)

Control ATX/AUX power supply.

Slic3r (1.1.0)

Adds support for slicing via Slic3r from within OctoPrint

Slicer (1.2.7)

A full-blown GUI-based slicer. Rotate and scale model; set layer height and other critical parameters.

Temperature Failsafe (0.1.0)

OctoPrint plugin to execute a shell command on temperature threshold violations

TouchUI (0.3.7)

A touch friendly interface for a small TFT modules and or phones

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!


veröffentlicht am 04.05.2017 von Bernhard
geändert am 27.10.2018 von Bernhard



Kommentare


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Mehr Details