Nun, gleich mal vor weg … wahrscheinlich zocke ich privat grade mehr Ingress, als dass ich 3d-drucke. Ein grösseres Projekt liegt grad ein wenig brach und ich suche nach Inspiration.
Das Regenwetter hat mich dann aber doch wieder vor den Drucker getrieben und ich habe ein Projekt in Angriff genommen, bei dem ich das erste Mal gescheitert bin. Ich bin ja absolut begeistert von der ganzen Maker-Community und habe mir vor einiger Zeit schon einen RaspberryPi gezogen, ohne das ich wusste was ich damit anfangen sollte.
Irgendwann, bin ich per Zufall, über den RepetierServer gestolpert, von diesem Moment an wusste ich, was ich mit meinem RaspberryPi anstellen wollte!
Vorbereitung / Einkaufsliste
Um auf dem RaspberryPi einen RepetierServer aufzusetzen braucht ihr folgendes:
- 1x RaspberryPi (am besten den Typ B von der CPU-Leistung her)
- 1x 4GB SD-Speicherkarte Class 4
- 1x MicroUSB-Ladegerät (z.B. von einem Handy oder so … mind. 700mA/5V)
- 1x LAN-Kabel (um den Server ins Netzwerk einzubinden)
- 1x USB-Hub (Um Maus, Tastatur und Drucker gleichzeitig anzuhängen)
- 1x USB-Tastatur und –Maus (temporär, am besten habt ihr eine zweite Reserve-Garnitur rumliegen, damit ihr nebenbei trotzdem noch auf dem normalen Rechner surfen könnt)
- 1x Bildschirm mit HDMI-Kabel oder Adapter (temporär, auch hier habt ihr am besten einen Reserveschirm)
- 1x SD-Card-Lesegerät (temporär, um das Betriebssystem aufzuspielen)
- 1x Keine Angst vor Linux (PC-Kenntnisse, insbesondere von Linux sind von grossem Vorteil 😉 )
- 1x etwas Geduld
- Ca. 3h Zeit
Wenn ihr das alles habt, dann könnt ihr nun loslegen, den Server aufzusetzen.
Ein Gehäuse Drucken
Nun, da der RaspberryPi nur aus einer Platine besteht und ihr einen 3d-Drucker habt, drucken wir doch erst Mal ein Gehäuse dafür aus und packen den da mal rein.
Auf thingiverse.com findet ihr viele verschiedene Gehäuse dazu. Mir hat das thing:82435 von foosel am besten gefallen. Das sieht cool aus und es funktioniert einwandfrei!
Die SD-Karte vorbereiten (Betriebssystem aufspielen)
Bevor wir den RaspberryPi in Betrieb nehmen können, müssen wir erst einmal ein Betriebssystem auf die SD-Karte aufspielen.
Als erstes solltet ihr nun auf raspberrypi.com ein Image von einem Betriebssystem runterladen, ich habe mich für das Raspbian entschieden, da dieses auch als Betriebssystem in der Installationsanleitung vom RepetierServer vorgeschlagen wird.
Während dem Download, ziehen wir das Tool “SD Formatter 4.0” und formatieren damit die SD-Karte.
Danach zieht ihr euch das Tool “Win32 Disk Imager”, dieses benötigen wir um das Image auf die SD-Karte zu kopieren. Dabei gehen wir wie folgt vor (Quelle: elinux.org):
- Extrahiert die Image-Datei aus dem Zip-File.
- Schiebt die SD-Karte in das Lesegerät und findet heraus, welchen Laufwerksbuchstaben sie hat.
- Öffnet den “Win32 Disk Imager”, je nachdem benötigt ihr Administratorrechte (Rechtsklick: Als Administrator ausführen)
- Wählt die Image-Datei im linken Bereich aus.
- Selektiert im rechten Bereich den Laufwerksbuchstaben der SD-Karte. Sei vorsichtig, wenn du hier die falsche Auswahl triffst, kannst du die ganzen Daten auf deiner Festplatte zerstören. Ein zweiter Blick lohnt sich auf jeden Fall!
- Klicke auf “Write” und warte bis der Prozess beendet ist.
- Schliessen den “Win32 Disk Imager” und wirf die SD-Karte aus.
- Nun sind wir bereit, den RaspberryPi zu verkabeln und das erste Mal zu starten.
Den RaspberryPi in Betrieb nehmen
Im Quick-Guide auf der RaspberryPi seht ihr, wo ihr all die Kabel an den RaspberryPi hängen müsst.
Sobald das Netzteil angeschlossen wird, startet der RaspberryPi auf.
Die Konfiguration startet in einem halbgrafischen Modus. Ich habe mich dabei an den Blogeintrag von ascii_ch gehalten.
Erst Mal das Filesystem expandieren. Dann die Ländereinstellungen und Tastaturlayout umstellen (wobei ich immer noch irgendwie eine Englische drin hab …) und dann noch das Betriebssystem direkt updaten. Zum Schluss die Bootsettings so stellen, dass man direkt auf den Desktop bootet und dann die Konfiguration beenden.
Nun können wir den RaspberryPi mit der Befehlszeile “sudo reboot” neu starten. Nun startet der RaspberryPi das erste Mal direkt auf den Desktop.
Dem RaspberryPi eine statische IP zuweisen
Damit wir später von überall im Netzwerk auf den Server zugreifen können, müssen wir dem RaspberryPi nun eine statische IP zuweisen. (Quelle: kevinhooke.com und elinux.org)
Dazu öffnen wir ein Konsolenfenster “LXTerminal” und geben die folgende Befehlszeile ein: “sudo nano /etc/network/interfaces”
Nun öffnet sich ein Texteditor in der Konsole, darin suchen wir die Zeile:
iface eth0 inet dhcp
und ändern sie zu:
iface eth0 inet static
Unter dieser Linie geben wir den folgenden Text ein. Ersetze die X mit den entsprechenden Ziffern für deine Netzwerkkonfiguration.
address 192.168.x.x
netmask 255.255.255.0
network 192.168.x.0
broadcast 192.168.x.255
gateway 192.168.x.x
Die Datei sollte nun also so ähnlich wie bei mir aussehen:
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.1.32
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam/etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
Mit CTRL & O speichern wir das ganze im File und mit CTRL & X schliessen wir den Editor.
Nun können wir unten rechts auf den On/Off-Button klicken und den Rechner neu starten. Einmal klicken genügt … der RaspberryPi braucht ein Weilchen, bis das Fenster geöffnet wird 😉
Nach dem Neustart pingen wir den Rechner mal von unserem Hauptrechner aus an. Dazu geben wir im Suchfeld im Windows-Startmenü “cmd” ein und drücken “Enter”, daraufhin öffnet sich ein Konsolenfenster im Windows.
In das geben wir dann “ping 192.168.1.32” (bitte deine IP hinter ping einfügen!) ein und warten. Wenn das so aussieht wie in meinem Bild, war es erfolgreich und wir setzen uns wieder an den Raspberry.
Nun öffnen wir den Browser “Midori” und gehen auf google. Wenn das funktioniert hat, ist das Netzwerk funktionsfähig und fertig eingerichtet. Dann wenden wir uns dem Konfigurieren vom RepetierServer zu.
Den RepetierServer vorbereiten, downloaden und Kompilieren
Wir öffnen auf dem RaspberryPi wieder ein Konsolenfenster. Da es auf dem Raspbian nicht möglich ist dauerhafte Admin-Rechte im File-Explorer zu erhalten, läuft alles über die Konsole ab. Der Befehl “sudo” gibt uns die entsprechenden Admin-Rechte.
Das hier dokumentierte vorgehen ist der Install.txt entnommen. Das File findet ihr auf github.com .
Als erstes geben wir nacheinander 3 Befehle ein, bei denen wir zwischendurch die Installation auch noch durch das Zeichen “Y” bestätigen müssen:
- sudo apt-get install cmake
- sudo apt-get install libboost-all-dev
- sudo apt-get install git
Nun laden wir die aktuellste Version vom RepetierServer von github runter mit dem Befehl:
git clone git://github.com/repetier/Repetier-Server.git
Jetzt solltet ihr im Heimordern “pi” einen Ordner “Repetier-Server” erhalten haben. Das könnt ihr im File-Explorer nachsehen. In diesem Ordner ist nun auch die install.txt zu sehen. Die Befehle hier könnt ihr per CTRL & C aus dem Text-File kopieren und per CTRL & SHIFT & V in der Konsole wieder einfügen.
Öffnet nun diesen Ordner und klickt im Menü des File-Explorers auf “Tools” und wählt die Option “Open Current Folder in Terminal”
Nun gebt ihr
“mkdir build”
ein und erstellt damit einen Ordner build. Mit dem Befehl
“cd build”
wechselt ihr in diesen Ordner. Nun kompilieren wir die EXE-Datei mit dem Befehl
“cmake ..”
und nun noch
„make“
das dauert nun ca. 30 Minuten. Wenn ihr erfolgreich wahrt, findet ihr danach eine Ausführbare Datei mit dem Namen “RepetierServer” und einem Zahnrad-Icon in diesem Ordner.
Den RepetierServer fertig einrichten
Um den RepetierServer fertig einzurichten, müssen wir noch einige Verzeichnisse erstellen und Dateien an den richtigen Ort kopieren. Das machen wir indem wir die folgenden Befehle nacheinander in der Konsole, die immer noch im build-Ordner sein sollte, eingeben:
- sudo cp RepetierServer /usr/bin
- sudo cp ../linux/repetier-server.conf /etc
- sudo mkdir /var/lib/Repetier-Server /var/lib/Repetier-Server/configs /var/lib/Repetier-Server/www /var/lib/Repetier-Server/storage /var/lib/Repetier-Server/languages
- sudo cp -r ../www/* /var/lib/Repetier-Server/www
- sudo cp ../languages/* /var/lib/Repetier-Server/languages
- sudo cp ../linux/init_Repetier-Server_debian /etc/init.d/Repetier-Server
- sudo chmod 755 /etc/init.d/Repetier-Server
- sudo update-rc.d Repetier-Server defaults
Wir haben nun alle benötigten Ordner erstellt und das Start-Skript erstellt. Das Skript können wir mit den folgenden Befehlszeilen starten und stoppen:
- sudo /etc/init.d/Repetier-Server start
- sudo /etc/init.d/Repetier-Server stop
Starte nun das Skript.
Das erste Mal auf dem RepetierServer
Nun wechseln wir an den Windowsrechner und starten einen beliebigen Browser. In die Adresszeile geben wir nun einfach die statische IP-Adresse vom RaspberryPi mit dem Zusatz “:8080” ein. In meinem Fall also “192.168.1.32:8080”
Wenn bis jetzt alles erfolgreich war, solltet ihr das erste Mal auf der Webseite vom Repetier-Server landen, die wie im nebenstehenden Bild aussieht.
Noch können wir aber nichts machen, da wir keinen Drucker konfiguriert haben.
Den Drucker konfigurieren
Im Ordner “/home/pi/Repetier-Server/” befindet sich der Ordner “configs”. Diesen öffnen wir nun und nehmen eine Konfigurations-Datei, die unserem Drucker am nächsten kommt. Ich habe in diesem Fall die “mendel.cfg” geöffnet und sicherheitshalber gleich mal unter “mymendel.cfg” gespeichert.
Nun habe ich den Namen und den slugName angepasst, aber das sind nur kosmetische Eingriffe.
Das wichtigste ist, dass wir nun die Verbindung einrichten.
Dazu geht man in das /dev/serial/by-id Verzeichnis. Dort sieht man dann den USB-Serial-Wandler im Fileexplorer. Wähle die Datei an und gehe auf “Rename” und kopiere den ganzen Namen heraus.
Bei mir heisst das:
usb-Arduino_www.arduino.cc_Arduino_Mega_2560_74136453156431C0D091-if00
Das trägt man dann wie folgt in die Config ein:
device=“/dev/serial/by-id/usb-Arduino_www.arduino.cc_Arduino_Mega_2560_74136453156431C0D091-if00″;
Jetzt ist es noch sehr wichtig, dass die “baudrate” in diesem File mit der auf der Firmware vom Drucker übereinstimmt. In meinem Fall sind die 115200 richtig.
Das nächste, woran die Kommunikation scheitern kann ist das “protocol”. Standardmässig steht dieses auf dem Wert “2” für die Repetier-Firmware. Da die meisten von uns aber eine RepRap-Firmware (Sprinter, Merlin) haben, muss man diesen Wert auf “0” stellen.
Nun sollte die Firmware eigentlich so weit sein. Ich habe dann noch die Dimensionen, die Geschwindigkeit (ACHTUNG: Hier sind es mm/s und nicht mm/min wie im RepetierHost) und die Anzahl Extruder angepasst.
Nun speichern wir die Datei und öffnen mit “F4” wieder die Konsole im “configs”-Ordner. Mit dem Befehl
sudo cp mymendel.cfg /var/lib/Repetier-Server/configs
kopieren wir die Konfigurationsdatei an den Ort, an dem der Server nach ihr sucht.
Anschliessend stoppen wir den Dienst mit:
sudo /etc/init.d/Repetier-Server stop
Und starten ihn wieder neu, damit die Konfigurationsdatei geladen wird mit dem Befehl:
sudo /etc/init.d/Repetier-Server start
Mit dem RepetierServer auf den Drucker zugreifen
Wenn wir nun im Browser auf den Server zugreifen, sollte sich nun in etwa das folgende Bild zeigen. In der ersten Zeile ist nun ein Drucker zu sehen, was bei unserem ersten Versuch nicht der Fall war.
Nun klicken wir rechts auf “Aktivieren” die Ansicht sollte sich ändern und so aussehen:
Wenn wir nun auf “Verwenden” klicken zeigt sich uns das folgende Bild:
Wir können nun im Register “Steuerung” die manuelle Kontrolle über den Drucker übernehmen und kontrollieren, ob wir wirklich erfolgreich waren:
Wenn die Steuerung funktioniert, heisst es nun ein gCode hochladen, den Druck starten und dann einfach den Windows-Rechner herunterfahren … das läuft nun alles über den RaspberryPi und den RepetierServer …. Woooohaaaa !!! 😀
Hallo,
super Tutorial! Allerdings fehlt im Abschnitt „Kompelieren“ der Befehl „make“ am ende.
Gruss
müller
Yo,
Vielen Dank für deine Ausführung. Endlich mal was auf Deutsch. Alles sehr schön erklärt.
Allerdings sind zwei unglückliche Umstände drinne.
… In das geben wir dann “ping 192.168.1.32” ein und warten …
Wär nicht schlecht wenn du erwähnen würdest, das es sich hierbei um deine persönliche adresse deines RaspberryPi handelt. Doofmänner wie ich hätten das schon beinahe einfach so übernommen.
…“cmake ..”
das dauert nun ca. 30 Minuten …
Hier fehlt noch der Befehl „make“ erst dann dauert es noch ca 30 Minuten 😉
Aber auf jeden Fall eine Sehr tolle Anleitung. Vielen Dank.
Allerdings krieg ichs nicht zum laufen.
Die Firmware meines 3dDruckers läuft offensichtlich mit 250000 Baut
Wenn ich allerdings hier an der grün markierten Stelle
http://puu.sh/bVmYu/6a2ace2463.jpg
einfach die 250000 eintrage, das so abspeichere und das file dann über den LXTerminal per cp dorthinspeichere wo es auch wirklich hin soll krieg ich knackiege Kommunikationsprobleme.
Versuch es am besten mal selbst. Ich nehme an du kriegst genau das selbe Problem wie ich.
Die Maschine lässt sich zwar über das Repetier-Server-WebInterface connecten macht aber da schon komische sachen.
Der Button schaltet auf „ausgeschlatet“ obwohl wir gerade connected haben
Wenn man in die manuelle Steuerung wechseln möchte friert alles ein und man bekommt einen Kommunikationserror ( so ne art „bluescreen nichts geht mehr“)
Ich komm nicht weiter und versteh nicht was ich anders machen muss.
Meine Maschine ist die Powerwasp und die läuft mit dem Adruino Mega 2560
Vielleicht kann ich ja einfach die RepetierFirmware in meine Powerwasp reinladen, vielleicht würde das schon helfen. Allerdings hab ich echt keine Ahnung ob ich einfach so die Firmware tauschen kann.
Bitte hilf.
Ich sitze hier schon seit einer Woche und komm echt nicht weiter.
Klassisch,
sobald ich die Flinte ins Korn werfe und anfange Leute um Hilfe zu bitten finde ich die Lösung.
Ich habs mir jetzt einfach mal so richtig Leicht gemacht und fahre jetzt mit Octoprint.
Das Ganze Lief nach (gefühlten 😉 zehn Minuten.
endlich kann ich meine PowerWasp auch auf 250000 Ansteuern. Gott war gnädig.
Trotzdem vielen Dank für deine Ausführliche Anleitung. Es ist
wirklich eine tolle Sachen So was unaufgefordert ins Netz zu stellen.
Super Tut !
Leider hatt eich auch das Probelm das 250000 Baut nicht gehen, das lässt dauernd den Dienst auf dem Pi abstürzen.
Einfach auf ne niedrigere Bautrate und gut ist 😉
Ich vermisse allerding noch beim Druckstatus die Restzeit, wäre mir fast lieber als Prozent.
LG Dennsi
bei mir geht die KONFIGURIEREN nicht
er zeigt mir das hier an
pi@raspberrypi ~/Repetier-Server/build $ sudo cp K8200.cfg /home/pi/repetier-server/configs
cp: Aufruf von stat für „K8200.cfg“ nicht möglich: Datei oder Verzeichnis nicht gefunden
pi@raspberrypi ~/Repetier-Server/build $
bitte um hilfe
Danke für die Anleitung, hat wunderbar geklappt- nachdem ich Nicht-Linux-Spezi ein paar kleine Hürden überwunden habe 🙂
Inzwischen gibt es eine neue Version 0.5 des Repetier-Server, incl. Userverwaltung mit Passwortschutz.
Damit wird der Betrieb über Internet auch sicher(er).
Einfach das Paket für den armel von der Seite http://www.repetier-server.com/download-repetier-server runter laden und entsprechend der Dokumentation dort installieren. Geht noch einfacher als der hier beschriebene Weg.
Cu
Klaus
Hallo,
„entsprechend der Dokumentation dort installieren“
ich finde da irgendwie keine Dokumentation bzw einen Link zu einer im Downloadbereich, wie man das installieren sollte. Daher habe ich diese Seite hier genutzt. Würde mich jetzt aber doch mal interessieren, was die Alternative gewesen wäre…
Aktualisierung:
Inzwischen gibt es auf der Repetier-Server Seite ein komplettes Raspian-Image mit vorinstalliertem Repetier-Server zum Download, aktuell in der Version 0.80.3:
https://www.repetier-server.com/download-images/
Kann man Repetier Server auf dem Raspberry auch installieren, wenn dort schon Octoprint läuft, oder gibt’s da Konflikte? Mit RepetierHost auf dem Raspberry hab‘ ich’s schon probiert, aber das Programm stürzt mir schon beim Starten mit einer seitenlangen Auflistung von Fehlermeldungen ab, die ich hier nur stark gekürzt anführen kann:
(mono:2762): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-can-change-accels after class was initialised
(mono:2762): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-menu-popup-delay after class was initialised
(mono:2762): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-menu-popdown-delay after class was initialised
(…)
at System.Windows.Forms.XplatUIX11.GetMessage(System.Object queue_id, MSG ByRef msg, IntPtr handle, Int32 wFilterMin, Int32 wFilterMax)
at System.Windows.Forms.XplatUI.GetMessage(System.Object queue_id, MSG ByRef msg, IntPtr hWnd, Int32 wFilterMin, Int32 wFilterMax)
at System.Windows.Forms.Application.RunLoop(Boolean Modal, System.Windows.Forms.ApplicationContext context)
at System.Windows.Forms.Application.Run(System.Windows.Forms.ApplicationContext context)
at System.Windows.Forms.Application.Run(System.Windows.Forms.Form mainForm)
at RepetierHost.Program.Main(System.String[] args)
X11 Error encountered:
Error: BadMatch (invalid parameter attributes)
Request: 72 (0)
Resource ID: 0x18001A9
Serial: 10676
Hwnd:
Control: at System.Environment.get_StackTrace()
at System.Windows.Forms.XplatUIX11.HandleError(IntPtr display, XErrorEvent ByRef error_event)
at System.Windows.Forms.XplatUIX11.XQueryPointer(IntPtr , IntPtr , IntPtr ByRef , IntPtr ByRef , Int32 ByRef , Int32 ByRef , Int32 ByRef , Int32 ByRef , Int32 ByRef )
at System.Windows.Forms.XplatUIX11.GetMessage(System.Object queue_id, MSG ByRef msg, IntPtr handle, Int32 wFilterMin, Int32 wFilterMax)
at System.Windows.Forms.XplatUI.GetMessage(System.Object queue_id, MSG ByRef msg, IntPtr hWnd, Int32 wFilterMin, Int32 wFilterMax)
at System.Windows.Forms.Application.RunLoop(Boolean Modal, System.Windows.Forms.ApplicationContext context)
at System.Windows.Forms.Application.Run(System.Windows.Forms.ApplicationContext context)
at System.Windows.Forms.Application.Run(System.Windows.Forms.Form mainForm)
at RepetierHost.Program.Main(System.String[] args)
(…)
Aber vielleicht ist der Raspberry mit dem RepetierHost auch einfach nur überfordert 😉 ?
Und wie entfernt man die mit „make“ installierte Version 0.24 wieder? Die neue Version 0.65.0 funktioniert einwandfrei, nur blockiert die alte Version meine Raspi-Cam auf Port 8080.
sudo /etc/init.d/Repetier-Server stop
Und dann die Dateien löschen. (Überschreiben wäre mir zu riskant)
Dafür nutze ich Filezilla.