Anleitung: Repetier-Server auf Raspberry PI
Verfasst: So 3. Mai 2015, 18:40
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:
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)
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:
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:
Dann noch die Firmware updaten:
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
"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.
Die onBoard-Camera ist zwar schön, aber zur Zeit noch nicht für motion zu gebrauchen. Also deaktivieren.
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)
Name des Raspberry im Netzwerk
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:
Nun muss das ganze noch konfiguriert werden. Die Basis-Einstellungen können mit
verändert werden. Wichtig ist der Port für die Weboberfläche. So sehen meine Einstellungen aus:
Zuletzt muss noch der Dienst mit folgendem Befehl sicher aktiviert werden:
Wenn Ihr nun vom PC-Browser die IP-Adresse vom Raspberry eingebt, solltet Ihr folgenden Bildschirm zu sehen bekommen:
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):
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:
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:
Auch diese muss Konfiguriert werden:
Folgendes sind meine Einstellungen welche je nach Kamera und Wunsch von Euch noch angepasst werden müssen (insbesondere die Fett markierten Zeilen:
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:
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:
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
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
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
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
Code: Alles auswählen
sudo rpi-update
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
Code: Alles auswählen
Enable Camera
Code: Alles auswählen
Overclock
Code: Alles auswählen
Advanced Options -> Hostname
Code: Alles auswählen
Advanced Options -> Memory Split
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
Code: Alles auswählen
sudo vi /usr/local/Repetier-Server/etc/RepetierServer.xml
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>
Code: Alles auswählen
sudo update-rc.d RepetierServer defaults
sudo service RepetierServer start
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>
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*
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
Code: Alles auswählen
sudo vi /etc/motion/motion.conf
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
Zuletzt müsst Ihr noch den Motion-Daemon aktivieren indem Ihr in den Start erlaubt:
Code: Alles auswählen
sudo vi /etc/default/motion
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