Seite 1 von 1

Anleitung: Repetier-Server auf Raspberry PI

Verfasst: So 3. Mai 2015, 18:40
von wolfkarst
Einrichten und Benutzen eines Raspberry-PI als Server für den RF1000 (ohne Bildschirm ... Bedienung erfolgt von einem PC/Smartphone per Webbrowser)

Schritt 1 Betriebssystem installieren:
Raspbian downloaden : http://downloads.raspberrypi.org/raspbian_latest

Zur Installation auf der SD-Karte bitte folgende Anleitung verwenden, da ich nur für Linux auskunft geben kann : https://www.raspberrypi.org/documentati ... /README.md

Folgende Links für Windows stammen von Oo :
http://www.chip.de/downloads/Noobs-New- ... 33184.html
http://sourceforge.net/projects/win32diskimager/

Schritt 2 Betriebssystem einrichten:

Am Raspberry auf der Kommandozeile anmelden mit Benutzernamen "pi" und Passwort "raspberry" (Geht sowohl lokal, wenn Ihr einen Bildschirm und Tastatur anschliesst, als auch über Netzwerk per SSH-Protokoll - siehe https://www.raspberrypi.org/documentati ... /README.md )

Auf der Konsole folgenden Befehl eingeben um das Raspberry Configuration-Tool (im folgenden RC genannt) aufzurufen:

Code: Alles auswählen

sudo raspi-config
Schritt 2a Dateisystem vergrößern:

Das Raspbian wir komprimiert ausgeliefert, wodurch zunächst nicht der komplette Speicher der SD-Karte genutzt werden kann. Um diesen zu nutzen muss das Dateisystem vergrößert werden: RC starten und dort die erste Option "Expand Filesystem" aufrufen und bestätigen ... Sobald der Raspberry fertig ist, das RC verlassen und folgende Befehle ausführen (Sicherstellen dass alle Daten auf der SD-Karte wirklich geschrieben sind und dann reboot)

Code: Alles auswählen

sudo sync
sudo reboot
Nach dem Neustart sollte die komplette SD-Karte zur Verfügung stehen. Das kann mit dem Befehl df geprüft werden und als Antwort erhält man etwas wie:

Code: Alles auswählen

Dateisystem 1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf
rootfs 7725252 2957948 4403188 41% /
/dev/root 7725252 2957948 4403188 41% /
devtmpfs 242988 0 242988 0% /dev
tmpfs 49452 244 49208 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 98900 0 98900 0% /run/shm
/dev/mmcblk0p1 57288 14728 42560 26% /boot
Hier stehen also von den 4GB der SD-Karte noch 2,9 GB zur Verfügung.

Schritt 2b Updates durchführen:

Nur ein aktualisiertes System ist ein sicheres System. Also folgende Befehle ausführen, bis er nichts neues mehr aktualisiert:

Code: Alles auswählen

sudo apt-get update
sudo apt-get upgrade
Dann noch die Firmware updaten:

Code: Alles auswählen

sudo rpi-update
Es erfolgt ein Neustart.

Schritt 2c Benutzer einrichten:

Variante 1 : über RC die Option "Change User Password" wählen und ein neues Passwort eingeben.

Diese Variante kann genutzt werden, wenn der Zugriff auf den Raspberry ausschliesslich vom lokalen Netzwerk aus erfolgen soll. Spätestens wenn Ihr vorhabt auf den Raspberry auch übers Internet zu benutzen, muss ich dringend die zweite Variante empfehlen, da nur Trottel Geräte mit Default-Zugängen ins Internet stellen.

Variante 2 : Neuen Nutzer anlegen, in sudo eintragen und anschliessend Passwörter für root und pi deaktivieren

Eine genaue Beschreibung findet Ihr hier:https://www.raspberrypi.org/documentati ... e/users.md

Anschliessend den Raspberry neu starten.

Schritt 2d Sonstige Einstellungen im RC

Code: Alles auswählen

Enable Boot to Desktop/Scratch
"Console Text Console, requiring login (default)" = Nur Textmodus wählen. Die CPU des Raspberry ist nicht stark genug um gleichzeitig die graphische Oberfläche und den Drucker mit Daten zu versorgen.

Code: Alles auswählen

Enable Camera
Die onBoard-Camera ist zwar schön, aber zur Zeit noch nicht für motion zu gebrauchen. Also deaktivieren.

Code: Alles auswählen

Overclock
Die Standard-Einstellungen reichen aus. Wer eine USB-Cam mit hoher Auflösung anschliessen will, der kann hier den CPU-Takt relativ sicher erhöhen. (Kühlung beachten, sonst wird der Raspberry instabil, was zu Druckfehlern führt)

Code: Alles auswählen

Advanced Options -> Hostname
Name des Raspberry im Netzwerk

Code: Alles auswählen

Advanced Options -> Memory Split
Wenn man ohne Desktop also im Textmodus Scratch arbeitet, reichen 16MB aus. Mit Desktop braucht man mind. 128MB, welche dann dem RAM fehlen.
Weitere Infos findet Ihr hier: https://www.raspberrypi.org/documentati ... -config.md

Schritt 2e Netzwerk einstellen:

Standardmäßig arbeitet der Raspberry im DHCP-Modus, d.h. Er stellt sich im aktuellen Netzwerk von selbst ein.

Wer dieses nicht möchte, kann die Datei /etc/network/interfaces nach Wunsch abändern. Hier ein vielleicht hilfreicher Link: http://www.netzmafia.de/skripten/hardwa ... twork.html

Wer einen WLAN-Dongle verwenden möchte, der findet diese Anleitung hilfreich: https://www.raspberrypi.org/documentati ... ess-cli.md


Im folgenden wird auch ein Texteditor benötigt. Weitere Infos zu den verschiedenen Editoren findet ihr hier: https://www.raspberrypi.org/documentati ... editors.md
Im folgenden verwende ich den Befehl vi für den vim Editor. Wenn Ihr einen anderen wollt einfach das vi durch z.B. nano , etc. austauschen.

Schritt 3 Repetier-Server einrichten:

Der Repetier-Server mittels folgenden Befehl in der Konsole herunter laden:

Code: Alles auswählen

wget [color=#0040FF]http://www.repetier-server.com/en/?wpdmdl=187[/color] -O repetier_armel.deb
und das ganze mittels dpkg installieren:

Code: Alles auswählen

sudo dpkg -i repetier_armel.deb
Nun muss das ganze noch konfiguriert werden. Die Basis-Einstellungen können mit

Code: Alles auswählen

sudo vi /usr/local/Repetier-Server/etc/RepetierServer.xml
verändert werden. Wichtig ist der Port für die Weboberfläche. So sehen meine Einstellungen aus:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<server>
<installation-directory>/usr/local/Repetier-Server/</installation-directory>
<storage-directory>/var/lib/Repetier-Server/</storage-directory>
<default-language>en</default-language>
<port>80</port>
<logging>true</logging>
<backlog-size>1000</backlog-size>
</server>
Zuletzt muss noch der Dienst mit folgendem Befehl sicher aktiviert werden:

Code: Alles auswählen

sudo update-rc.d RepetierServer defaults
sudo service RepetierServer start
Wenn Ihr nun vom PC-Browser die IP-Adresse vom Raspberry eingebt, solltet Ihr folgenden Bildschirm zu sehen bekommen:

Bild

Da ich hier leider nicht die xml-Datei hochladen kann folgt nun der Inhalt der RF1000.xml, welche Ihr für die Basis-Einstellungen über Druckereinstellungen ersetzen verwenden könnt (Es sind meine Einstellungen, also bitte nochmal vor der Verwendung prüfen, ob diese mit Euren übereinstimmt):

Code: Alles auswählen

<printer>
<shape>
<grid color="#454545" spacing="10"/>
<rectangle color="#dddddd" xMax="245" xMin="0" yMax="250" yMin="0"/>
</shape>
<general>
<name>RF1000</name>
<slug>RF1000</slug>
<firmwareName>Repetier-Firmware</firmwareName>
<printerVariant>cartesian</printerVariant>
<active>true</active>
<fan>true</fan>
<tempUpdateEvery>1</tempUpdateEvery>
<sdcard>true</sdcard>
<softwarePower>false</softwarePower>
<defaultVolumetric>false</defaultVolumetric>
</general>
<connection>
<serial>
<baudrate>250000</baudrate>
<device>/dev/ttyUSB0</device>
<pingPong>false</pingPong>
<inputBufferSize>63</inputBufferSize>
<protocol>0</protocol>
</serial>
</connection>
<movement>
<xMin>0</xMin>
<xMax>245</xMax>
<xHome>0</xHome>
<yMin>0</yMin>
<yMax>250</yMax>
<yHome>0</yHome>
<zMin>0</zMin>
<zMax>200</zMax>
<zHome>0</zHome>
<xyJerk>20</xyJerk>
<zJerk>0.30000000000000004</zJerk>
<timeMultiplier>1</timeMultiplier>
<movebuffer>16</movebuffer>
<xySpeed max="80">80</xySpeed>
<zSpeed max="16.66">16</zSpeed>
<xyPrintAcceleration>1500</xyPrintAcceleration>
<xyTravelAcceleration>2500</xyTravelAcceleration>
<zPrintAcceleration>100</zPrintAcceleration>
<zTravelAcceleration>100</zTravelAcceleration>
<endstops all="true" x="true" y="true" z="true"/>
<G10Speed>50</G10Speed>
<G10Distance>3</G10Distance>
<G10LongDistance>50</G10LongDistance>
<G11Speed>50</G11Speed>
<G11ExtraDistance>0</G11ExtraDistance>
<G11ExtraLongDistance>0</G11ExtraLongDistance>
<G10ZLift>0.1</G10ZLift>
</movement>
<extruders>
<extruder filamentDiameter="2.85" lastTemp="0" maxTemp="290" num="0">
<maxSpeed acceleration="6000" jerk="40" max="20"/>
<extrude speed="2"/>
<retract speed="20"/>
<tempChange cooldownPerSecond="0.4606677801010707" heatupPerSecond="2.192791980304762"/>
<offsets x="0" y="0"/>
<temperatures>
<temperature value="215">PLA</temperature>
<temperature value="270">ABS</temperature>
</temperatures>
</extruder>
</extruders>
<heatedBed cooldownPerSecond="0.04321410837248366" heatupPerSecond="0.5677118006662564" installed="true" lastTemp="60" maxTemp="180">
<temperatures>
<temperature value="60">PLA</temperature>
<temperature value="165">ABS</temperature>
</temperatures>
</heatedBed>
<quickCommands>
<quickCommand name="Ausgabe Objekt">G21
G90
G1 X0 Y250 Z200</quickCommand>
<quickCommand name="Ergebnis Heatbed-Scan">M3013</quickCommand>
</quickCommands>
<webcam>
<method>2</method>
<timelapseMethod>0</timelapseMethod>
<staticUrl>http://172.16.200.133:81/</staticUrl>
<dynamicUrl>http://172.16.200.133:81/</dynamicUrl>
<reloadInterval>3</reloadInterval>
<timelapseInterval>10</timelapseInterval>
</webcam>
<scripts>
<script name="end">G21
G90
G1 X0 Y250 Z200</script>
<script name="kill">G21
G90
G1 X0 Y250 Z200</script>
</scripts>
</printer>
Weitere Infos zur Bedienung findet Ihr hier: http://www.repetier-server.com/manuals/0.50/index.html

Schritt 4 Webcam-Server motion einrichten:

Als Webcam-Server für die USB-Kamera verwende ich motion. Vorraussetzung hierfür ist, dass die Webcam als Video4Linux-Gerät zur Verfügung steht.

Update:
Wer die onBoard-Camera des Raspberrys verwenden möchte, findet im folgenden Thread eine Beschreibung von Schnibli: http://www.rf1000.de/13/650?start=12#p6379 ... Diese basiert auf einem speziell für die PiCam angepasste Version von Motion: https://github.com/dozencrows/motion/tree/mmal-test

Ansonsten geht es mit V4L-Kameras hier weiter:

Ihr könnt dieses nach Anschluss der Kamera prüfen, indem ihr folgenden Befehl eingebt:

Code: Alles auswählen

sudo ls /dev/video*
Erscheint ein z.B. /dev/video0 dann steht die Kamera zur verfügung, ansonsten muss diese durch zusätzliche Treiber, etc. noch eingerichtet werden. Da es zuviele verschiedene Kameras gibt, kann ich hier nicht näher darauf eingehen. Vielleicht helfen folgende Links weiter:
http://www.linux-drivers.org/usb_webcams.html
http://tldp.org/HOWTO/Webcam-HOWTO/hard ... .de/Webcam

Zur Installation vom Paket motion bitte folgende URL eingeben:

Code: Alles auswählen

sudo apt-get install motion
Auch diese muss Konfiguriert werden:

Code: Alles auswählen

sudo vi /etc/motion/motion.conf
Folgendes sind meine Einstellungen welche je nach Kamera und Wunsch von Euch noch angepasst werden müssen (insbesondere die Fett markierten Zeilen:

Code: Alles auswählen

daemon off
setup_mode off
[b]videodevice /dev/video0[/b]
v4l2_palette 8
input 8
norm 0
frequency 0
rotate 0
[b]width 960
height 720[/b]
framerate 2
minimum_frame_time 1
netcam_tolerant_check off
auto_brightness off
brightness 128
contrast 0
saturation 0
hue 0
roundrobin_frames 1
roundrobin_skip 1
switchfilter off
threshold 1500000
threshold_tune off
noise_level 32
noise_tune on
despeckle EedDl
smart_mask_speed 0
lightswitch 0
minimum_motion_frames 5
pre_capture 0
post_capture 0
gap 60
max_mpeg_time 0
output_all off
output_normal on
output_motion off
quality 75
ppm off
ffmpeg_cap_new on
ffmpeg_cap_motion off
ffmpeg_timelapse 0
ffmpeg_timelapse_mode daily
ffmpeg_bps 500000
ffmpeg_variable_bitrate 0
ffmpeg_video_codec swf
ffmpeg_deinterlace off
snapshot_interval 0
locate off
text_right %Y-%m-%d\n%T-%q
text_left 3D-Drucker
text_changes off
text_event %Y%m%d%H%M%S
text_double off
target_dir /home/
snapshot_filename %v-%Y/%m/%d/%H/%M%S-snapshot
jpeg_filename %v-%Y/%m/%d/%H/%M%S-%q
movie_filename %v-%Y/%m/%d/%H/%M%S
timelapse_filename %Y%m%d-timelapse
[b]webcam_port 81[/b]
webcam_quality 50
webcam_motion off
webcam_maxrate 1
[b]webcam_localhost off[/b]
webcam_limit 0
[b][b]control_port 82
control_localhost off[/b][/b]
control_html_output on
[b]control_authentication username:password[/b]
quiet on
Bitte bei den Einstellungen daran denken, dass je mehr Leistung Ihr für die Webcam durch höhere Auflösung und Framerate benutzt, desto weniger bleibt für den Repetier-Server übrig, was zu Störungen führen kann.

Zuletzt müsst Ihr noch den Motion-Daemon aktivieren indem Ihr in den Start erlaubt:

Code: Alles auswählen

sudo vi /etc/default/motion
dort start_motion_daemon=yes setzen. Zum schluss noch folgende Befehle ausführen um motion sicher zu starten

sudo update-rc.d motion defaults
sudo service motion start
Das sollte es gewesen sein. Viel Spass



Nachtrag :

Wenn die Verbindung zum RF1000 Probleme machen sollte, kann es an mangelnden Rechten liegen. Hier hilft folgender Befehl:

Code: Alles auswählen

sudo chmod 666 /dev/ttyUSB0