OctoPi Installation - Einrichten

 

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

OctoPrint-Webinterface

Das in OctoPi enthaltene OctoPrint bietet eine Weboberfläche für die Steuerung des Druckers und zur Verwaltung der 3D-Objekte. So kann zum Beispiel, bei Einsatz einer Webcam, der Printstatus jederzeit und überall begutachtet werden. Oder bei Verwendung eines Relais kann der Drucker nach dem Druckvorgang automatisch abgeschaltet werden. Auch eine zusätzliche Temperaturüberwachung über den Raspberry wäre denkbar.

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

Installation

Das Aufspielen des Images erfolgt wieder mittels Win32 Disk Imager:

(sourceforge.net/projects/win32diskimager/)

Die Netzwerkeinstellungen können direkt auf der SD-Karte, in der Datei octopi-network.txt eingestellt werden:

 

Somit ist es nicht notwendig dem Raspberry extra an einen Bildschirm anzuschließen, 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 crontab -e

1) Expand Filesystem

2) change Password

sollte eine Webcam angeschlossen sein:

6) Enable camera

Deaktivieren der Kamera-LED

Sollte die Kamera-LED stören, kann diese in folgender Datei deaktiviert werden:  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

PSU Control

über das Plugin PSU-Control kann mithilfe eines Relais die Stromzufuhr zum Drucker unterbrochen werden.

Folgende Einstellungen habe ich dafür gesetzt:

Immer die richtige Zeit: NTP

Über NTP kann die aktuelle Zeit vom Internet abgerufen werden, dazu die aktuelle Zeitzone einstellen / kontrollieren:

pi@octopi:~ $ sudo dpkg-reconfigure tzdata

NTP installieren

pi@octopi:~ $ sudo apt-get purge ntp
pi@octopi:~ $ sudo apt-get update
pi@octopi:~ $ sudo apt-get install ntpdate

folgender Befehl kann dann die Zeit über NTP holen und setzten:

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

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

Syncthing

Um Daten auf andere Geräte zu synchronisieren, habe ich am Raspberry Syncthing eingerichtet, siehe auch: 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 

Upload Ordner:

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

Communication stuck

Kommunikationsfehler

Es gab einen Fehler bei der Kommunikation mit dem Drucker. Bitte konsultiere den Terminaloutput und octoprint.log für Details. Fehler: Printer keeps requesting line ???  again and again, communication stuck

Das Problem wurde scheinbar durch das Plugin "DisplayLayerProcess" verursacht, entweder, weil ich den Dateinamen am Display anzeigen wollte und ab einer bestimmten Stelle  die übertragene Meldung zu lang wurde, oder weil zu viele Statusmeldungen geschickt wurden. 

Lösung: Drucker Anzeig ohne Dateinamen [current_print_filename] und Output intervall auf 10 seconds:

Fazit

Octopi und ein Raspberry-PI sind eine einfache Möglichkeit einen beinahe beliebigen 3D-Drucker um ein Webinterface zu erweitern, siehe auch: Prusa i3 basierte Drucker: Verbesserungen und Anpassungen.

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

DANKE für deine Bewertung!

Fragen / Kommentare


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