Seite 3 von 3

Re: Repetier.Server

Verfasst: So 4. Okt 2015, 17:02
von T1230
Hallo ihr,

ich habe eine Frage zum Repetier Server:

ich Drucke mittlerweile nur noch über den RepServer (läuft auf einem Raspi2), aber ich würde trotzdem gerne per API
einige Eingriffe vornehmen (z.B.: Bett vorheizen, usw.)

Am liebsten wäre es mir, wenn ich das mit einem html Aufruf machen könnte (was laut Doku möglich sein sollte),
aber irgendwie funktioniert folgender Aufruf nicht:

http://192.168.1.18:3344/printer/send/R ... key=XXXXXX

Ich nehme an, dass ich nur einen SyntaxFehler mache, leider finde ich weder in der Dokumentation, noch im restlichen Internet Beispiele
für so einen Aufruf. Auch verschiedenste Versionen des Aufrufs habe ich probiert, z.B. ohne bzw. ohne und mit Space beim gcode

Der Drucker antwortet auf jedenfall, so wie in der Doku beschrieben, mit {} - aber der Bed-Temp Befehl wird nicht ausgeführt

Hat sich schon jemand damit beschäftigt?

Danke schonmal fürs Lesen / helfen
LG Thomas

Re: Repetier.Server

Verfasst: So 4. Okt 2015, 17:22
von schnibli
Ich glaube wenn man Webcam und Repetier-Server auf dem gleichen Raspi installiert kann es sehr schnell dazu kommen das dieser überlastet ist (sofern man ein "Live Video bild" erhalten möchte und nicht einzelne Bilder.

Ich habe 2 Raspberrys für den Drucker geopfert,
1 x Repetier-Server
1 x Kamera-Server inkl Lampensteuerung um auch in der Nacht was zu sehen

So hatte ich noch nie das Problem, dass der Rf1000 geruckelt hat.

Re: Repetier.Server

Verfasst: So 4. Okt 2015, 21:16
von T1230
Hallo Schnibi,

ich glaub zwar nicht, dass sich deine Antwort auf meine Frage bezieht (da ich auch 2 getrennte raspis verwende, aber eher aus
Secuity Gründen - der Repetier-Webserver ist leider ziemlich unsecure...), aber für alle die es interessiert:
ich hab das mit der API hinbekommen, mein Denkfehler war, dass http Aufrufe nur zum Abrufen von Daten verwendet werden können.

Zum steuern des Druckers muss man mit websockets arbeiten:

Am raspi:
sudo pip install websocket-client

und ein kleines Testbeispiel von mir:

vi ws_homeall.py

#!/usr/bin/python

from websocket import create_connection
ws = create_connection("ws://192.168.1.18:3344/socket/")
print "Sende...:"
ws.send("{\"action\":\"send\",\"data\":{\"cmd\":\"G28\"},\"printer\":\"RF1000\",\"callback_id\":945}")
print "Gesendet"
print "Empfange...:"
result = ws.recv()
print "Received '%s'" % result
ws.close()


wobei der Teil bei ws.send so viele " enthält, weil man die \ escapen muss,
so schaut die syntax ohne escapen aus:
{"action":"ping","data":{},"printer":"MyPrinter","callback_id":545}


LG Thomas