RepetierServer auf dem RaspberryPi aufsetzen

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

http://www.thingiverse.com/thing:82435
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):

  1. Extrahiert die Image-Datei aus dem Zip-File.
  2. Schiebt die SD-Karte in das Lesegerät und findet heraus, welchen Laufwerksbuchstaben sie hat.
  3. Öffnet den “Win32 Disk Imager”, je nachdem benötigt ihr Administratorrechte (Rechtsklick: Als Administrator ausführen)
  4. Win32DiskImagerWählt die Image-Datei im linken Bereich aus.
  5. 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!
  6. Klicke auf “Write” und warte bis der Prozess beendet ist.
  7. Schliessen den “Win32 Disk Imager” und wirf die SD-Karte aus.
  8. 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.

imageIn 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”

imageWenn 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.

image

Nun klicken wir rechts auf “Aktivieren” die Ansicht sollte sich ändern und so aussehen:

image

Wenn wir nun auf “Verwenden” klicken zeigt sich uns das folgende Bild:

image

Wir können nun im Register “Steuerung” die manuelle Kontrolle über den Drucker übernehmen und kontrollieren, ob wir wirklich erfolgreich waren:

image

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 !!! 😀

 

 

11 Gedanken zu „RepetierServer auf dem RaspberryPi aufsetzen

  1. müller Antworten

    Hallo,
    super Tutorial! Allerdings fehlt im Abschnitt „Kompelieren“ der Befehl „make“ am ende.

    Gruss
    müller

  2. Soda Antworten

    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.

  3. Soda Antworten

    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.

  4. Dennsi Antworten

    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

  5. Hutmacher Antworten

    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

  6. Klaus Antworten

    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

    • Junkie123 Antworten

      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…

  7. Ingmar Antworten

    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 😉 ?

  8. Ingmar Antworten

    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.

  9. Markus Antworten

    sudo /etc/init.d/Repetier-Server stop
    Und dann die Dateien löschen. (Überschreiben wäre mir zu riskant)

    Dafür nutze ich Filezilla.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Captcha loading...